- Tool Path Generation — This is how g-code files are created from 3D CAD files such as an STL. Tool path generation software allows the user to adjust parameters like resolution and object density. The output g-code is what is sent directly to the machine.
- Host – This is the software a computer uses to tell the robot what to do. It usually has a control panel for manual control of the machine through an intuitive user interface. The host will load the desired g-code and then stream it to the robot when you tell it to print.
- Firmware – This is what describes the machine in a mathematical way to the brain on the motherboard. When the machine receives g-code commands, it will reference the firmware and automatically synchronize the motor movements in real time. The firmware should not need to be changed often if ever at all, and is meant to work behind the scenes.
There are already many free options available for all three of these components, and there is likely even more on the way. All have their benefits and drawbacks, so it is really up to the user to ultimately decide which to use. One of each is demonstrated below(click to expand):
Slic3r is a well documented and open source project for generating tool paths as g-code files. There are also pre-compiled euclid preference files that can be imported directly into Slic3r for immediate use, allowing you to skip over the software configuration process.
Slic3r - Step1
Slic3r - Step2
Slic3r - Step3
- Windows: C:\Users<your_username>\AppData\Roaming\Slic3r
(you can also get there by typing %AppData% into the address bar of any file browser window and locating the Slic3r folder.)
- OSX: ~/Library/Application Support/Slic3r
(you can get there by using the keyboard shortcut, ⇧⌘G, and copying the above address into the window that appears.)
- Linux: ~/.Slic3r
Slic3r - Step4
Slic3r - Step5
To better understand how to use Slic3r for your intended purposes, you can check out the manual at manual.slic3r.org.
Traditionally, a RepRap or similar Arduino controlled robot also requires a computer to be connected in order to control it or run jobs. The Raspberry Pi embedded inside a euclid deltabot is a Linux computer that does all the serial communication internally; allowing the user to interact with the robot wirelessly, from any web browser. The advantage of running an embedded Linux computer is that 3rd party software can be installed and USB accessories can be used without needing to create specialized drivers for them. The result is an extremely customizable platform for all levels of computer proficiency.
The Raspberry Pi runs off of an SD card. A virtual image of the SD card with all software requirements pre-compiled and ready to run has already been made for you. All you need to do is copy the image to a blank SD card and insert it into the bottom side of the Raspberry Pi.
The latest SD img can be downloaded here: euclidian-v4 (4.1GB Download)
Raspbian with OctoPrint, Botqueue, Ino, Delta Marlin, and other system preferences
In order to control your machine from a web browser, the euclidian SD image includes an open source host environment: OctoPrint. For the most straight forward setup, ensure the ethernet cord coming from your router is plugged in to back of the machine. Assuming the latest euclid SD card is in the Raspberry Pi, follow the procedure below when the machine starts up:
Step1
$ nmap 10.0.1.0-255 (If the router address was 192.168.1.1, type “nmap 192.168.1.0-255“)
Nmap will list out all the hosts found on the network. The scan report for 10.0.1.25 shows a host with both port 22 (ssh port) and port 8080 already open. Octoprint runs webcam support on port 8080, so this is likely the RaspberryPi computer. To make certain this is the correct device, you can run the nmap command again with the RPi off and look for which address disappears.
Step2
OctoPrint control panel quickly appears. In order to make any administrative level changes to the machine, we need to sign in.
Step3
If you are unable to connect at this point, it may be because the euclid firmware located on the SD image has not yet been uploaded onto the motherboard and needs to be before you are able to do anything else. If that is the case, skip ahead to the firmware directions and then come back here to continue.
Step4
Step5
Because the Raspberrry Pi is a real-life computer, we need to treat it like one, and tell it to reboot/shutdown instead of just disconnecting power. If you avoid this process, you run the risk of damaging the SD file structure, and may have to start from the beginning again. Any time from now on you want to turn off the bot, you must first turn off the embedded computer through OctoPrint, wait until the page shows the server is offline, and then you can flip the power switch on the side of the unit.
Step6
Step7
To get more information on how to use Octoprint as a host for your machine, the project is documented and maintained at octoprint.org.
Warning: Firmware adjustments are recommended for advanced users only
The firmware describes machine behavior to the microprocessor in terms of pin locations, mathematical formulas describing movement and other behaviors. Changing around numbers without understanding what it is doing can make the robot move in a chaotic, possibly self-destructive manner. The euclid SD Img file already has firmware ready to go however, adding new toolheads to the euclid framework becomes much easier with the ability to alter firmware as needed.
Step1
$ ssh pi@10.0.1.10
Step2
$ cd Ino-Delta-Marlin
Step3
$ ino build
$ ino upload
Now the firmware has successfully been uploaded onto the motherboard. If you want to make adjustments to the firmware, the custom build of Marlin is contained within the ~/Ino-Delta-Marlin/src directory. Marlin.h has been renamed to sketch.ino and the majority of machine particular preferences can be found in Configuration.h. For more information on this firmware, the source files are located here. Once all the adjustments have been made, go back to ~/Ino-Delta-Marlin to re-compile and upload the firmware as demonstrated in Step3.