Example light painting
Example light painting
Example light painting
Example light painting
Example light painting
Example light painting
Winding drum controlling the upper arm
Winding drum controlling the upper arm
Custom built bearing for the whole assembly to rotate
Custom built bearing for the whole assembly to rotate
2 gears controlling the lower arm
2 gears controlling the lower arm
Pivot point of lower arm
Pivot point of lower arm
Conductive thread
Conductive thread
Control panel
Control panel
Process
The challenge
“To weave design and technology to design, build and demonstrate electro-mechanical machines that celebrate mechanisms and demonstrate an engaging physical interaction.”
Inspiration
I am personally passionate about photography, and so I was inspired to pursue this particular project through a desire to explore the potential of long exposure photography to paint using light. Long exposure photography involves using a long shutter speed on a camera to capture light over a period of many seconds. If a long exposure photograph were taken in the dark whilst an LED moved from left to right across the frame, the photo would be dark except for a horizontal line showing the path of this LED.
Ideation
My starting point was knowing I wanted to move an LED in 3-dimensional space, so to start I looked at existing machines that enabled 3D motion, such as 3D printers. Having seen what solutions already existed I began sketching out a range of different ideas for how to achieve the motion I wanted.
Relative motion between a camera and LED
Relative motion between a camera and LED
Translating arms
Translating arms
Rotating + translating plane with a translating arm
Rotating + translating plane with a translating arm
Rotating arm
Rotating arm
How to actuate a rotating arm
How to actuate a rotating arm
Rotating arm with rotating base
Rotating arm with rotating base
Prototyping
I made my very first prototype out of cardboard, string and lollipop sticks. The following prototypes increased in fidelity as and when I needed to, replacing string for nylon wire, lollipop sticks and cardboard for laser-cut plywood and introducing 3D printed components and electronics. 
V1
V1
V2
V2
V3
V3
V4
V4
Final model
Final model
Interaction
Using the joystick on the control panel one can rotate both arms of the gizmo, moving the LED up, down, left and right. Rotating the potentiometer would rotate the base of the gizmo, pressing the white button would change the colour of the LED, and whilst the black button was pressed the LED would turn off (so the user could paint dashed lines, for example). All of this makes for an interaction which yields lots of different possibilities and means a user could spend a long time experimenting, seeing what range of outputs they can get, especially if they choose to incorporate additional external physical objects into the painting.
Next steps
If I were to keep working on Firefly, there are a series of things I would do differently. The first of which is to use more powerful motors, such as a low torque NEMA 17. The 28BYJ-48s worked, however they were being pushed to their limit so the motion wasn't that smooth. Another factor which contributed to slightly unstable motion was the input method. The next step I would take is implement an algorithm to smooth out the motion, such as a moving average filter. This would make it slightly less responsive but would lead to smoother lines. Another change I would make to the code is to add different modes, or preset paths, so that at the push of a button the LED could orbit around an object, for example. 
General Assembly drawing