A suite of software useful in experimenting with small robotic arms. Use as a teaching framework with a low barrier to entry for robotics and programming.
### History
Whilst an expansive scope, the principal development and implementation happened over 3 days in the summer of 2019.
## Software Components
1. An Arduino firmware to recieve commands and position the robot arm.
* firmware/armCtl/armCtl.ino
1. A streaming serial command & control protocol to communicate with the Arduino from a computer.
1. A Python3 module that is a threaded serial reader/writer, and state machine for the arm.
* robot.py
1. An Antlr4 domain-specific scripting language for maneuvering the robot.
* ArmControl.g4
1. A Python3 implementation of that language for the Robot module.
* ArmCtlListener.py
1. A Python3 module to interface the scripting language to the robot module. When called directly, this module also provides an interactive shell for the scripting language.