As well as STEM, I also really enjoy art so I wanted to do a project which combines the two (STEAM). I decided to make a device that can draw pictures, so I started looking at different designs the first design I found was similar to a 3D printer except it was 2D. But they are very hard to build and quite hard to code. So I started looking for other designs and came across a BrachioGraph (which you can find here). It was perfect because most of the code was already done so all I had to do is import the code and then calibrate it but first, I needed to build it. I wanted to build it out of Lego because I love Lego and it is easy to modify if my initial design fails. I needed servo motors so I went online to find some and while I was looking I found Lego servo motors which are perfect. I also needed to buy a pi zero, a breadboard to connect the servos to the pi and some cables to connect all the components.
It wasn't too hard to build because I only had to put a few pieces of lego together. the hardest bit to build was the pen holder because it had to be small and light as well as being very secure. Once I had built it I needed to import the program into the Raspberry Pi. It took a little while and a few long afternoons of problem-solving with my dad but after that, we managed to make it draw a rectangle. The real problem was hysteresis caused by the slop in the joints. This means the exact position of the drawing arm depends on which way it is moving leading to wobbly drawings. A solution to this problem should be to add an offset to the angle to compensate for the drag but it did not work as well as I hoped.
Although it didn't work as well as I hoped and the drawings are a bit wobbly I still think it is pretty impressive as it only uses three cheap servo motors hooked up to a raspberry pi zero. You can see it drawing the raspberry pi logo below (This is sped up).
This is the pi 0 that the BrachioGraph is running on