The TinyBoy2 is a Indiegogo backed 3d printer. On the plus side, it is very small (16×18 cm² desk space), and it does it jobs.
Like a lot of crowd funded projects, there is essentially no after campaign support. The firmware is a hacked version of Marlin 1.1.0-RC3. The code for the firmware which is shipped with the hardware is supplied as a code drop, but there is no changelog, and the diff to the upstream RC3 contains a lot of awkward changes, e.g. changes to the display SPI code, although the TB2 display uses I₂C. The diff between the code drop and RC3 is 53 files changed, 2196 lines removed, 2072 lines added.
As I wanted to update my printer to a recent firmware (RC3 was tagged December 2015) to get all the new features and bugfixes, and also to change the FW behaviour, I started with the current Marlin GIT, and added the necessary changes on top.
The nice part is that current Marlin is completely capable to drive the printer, support is mostly added by creating a suitable Configuration and setting the right pins for steppers, PWM, encoder and so on. The changes have been submitted upstream, or you can just pull the patched tree from my Marlin github repo.
Download the compiled firmware
In case you do not want to compile the FW yourself, I have prepared 4 variants: L10/L16, both with and without heatbed support:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 bd1af0b14e81c344d5ecac27a7c8ba09aaa96a0c Marlin_TB2_L10_HeatBed.hex fd754b2b9f0ff7271eb53c9cc9f022eee1b247b8 Marlin_TB2_L10.hex f330e4ec2a3fcc32510c15b8f9c776731aa98598 Marlin_TB2_L16_HeatBed.hex cc239598f0fe9ba0ccccb31b007c896c1595dea9 Marlin_TB2_L16.hex -----BEGIN PGP SIGNATURE----- iF0EARECAB0WIQSwWRWIpJbl0W4DemNvf0o9jP6qUwUCWM3KjQAKCRBvf0o9jP6q U4HkAJ9GOBOmfTw1XUSQlTs745P7qKvO2wCfY/xWHpbGTfzuS7GZLDvTPnEjc7I= =ce7+ -----END PGP SIGNATURE----
Flashing the firmware
Although it is possible to use Arduino to flash the firmware, I consider it much to bloated for the task, and as it uses avrdude behind the curtains, I prefer to call avrdude directly:
Backup shipped FW (sorry, not verified):
avrdude -p m1284p -b 57600 -c arduino -P /dev/ttyUSB0 -U flash:r:Backup.hex:i
Update to new FW:
avrdude -p m1284p -b 57600 -c arduino -P /dev/ttyUSB0 -U flash:w:Marlin.hex
(Update 2017-03-19 18:49 UTC: Added flashing paragraph)