I wanted to update to the firmware on my printrbot simple metal to the latest as of this writing (August 7, 2015), for the Rev F version 5 boards on Mac osX.
Here's a handy download of the simple metal hex file.
There is a excellent write up on the whole process at http://thisoldspoon.blogspot.com/2015/03/updating-your-printrboard-firmware-os-x.html. But for brevity sake here is how to do it quickly on a Mac.
Download the following:
- Pre-configured Arduino build environment for compiling Marlin on a Mac with the Printrboard http://www.printrbottalk.com/wiki/index.php?title=User:PxT This also requires java, if you don't have it installed go to https://support.apple.com/kb/DL1572
- Grab the latest firmware files for your board version on their Github page: https://github.com/Printrbot/Marlin/releases
- Flash tool from Printrbot: https://printrbot.zendesk.com/hc/en-us/articles/202457834-How-to-Flash-Printrboard-Firmware
Once everything is downloaded we need to setup the Arduino app.
Start up the app and then go to the menu and choose Arduino > preferences. Next to the "show verbose output:" Make sure to turn on the "compilation" checkbox. Click "ok" to save the change.
Next set up the board that Arduino should use, "Tools > Board:" set to "usbtinyisp".
Now let's open the file to edit go to the firmware files you downloaded. For my particular case, I went to "Downloads > Marlin-RevF-Version-5 > Marlin" folder and double click the "Marlin.ino" file.
Go to the Configuration.h tab and scroll down to the line that says: #define TEMP_SENSOR_0 1. You want to change that "1" to a "5" So now it should read #define TEMP_SENSOR_0 5.
A few lines below change the max temperature for the hot end to 290, #define HEATER_0_MAXTEMP 275 to #define HEATER_0_MAXTEMP 290.
The last change to do is comment out #define ULTIPANE. Scroll down to line 457 and add '//' to the front of the Ultipanel line, change #define ULTIPANEL //the ultipanel as on thingiverse to //#define ULTIPANEL //the ultipanel as on thingiverse. Make sure to save the file after the changes.
Bonus from a member of the printrbot forum on facebook (Joe Nappi). Go to the tab tha reads config_adv.h and let's turn on the "heat Sanity check" by uncommenting it. Remove the "//" from lines 18 and 19 and save the changes after un-commenting them.
#define WATCH_TEMP_PERIOD 40000 //40 seconds
#define WATCH_TEMP_INCREASE 10 //Heat up at least 10 degree in 20 seconds
Go to the language.h tab and edit line 25 #define FIRMWARE_NAME "PB Marlin Rev F v5" to #define FIRMWARE_NAME "PB Marlin Rev F v5 modded 4/5/16" and save the file. This allows you to run the M115 command to display firmware info and ensure you're running the modified firmware.
Lastly, compile the source into a firmware file, by clicking the big checkmark in the upper left corner of the app. On the bottom of the app, you should see a bunch code scrolling by. Eventually it will stop and you have a hex file. The easiest way to get to the file is by using the terminal to copy it to the desktop. Open the terminal app by using spotlight and type out "terminal".
When it is open you want copy the 2nd to last line in the output window of the audrino app (this is the location of the output firmware file) and type the following in the terminal window cp */*/*/Marlin.cpp.hex ~/Desktop/Printrbot.hex
For example I did the following for my configuration:
cp /var/folders/s2/pvmb1wld19j9p8ht3llnpcsw0000gn/T/build3876152333868340870.tmp/Marlin.cpp.hex ~/Desktop/Printrbot.hex
With your new hex file, you can use the firmware update application you downloaded earlier. Please refer to step 3 of https://printrbot.zendesk.com/hc/en-us/articles/202457834-How-to-Flash-and-Configure-Printrboard-Firmware. You can follow the instruction on there for your machine. But quick overview is to first, make sure to short the boot jumper, which is located in the center of the board. If you don't have an extra jumper laying around, use folded aluminum foil. Start the firmware flash app you downloaded earlier and follow the command prompts from the application.