Some time ago I got nice, small 3D printer Cube3 by Cubify.

When I started to use it, I have found that actually amount of filament in original cartridges is not so big in comparison to available on the market. Next problem was the price of original cartridges and last what appeared after some time original filament are very bad quality. They were constantly breaking what causes that I have to disassemble cartridges and clean broken filament from needle.

All these experiences with Cube3 convinced me that I have to find some solution for original cartridges which are secured with DS28E01 1-wire memory with SHA-1 engine. Unfortunately there is no any full datasheet available for this specific chip, but after some time I have found full documentation to DS1963S memory, which occurred to be similar to DS28E01 according to SHA-1 mechanism: DS1963S.pdf.

Of course I would not be myself If I will not check how pcb board of this printer is constructed (any debug connections?). So I decided that I will open it and check electronic board. It appeared that electronic is powered by PIC32 processor, it uses Microchip WiFi module for network communication, 4GB microSD card for storing stl files and settings, and what was surprise for me and steel this is mystery – it have bluetooth module ?!


Description of ICSP and UART connections on PCB:

J11:
1 – MCLR
2 – VCC
3 – GND
4 – PGED
5 – PGEC
6 – NC
J19:
1 – VCC
2 – GND
3 – SCL3/SDO3/U1TX/RF8
4 – NC

Of course after some investigation I have found 2 debug ports, one is UART output (used for some kind of tracing) and second SWD programming interface. After connection of J-Link debugger I was able to read RAM memory. Firmware I already had, I got it using same method which is used for Cube 3 firmware hack described by bolsoncerrado at http://www.print3dforum.com.

That moment my Cube 3 hacking started, I have decided that I will not hack firmware but I will make separete device to program DS28E01 memory. After 1 month of work I finally constructed ReCube v0.1

Here you can find movie from first usage of ReCube v0.1: