Upgrading firmware on Linux

I am not an Arduino person, and RAMPs and RAMBo all give me a headache.

The instructions at Upgrading firmware v1.2 give only instructions for operating systems using the Darwin and NT kernels.

How do I do this through a Linux host?

Answer this question I have this problem too

Is this a good question?

Score 0
Add a comment

3 Answers

Most Helpful Answer

If you have AVRdude installed, you can run a command similar to this (depending on the filename of the firmware):

avrdude -v -p m2560 -c wiring -P /dev/ttyACM0 -U flash:w:/home/sean/Downloads/prusa3d_fw_mk3- -D

I just successfully upgraded the firmware on my MK3 using the latest hex file from https://github.com/prusa3d/Prusa-Firmwar...

Was this answer helpful?

Score 1


Just used that very command. Worked like a charm.


Add a comment

I wasn't an arduino person til lately, either.

Arduino IDE is yet another development-environment (think AndroidStudio, Xcode, Visual Studio, ...), aimed at various incarnations of arduino hardware.

Your prusa uses a rambo incarnation of arduino hardware - rambo is made for use with 3d-printers.

The rambo hardware runs marlin-based firmware.

Grab arduino version 1.6(.0) from ~ http://arduino.cc

Grab prusa-sources on github https://github.com/prusa3d/Prusa-i3-Plus

If you've got arduino 1.6 & the github repository locally, copy the ArduinoAddons/Arduino_1.6.x/hardware/marlin directory into your install-directory for arduino 1.6/hardware directory.

Once you copy that marlin directory, you may need to restart arduino ide, & now under Tools->Boards, you should select RAMBo.

You also may need to rename the arduino IDE install-path Arduino/libraries/LiquidCrystal/src to ...LiquidCrystal/src-tmp (as of this writing, to avoid a compile-time name collision with the current prusa github repository).

You will find a Prusa-i3-plus-master/Firmware/build.sh script.

This script builds the entire universe of prusa firmwares.

If you choose to use this, you will wish to modify build.sh's various hardcoded paths to reflect your environment.

If you wish to use the arduino IDE to build for only your single prusa version-target, you may copy your chosen version from Firmware/variants/ (ex.: 175-RAMBo1-3a-en.h) into Firmware/Configuration_prusa.h

There are (currently) 4 rambo hardware versions - refer to the diagrams at the bottom in the Firmware section as http://www.prusa3d.com/drivers/ to determine your version.

arduino IDE File->Upload sends your built firmware to the rambo. Upon upload, the screen on my prusa looked crazy (overwrote the character sets memory or so?). I waited a few minutes, then cold-rebooted the machine, & was up to version 2.2.3b.

You may also find some useful information in the comments about win 10 source-build that I wrote, at the bottom, over here:

Update RAMBo mini firmware (OLD method)

Hope this is helpful/time-saving, I just figured this all out lately too...


Was this answer helpful?

Score 0
Add a comment


here is what i do on my linux host yesterday for last firmware upgrade:

sudo apt install avrdude

check if my user is in dialout group (cause /dev/ttyACM0 is owned by root:dialout):

erics@quad ~ $ id
uid=1000(erics) gid=1000(erics) groupes=1000(erics),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),108(netdev),110(lpadmin),113(scanner),119(bluetooth),127(Debian-gdm)

then add my user (my login is erics) to dialout group

erics@quad ~ $ sudo adduser erics dialout
Ajout de l'utilisateur « erics » au groupe « dialout »...
Adding user erics to group dialout

then logout / login again via gdm/other (because new membershit group is readed at login), and then flash the firmware

avrdude -P /dev/ttyACM0 -b115200 -D -Uflash:w:prusa3d_fw_3_1_2.hex -v -patmega2560 -cstk500v2

note: for next flash upgrade you just have to use the latest command, you user will already be in dialout group ...

Was this answer helpful?

Score 0
Add a comment

Add your answer

PappaD will be eternally grateful.
View Statistics:

Past 24 Hours: 0

Past 7 Days: 7

Past 30 Days: 31

All Time: 170