This post should evolve into a complete Spherebot summary of firmware and software available to date and is therefore WIP. If you have THAT solution feel free to drop me a message.
I have printed one of these Spherebot thingies lately. Printing went nice with my new grey PLA filament. The parts really look great despite some top solid infill tweaks to be done.
After assembling the bot I ran into several issues which I want to summarize in this post and possible give a solution to each specific problem. While searching the internetz I stumbled about alot of broken links, build logs, hardworking developers and a lot of solution tipps and tricks. Now I want to collect all these information, links, firmwares, tools and what have you and pack them into one post.
1) Uploading the sketch
Make sure your Arduino IDE installation is clean. Having multiple installations across your system can
fuck up confuse the compile as it is not psychic to guess which library on your system is the one you want it to use. So best pratice would be to completely uninstall all Arduino IDEs and also search your system for left over library directories.
NOTE: Despite Windows 10 improved a little bit on system search it still sucks ass. Big time. Best 3rd party tool to go is Everything.
2.1) Available firmwares
I have tried several firmwares. For now I am stuck with thunderbug1’s Spherebot firmware. Once uploaded and connected you get command and connection acknowledges as well as all the basic G-Code commands. Latest update is from April 2015.
Other firmwares haven’t been updated for years.
NOTE: Eggbot firmware does not work with Arduino as it is coded for some PIC32 MCU. Sure, why should you go with the most common MCU like the Arduino that probably sits in every electronic hobbyist’s household by the dozen and choose instead a PIC32 as the base of your product.
This is an overview of all to me known Spherebot firmwares:
|thunderbug1||April 2015||Most mature firmware; Arduino + common stepper drivers like A4988/DVR8825 etc.||github|
|zaggo||July 2011||Prehistoric; Does not compile with latest Arduino IDE; Beta Arduino IDE 0022 should do the trick. Possibly, perhaps, maybe…sort of.||github|
|cocktailyogi||Eggduino||June 2015||Trying to shed some light into the Babylon of firmwares and the absent of user -friendlyness, this firmware tries to take on the Eggbot approach which can be controlled directly from within Inkscape making these half-baked gcode senders obsolete. Definitly worth a try!!||Firmware: github|
2.2) Firmware configuration
- Thunderbug1’s firmware offers a nice extra config.h file in which you need to modify the pins to match your layout. Other firmwares will have them in their main sketch so make sure no matter which firmware you use to set the pins correct.
- As for the steps of your stepper motors you are good to go with the default settings most of the time. These should be 200 steps for most motors nowadays.
- Configuring the servo arm is a trail and error process. Just try which MIN and MAX values work out for your bot.
3) G-Code sender software
The thing that should get the stuff from computer monitor to the real world egg/sphere
|thunderbug1||Spherebot UI||April 2014; v2.0||baudrate hardcoded; sources available;||github (same as above)|
|jinschoi||Gcode-sender.py||July 2015||A ruby script to send gcode to a Spherebot;
strips blank lines and comments from the gcode file.
|githubeasy Ruby installer: link|
|Pleasant3D||SpherebotSender (PC/Mac)||April 2012||PC version requires Java 6 installed.
Mac version often stops randomly with an error after 1-150 lines of g-code
|Straend||SpherebotGUI||April 2014||A take on improving thunderbug1’s spherebot UI; baudrate hardcoded; NOT TESTED YET||github|
4) Misc tools and projects
|bertramt||Cheap Spherebot||Take on implementing cheap 28BYJ-48 steppers and ULN2003 based drivers;
For now only modified STLs to hold the steppers are released; No firmware until yet but still very interesting.
5) Messing around
For now I have only managed to get thundebug1’s firmware running and accepting and executing g-code commands. But only on my Mac. Once I plugged the machine into the USB port of my PC none of the above mentioned g-code sending tools worked anymore. Serial monitor in the Arduino IDE showed the “Spherebot 2.1” string but it refused to accept commands.