cancel
Showing results for 
Search instead for 
Did you mean: 

I have a working 3D printer, and an identical non-working one with a blown STM32F070CBT6. Can I extract the firmware from the working one?

JMora
Associate

I bought a second non-working used 3D printer with the expectation of repairing it. Turns out the MCU was destroyed - it actually had holes blown in its casing! I bought a few new MCUs of the exact same type, and replaced it. I can successfully put this replaced MCU into DFU mode, but my attempts to take the mfg’s “.bin�? firmware update file and covert it to “.dfu�? and load it have so far proven non-viable. Is it possible to put the working printer’s STM32F070 into DFU mode, read out the *entire* loadable code into a file, and then load that file into the newly replaced MCU on the other printer? What tools would be used to do this? Sorry for the noob question, I have little or no experience with these devices or tools - but I am enjoying the learning experience!

4 REPLIES 4
S.Ma
Principal

This is a thread which popped around a year ago. If the MCU internal user memory can be programmed, say by ST Link from a bin file (such as mBed mecanics), it can also be retrieved from the MCU memory... unless it has been memory protected for IP protection against clone makers. (level 1 or 2).

In this case, reprogramming maybe possible after full mass erase.

Jeroen3
Senior

See if the board has a header for a ST Link. Then just connect and dump the flash.

Connect the same ST Link to the empty chip en program that same dump.

It will also give you an error if protection is enabled, in which case you can probably stop your efforts. Or ask the manufacturer for it, or programmed parts. Or ship the board to one of those firmware extraction companies that say they can read them all.

JMora
Associate

Thanks, guys! There is a 4-pin GPIO header, but I don’t think there is any other service port. It has USB (over which DFUse does work OK in DFU mode), and a UART over which it speaks to the LCD control panel. is there no way to dump the entire contents of flash memory over USB while in DFU mode?

The manufacturer sells the entire board for $50, but the blank MCU only cost $3. I haven’t asked if they’ll sell programmed parts, that might be another path to repairing this printer - but that method has little educational benefit.

if there’s no other way, perhaps I can locate the necessary pins for ST-Link and solder wires temporarily.

DfuSe Demo should be able to pull firmware (upload)

The STM32 Cube Programmer should also be able to facilitated the pull via USB/DFU.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..