Infitary 3d printer HBi3 (aka old M508) – new Marlin firmware and settings
So, after a year of using mention printer it’s high time to do some firmware tweaking (despite all additional, already printed goodies for the printer itself). My Infitary set came with SD card, on which came also Marlin firmware source code for this printer. Because of it, we have, let’s say “configured” firmware. It’s too old to use now, but all we really need is Configuration.h and Configuration_adv.h files.
Now just a quick info. It looks like Infitary came with slightly newer version of the printer, it’s now called M508. The main difference is in the board – it looks nicer, is more colourful and it is also Ramp 1.4 now. In git repository of Marlin we cane find config files for this printer – but they will not work out of the box for my older model. I’m not sure, if it’s a proper name, but let’s call it (like in the auction I bought it) Infitary HBi3 (Prusa). The other visible thing, that has change, is the case for power supply.
What we could gain?
The real question is, if there is a need for such an update. I can’t say it’s extremely necessary, since I was able to fix/tweak all the main problems with slicer and starting/ending scripts but there are few annoying misconfiguration in provided firmware:
- the bed size, end stops and start position is badly defined in original firmware. The nozzle X0, Y0 position is just as end stops – out of the bed.
- acceleration and jerk for X, Y axis is much to high (default acceleration is 3000, jerk 20; in my case best results are with acceleration somewhere around 1200 and jerk 10)
- EEPROM configuration is not enabled (to store settings)
- no filament change option (just pause)
- max bed temperature could be higher (if you provide insulation, use external relay of bigger MOSFET it can go up to 130C, but firmware limits it on 115C)
- with my belt (that came with printer) steps are a bit inaccurate (20mm cube has about 19,5mm after printing)
- homing often catch clips, that I’m using to hold my glass plate (because it moves Z=0 first, and then moves X and finally Y)
- upload gcode to SD card doesn’t work (yes I know, if it works, it’s slow 🙂 )
And yes, we can fix all this things 🙂
So let’s get started…
First it’s always better to do backup :). Se we can do a binary copy of our current firmware with ‘avrdude’ tool. You can install it from Linux repository (Debian in my case) or use one provided with Arduino IDE – you need to get it anyway, to upgrade firmware.
To do backup of the firmware:
avrdude -p atmega2560 -P /dev/ttyUSB0 -c stk500v2 -b115200 -F -U flash:r:factory_firmware.hex:i
To restore firmware from file to printer:
avrdude -p atmega2560 -P /dev/ttyUSB0 -c stk500v2 -b115200 -F -D -U flash:w:factory_firmware.hex:i
Of course You will have to change /dev/ttyUSB0 to something relevant in your case (on Windows some comXX).
Now when we are “safe”, it’s time to prepare environment.
- First, you will need to install Arduino IDE – if not already installed. I do not recommend using Debian distribution package – because it’s old, too old. Just download proper archive from Arduino homepage.
- Secondly you need to download Marlin repository, preferably just use git
sauron@sauron:/tmp/cos$ git clone https://github.com/MarlinFirmware/Marlin
Cloning into 'Marlin'...
remote: Counting objects: 75441, done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 75441 (delta 0), reused 2 (delta 0), pack-reused 75431
Receiving objects: 100% (75441/75441), 50.72 MiB | 11.28 MiB/s, done.
Resolving deltas: 100% (49237/49237), done.
- Now you need to change configuration files (Configuration.h and Configuration_adv.h) in Marlin directory
- Open Arduino application, set in Tools->Board to “Arduino Mega 2560” and also in Tools->Programmer to “AVR ISP”
- Open Marlin/Marlin.ino from cloned GIT repository (it should all look like on the picture on the right)
- and upload it to the printer!
#error “You are using an old Configuration.h file, update it before building Marlin. Any Idea how i could fix this?
Marlin is now 1.8 and you need to update config files to proper format – but no worries, I did it already two weeks ago for myself 😉 – and updated links above now – cheers!
Yes! Uploaded right this time! Tnx! Hope you just saved me!
My homings doesn’t seems to work, the extruder crashes right away. Any advice on this subject? Would be perfect!
Are you sure you have HiB3? What you are saying, looks exactly like M508 would behave with this settings (reverted axis) or if you haven’t moved config files to proper place (overwrite existing one).
Easy way to be sure if proper config file was inherited – after printer boots itself, lower part of the screen should say “Infitary HBi3 ready.”
Thanks again for responding. The upload was complete because i got the Infitary HBi3 Ready in the screen. It seems the axis have been reverted. Any quick solutions to this maybe?
Ok. If so – perhaps this is a bit different infinitary printer – but it’s easy to fix. Check which axes are inverted (just do a small step in your slicer or send Gcode to see). Then find in Configuration.h these lines:
#define INVERT_X_DIR false
#define INVERT_Y_DIR true
#define INVERT_Z_DIR false
and correct them as it fits you.