Close

A few updates coming

A project log for Chitu 3D Printer Mainboard Hacking

Studying the encryption on Chitu's 3D Print controllers

jc-nelsonJ.C. Nelson 06/03/2020 at 04:042 Comments

I discovered problems in my chitucypt script, and figured out why encrypted firmware didn't load more than once. It turns out, the firmware stores the file key in the I2C EEPROM, which is why if you attempt to flash the same data over and over, it won't. I've also found some truly odd behavior that I can work around by padding the EEPROM, but I can't explain. My suspicion is that the file key is not entirely random - it indicates something about the size of the file or the blocks. The problem with this theory is that i can roundtrip a Chitu firmware, flashing it with a truly random key, and it works.

I simply don't know, yet. I can't debug the board, but I binary patched the bootloader to replace error messages with some values, and I suspect something is going wrong with the CRC...I just don't know what yet.

Also, someone has successfully ported Marlin, using LCD and touch screen - 

https://github.com/MrPoke21/Marlin-Chitu-board-support

This is not my code, but I built it and flashed it using he STM32Cube programmer to 0x8000000 and it works. It's not the new Canvas based LCD code there's a PR out for, but it's Marlin, and it works.

Discussions

Eric Duncan wrote 06/27/2020 at 23:28 point

humm.  that github repo no longer exists.  DMCA perhaps?

  Are you sure? yes | no

J.C. Nelson wrote 06/28/2020 at 21:02 point

This code is 100% integrated with Marlin now, in the main repo. No need for stand-alone scripts. This project is complete!

  Are you sure? yes | no