The 3D Printer Revival Project
One of my grandchildren started to show interest in nerdy pursuits and wants to learn how to use a 3D printer. I have an old printer that I bought in kit form in 2018 from a Chinese company Flsun. I used it for a while but then the extruder died. I ordered a new extruder but I lost interest and never bothered to finish repairing it. I decided to update it and pass it to my grandson.
Existing Printer #
This is a Prusa MK3 clone that looks like this:
Motherboard is Makerbase MKS Gen_L V1.0:
with ATMEGA2560 processor
If has an LCD controller with an SD card slot:
Installed firmware is Merlin 1.1.9. It seems the printer came with firmware version 1.1.2, but at some point I updated it to 1.1.9 without keeping track of changes.
Chasing information #
Motherboard #
Makerbase GiHub repository has all the information about the motherboard hardware.
I have included the schematic here for reference.
The stepper motor drivers
have a confusing marking “BT7221A” but the chip is marked “HR4988” so it is probably an A4988
Moreover, the markings on the side match those of an A4988 driver:
LCD controller #
Is a clone of the RepRapDiscount Smart Controller:
Marlin Software #
Marlin firmware is currently at version 2.1.2.7. I want to update it but first I would like to download existing firmware which works rather well.
Downloading previous code #
While you can upload a new firmware using the Arduino bootloader, downloading from flash requires an AVR ISP (In-System Programming) device. The preferred tool for accessing flash memory is AVRDUDE.
For an ISP, I was looking to get the Pololu USB AVR Programmer. However, the electronics corner store where I usually shop, didn’t have it in stock, so I’ve got a clone of USBasp.
When I plugged it in on a Windows 10 machine, it couldn’t find a driver. It turns out there are no signed drivers for it so you need to use a tool called Zadig to install the driver1.
The next hop was to hookup the 10-pin connector to the 6-pin one on the motherboard. Some jumper wires took care of that:
The command to download the firmware is:
avrdude -p m2560 -c usbasp -U flash:r:flsun.hex:i
Segal’s Law #
According to Wikipedia, Segal’s Law says:
A man with a watch knows what time it is. A man with two watches is never sure.
Being unhappy with the jumper wires arrangement, I went back to the electronics shop and this time I found the Pololu AVR programmer. It has drivers for Windows 10, so installation was a breeze. I downloaded again the firmware; this time the command is:
avrdude -c stk500 -p m2560 -P com4 -U flash:r:flsun.hex:i
That created another hex image file, but surprise: the files are completely different. So I’m left with 2 watches, scratching my head and wondering which image is good.
… to be continued …
Apparently is better to use
libusbKthanlibusb-win32. I didn’t check myself,libusbKworked fine. ↩︎