CM4 MATX
This project has been archived.
Due to a few different reasons, I have decided to archive this project. There's a few different reasons, but mainly that I don't think the CM4 is an appropriate platform for this kind of board. The CPU doesn't really have enough power to utilize the kind of IO that this board would provide it with, combined with the different limitations of using PCI-e switches. This, combined with the fact that I don't have as much time as I'd like to spend on this project, I've decided to leave it be for now.
I'm not aware at the time of writing of any similar projects, but I'll be leaving this one up for folks to take resources and inspiration from.
The original readme is below for archival purposes. So long, thanks for all the fish, and may you have the best of luck in your projects!
/TheGuyDanish
Welcome! CM4 MATX is a project aiming to create an open source, micro-ATX standard-compliant motherboard for the Raspberry Pi Compute Module 4.
The intent behind this is to provide a motherboard that can be installed in a regular case, as well as provide more, or easier access to, potential IO, as well as using a standard 24-pin ATX power supply. This project uses much of the CM4 IO board as its reference design, with new features added onto the board.
The current design goals are as follows:
- Use a standard mATX form factor (244*244mm) and mounting holes
- Provide dual rear-panel USB ports via USB2514B/M2 USB Hub
- Provide an internal USB expansion header for front-panel USB ports
- Provide a standard gigabit Ethernet interface for the rear panel
- Provide stacked dual HDMI outputs on the rear panel
- Provide stacked dual HDMI inputs on the rear panel, with the aid of the Toshiba TC358743 CSI2-to-HDMI bridge IC
- Where reasonably possible, expose the dual DSI headers
- Provide rear-panel acess to other RPI staples, such as SD card and 40-pin GPIO headers
- Via the PI7C9X2G404SL PCI-e switch IC, provide three lanes of PCI-e Gen 2.0 to host multiple expansion cards. These will be x16 slots, wired x1 electrically, to reduce the need for adapters
- Via the PI3PCIE2215 PCI-e mux IC, offer the user the choice between a physical PCI-e slot, or an NVMe slot using one of the downstream PCI-e lanes from the above switch.
Help Wanted
Update: We have reached a state where we feel comfortable beginning to route the different features of the board. If you have experience with routing PCBs, you are very welcome to download the Kicad files and have a look for yourself. If you have any questions, feel free to join us on Discord if you have any questions and would like to reach out to me directly!
I (TheGuyDanish) am not an experienced board designer, nor a whiz at electronic schematics. That's why I am posting this to Github. I'd love for other hobbyists to join this project. Not just to correct my inevitable mistakes, but also to suggest new features that would make this board even better.
For technical specifics, the KiCad project was made in version 5.1.8 stable. All components not found in the standard KiCad library are included in the CM4_MATX.pretty folder (PCB footprints) and CM4_MATX.lib (schematic symbols) file.
Please see CONTRIBUTING.md for more information!
If you have the technical skills to improve this schematic, I do implore you to make a copy of the repository, make your changes and submit them in a pull request.
If you have ideas you would like to add to the design goals, please submit them in an issue so they can be discussed.
Lastly, huge thanks to volkertb, UnKnoWn-Consortium, mo-g and geerlingguy for the discussion of this in geerlingguy/raspberry-pi-pcie-devices#19 that spawned this effort.
License
NOTE: Some models, schematics, and/or footprints, are provided by individual manufacturers. As such, all terms and conditions for use, as well as licensing, falls to these original manufacturers. For more information, please inquire with the original component manufacturer or raise an issue here.
Copyright Oliver MΓΈller/@TheGuyDanish 2020.
This source describes Open Hardware and is licensed under the CERN-OHL-P v2
You may redistribute and modify this documentation and make products using it under the terms of the CERN-OHL-P v2 (https:/cern.ch/cern-ohl). This documentation is distributed WITHOUT ANY EXPRESS OR IMPLIED WARRANTY, INCLUDING OF MERCHANTABILITY, SATISFACTORY QUALITY AND FITNESS FOR A PARTICULAR PURPOSE. Please see the CERN-OHL-P v2 for applicable conditions