There is not much information available, I’ve been doing some reverse engineering but takes some time and trial an error.
From HW point of view, motors are having direct control with the Step control lines, while all the rest of the information ( sensors, temperature control, etc … ) goes through the Can-Bus. In order to understand the protocol used, you need to go to the source code ( FYI:Source code of Snapmaker Firmware ) and that is a heavily modified version of Marlin. I’m trying to get out at least the GCodes available, but again is quite a time intensive task.
To modify the FW is feasible (I’ve already compiled it successfully ) but then the challenge remains to upload it into the printer as it’s package together with the Display/modules updates ( I think a found a way to do it but requires HW modifications to access the Snapmaker MCU and still need to test it ).
So, the simplest ways to modify your Snapmaker are two now:
(1) Either you select compatible components to substitute the actual ones: fans, hot-end, motors, …
(2) Or reuse the actual control PCBs in the modules to interface to totally new components and do some HW hacking to make what you want ( e.g. create a small interface PCB to get adapt a more powerful hotend - Titan Aero - while cheating the FW to think is still their hot end )
The route (1) can now give the most benefit with less effort as I’ve already identified several ‘easy’ upgrades ( the fans are the one I’ve already published but others I have on the works ) . @SchmittisDE, if you let me know what are interested in modifying, I might be able to help/share what I’ve already got