Total time spent: 13 hours 45 minutes
7/07/2025 - Begin PCB design
For the PCB design, I am using KiCad with a few components imported from SnapEDA. I have named XYmatics-Alpha's mainboard E64 (Engine64). It utilises a CM4/CM5 compute module running Klipper firmware to control the main MCU - an STM32F407. Like most Klipper systems, the compute module does not directly control the motors, sensors, etc, and instead outputs commands via USB to the STM32. I have completed desigining the Compute module side, and just need to complete the STM32 and other components. Below is an image of the CM4 schematic.
(Excuse the resolution, you can view a PDF of the schematic here.)
Total time - 45 minutes
14/07/2025 - Finish STM32 schematic and begin X42 schematic
Today I have completed the schematic for the STM32F407. It has what most other 3D Printer mainboards have, but also includes 8 CAN FD bus ports for connecting expansion boards (XYmatics-X42). It uses the high-speed TJA1051T for CAN FD communication. 5 TMC2209 Stepsticks are used to drive the main stepper motors. 5 controllable fans are included, as well as another MOSFET for the heatbed. 3 endstops/switches are included to home the printer. The entire system runs on 24V, which is the standard for most 3D printer mainboards.
Total time - 2 hours 15 minutes
20/07/2025 - Finish X42 schematic
I have now finished the schematic for the X42. It is quite similar to the BIGTREETECH EBB42 and Mellow Fly SHT-42, but also contains a MOSFET to drive a laser engraver or router motor. Unfortunately, I haven't broken out a USB port yet (although I may fix this in the future). This means the only other way to flash Klipper is through an ST-LINK, or other JTAG/SWD programmer. You can obtain these through Aliexpress for <$2 USD. The X42 also doesn't use a Stepstick driver like the E64 mainboard, but has a directly soldered TMC2209 instead. After looking through the schematics one more time, I should be ready to start designing the PCBs.
Total time - 2 hours
23/07/2025 - Update on X42
The X42 PCB is about 75% completed, I just need to route the components for the CNC router/laser. Due to the limited amount of space on the PCB, some of the components are mounted on the back side (currently just the power supply and regulators). So far the CAN BUS, SWD, Stepper motor, Thermistor, Hotend, Fans, I2C Bus and Buttons have been placed and routed. Unfortunately, I have temporarily removed the Neopixel and BLTouch breakouts due to the lack of space, although I may re-add them later on. Below is an unfinished 3D render of the X42 PCB:
Total time - 1 hour 45 minutes
25/07/2025 - Finish X42 PCB
I have now finished designing the PCB for the X42. All GPIOs/breakouts are on the front side, while the power supply and ADXL345 are mounted on the back. Endstops have also been removed due to the small amount of remaining space. This will be added in the first revision. I will begin to route the Raspberry Pi components on the E64, starting with the power supply. Below is a completed 3D render of the X42 PCB:
Total time - 2 hours
31/07/2025 - E64 PCB complete
6 days later, the E64 PCB has been finished. Please note that the RPI-GPIO isn't fully broken out, only +5V, +3.3V and I2C Bus have been. Notice how the RPI electronics are on one side while the F407 is on the other, this is to reduce complications with the design. 3 M3 mounting holes have been placed in the corners. The rough dimensions of the board are 192x98mm. The next step is to write the firmware for Klipper, which shouldn't be too hard. Here is a 3D render of the E64 PCB:
Total time - 3 hours