December 31, 2013

Firmware Woes

Between transporting my 3D Printer back and forth from home and interfacing it with Octoprint on my Raspberry Pi, my Printrboard lost it’s mind. It no longer could interface with Repetier-Host on my Macbook. After detaching the board from the printer (no small task with it’s compact form factor), I attached the board to my Windows computer and via the Device Manager, discovered that the board was in DFU mode (basically it doesn’t know what it is and needs to be reprogrammed).

Image from Printrbot

As usual, I found the solution to be easier to implement through my Macbook (Linux would have been just as easy). Using the combined awesomeness of Homebrew and the DFU-Programmer formula, it was a breeze to reprogram the board with stock firmware.

Assuming a preinstalled/configured Homebrew setup, simply:

brew update

brew doctor

brew install dfu-programmer

These commands pull updates for pre-existing Homebrew assets and then ensure that your system is ready to install new formulas. Upon successful installation of dfu-programmer, the stock firmware was obtained from here. Having the .hex firmware file in a known location:

dfu-programmer at90usb1286 erase

dfu-programmer at90usb1286 flash <firmware_hex_file>

And with that, the firmware is reloaded and the Printrboard is ready to be fired up and producing prints. As expected, this same process could be used to upload alternative or modified firmware. Of course, caution should be taken with any firmware file not obtained via Printrbot or a known/trusted source as it could damage your hardware.

Future Posts

  • OctoPrint
  • Timelapse Printing