Open Source Turtle Robot (OSTR)

” Robotics is the exciting intersection of a number of engineering fields including mechanical engineering, electrical engineering, and computer science. This project was designed as the basis for a two-day workshop for high school age students to introduce them to engineering principles and giving them a jumping off point for exploring their interests further. There is something for everyone here, even if it is just for the art it creates.
What is Turtle Robot? The concept can be traced back to William Walters robotics work in the 1940s which investigated complex behaviors in simple systems. Turtle robots are generally slow moving with tight turning radiuses and can trace a design that shows their behavior over time. They make excellent teaching aides in that their programmed output can be seen visually. A number of programming languages have Turtle Graphics built in. Turtle graphics can also be used to investigate advanced topics like L-systems or affine geometry
What is Open Source? If you can look past licences and lawyers, Open Source is a philosophy that ideas should be shared, and if you use an idea you attribute the originator, and if you improve on it, you should share your improvement. Every part of this project, from the circuit board to the 3D designs, are available for study, replicating, and improving. Not only that, but it was designed and programmed used Open Source programs like Arduino and KiCad. All you would have to do is use a computer running Linux (an Open Source operating system) and print the parts on a RepRap based 3D printer (an Open Source project), and you would have Open Source Turtles All the Way Down. This project is certified as Open Source Hardware by the OSHWA.
This project is just the latest iteration of my Low-Cost, Arduino Compatible Robot, which in turn is based on the work of others (as indicated in the parts section). Improvements include a printed circuit board for ease of construction and robustness, infrared sensors for obstacle detection, and a more compact and stiff chassis for more accurate movement and lower printing cost. Rewiring port assignments and firmware improvements help remove stuttering caused by Arduinos digialWrite() inefficiencies.
In keeping with the engineering fields we are exploring, this project is broken into three distinct sections:
Electrical (EE: PCB assembly and testing),
Mechanical (ME: chassis assembly), and
Firmware (FW: calibration and programming).”