Our team has always had difficulty drawing a perfect circle or writing a legible equation on a whiteboard. We realized a remountable whiteboard plotter could be a great tool for automating drawing difficult things. For example, a plotter could perfectly draw coordinate axes and graphs when teaching math, or grid lines when drawing isometric projections.
What it Does
Our board consists of two main parts.
The first part is a software script (run on a user’s computer) that takes the input of a raster image and decomposes it into a series of drawable line segments, then sends this to the board.
The second is the board itself, which takes this input and plots each line segment using stepper motors to control the X and Y axes.
The system we created is modular, and the device can be picked up and mounted on any classroom whiteboard surface.
How we Built it
The primary frame of the device is constructed using components from the 80/20 aluminum framing system. The system consists of a horizontal bar with stepper motors that use cables to pull a vertical bar back and forth. The vertical bar has another stepper motor that moves a “marker holder” up and down. The marker holder contains a servo that is used to raise and lower the marker.
In order to manage the logic for driving the motors, we used two Particle Photon boards working in parallel, making use of Python and the Particle Photon API for their logic.
Challenges we ran into
We initially planned to use a chain drive for horizontal motion. However, this plan did not work as we could not find a 20 volt power supply, which meant our stepper motors could not provide the full amount of torque necessary. Near the end of the event, we had to switch to a cable system and add another stepper motor in order to provide enough power to move the marker around.
A bigger issue had to do with the Particle Photon boards. There was a bug within the Particle Photon library for parsing the JSON requests we were using to send the line segments, which would cause the boards to repeatedly crash. This was extremely difficult to debug, as the Photon has no native error logging.
Accomplishments we’re proud of
We’re proud of the fact that we were able to get a working, remountable system. Moreover, this is a project that could be easily extended for educational purposes - to help young students learn how to write, or to reduce the load on the teacher when lecturing.
What we learned
We became more familiar with using the 80/20 erector set and stepper motors. We also learned to use the Particle Photon API and Python’s PIL library for image processing.
On the software side, we’d like to improve our image processing algorithm and develop a more user-friendly webapp to upload images instead of using a Python script. We would also like to improve our hardware by making it sturdier and more easily remountable.
Source code for the image processing script is available at https://github.com/patil215/boardly/blob/master/script.py.
Particle-photon Stepper-motors 80-20-structural-aluminum Python PIL Servo