3D Printer Adventure – I’m starting to win.

Remember in the last post I was going to flash my 3D Printer but decided to just get a 32bit board? Well I decided to flash the original board. Reason being I wanted to try out Klipper and if I screwed up I would of had to buy the 32bit board.

It was a fight but I got it working.

The board my Ender 3 came with was the 1.1.4 8bit Board that has the ATMega 1284p. Had to “Put a boot loader on it” as everyone says you have to do before flashing it. Not really putting a boot loader on it but changing the boot loader to the Arduino Optiboot. This took a couple of hours to do because every video and article I read was wrong. I first tried using the USBasp method but the Ardunio IDE didn’t want to see it and the only Ardunio board I have is the Mega2560.

So with the Mega2560 I flashed on the ArduinoISP Sketch and installed the Sanguino Board profile and the U8glib library. I made a wire hardness so I had a five pin cable that went like this for the ICSP pins.

ICSP Pinout

3D Printer  | Arduino Mega2560
MOSI        - MOSI
SCK         - SCK
MISO        - MISO
GND         - GND
5V          - 5V

I attempted to “burn the boot loader” but it would fail. I doubled and tripled checked my settings and wiring and no luck. I then decided to do it my way and started to read the ArduinoISP sketch and see if something was off since I was using a Mega2560 instead of a Uno. Everything looked good but I kept seeing about the reset pin. So I added another wire to the Reset on the 3D Printer’s ICSP and connected to D10 on the Mega2560. I crossed my fingers and tried burning the boot loader and it finally worked.

ICSP Pinout

3D Printer  | Arduino Mega2560
MOSI        - MOSI
SCK         - SCK
MISO        - MISO
GND         - GND
5V          - 5V
Reset       - D10

No additional Cap was needed on the Mega2560 going across 5V and Reset either.

Another thing that isn’t told to you when you put on the Optiboot bootloader. It makes the board unbootable until you put on a new firmware. I tossed on Marlin 1.1.9.1 and got the Printer working again. I connected the USB Cable directly to the printer and Laptop. I moved the example config for the Ender 3 to the main directory to Marlin and loaded up the Marlin.ino file in the Arduino IDE, changed the settings to use the following.

Board: "Sangunio"
Processor: "ATmega1284 (16MHz)"
Port: "/dev/ttyUSB0"
Programmer: "AVRISP mkII"

Uploaded the firmware and got back to normal. The hard part was done and I was able to get Klipper on the 3D Printer and got it to work with OctoPrint. I just followed the guide for Klipper and it was good to go. I haven’t done a test print yet. By time I got the Printer running Klipper I had to go do stuff with the family.

With Klipper I really don’t need to get a 32bit board since the Pi does the heavy lifting. If I was to get a new board it would just be for the better stepper drivers to make it more quiet.

Another thing when I got Klipper working I also installed the OctoKlipper Plugin in OctoPrint. This adds more control and features for controlling the 3D Printer.

So in a nutshell I installed the Arduino IDE. Installed the U8glib library, added the Sangunio board, uploaded the ArduinoISP sketch to the Arduino Mega2560. Made a custom cable for the ICSP pins, flashed the Boot loader onto the 3D Printer, Uploaded the Marlin 1.1.9.1 firmware to the Printer. Installed Klipper on the Pi that already had OctoPrint installed on and uploaded the Klipper firmware to the Printer then installed the OctoKlipper Plugin.

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s