This project is on github: Link
CSCE 462 focuses on microcontrollers, single board computers, and using them to realize a product in the physical world. I chose to use this class to spend time developing the physical prototype of my 12d Printer and integrating some of what I learned from Sumobots to develop a webapp for controlling a stepper motor. Its a realtively simple system: webserver and websockets server off the Raspberry PI. This is pretty much all the same as in Sumobots.
The stepper motors are controlled by a A4988 stepper driver. The hardest part was building a board to hold the motor drivers. For the eight motors, eight A4988s were required. Each requires 3 pins to control it and 8 * 3 = 24 is right at the limit of what the Raspberry PI 3B+ has. Adding in the eight limit switches, there were too many GPIO pins, so a MCP2017 extender was used. I made a sample board on protoboard. I naively thought it wouldn't be too bad; in hindsight I wish I had ordered PCBs. The biggest challenge was that the large stepper motors drew up to 2A each and that meant that I needed to be prepared to handle 16A of current.
There is not much to say about this project that isn't covered elsewhere:
As built images:
The web UI