Stuart and I wanted to design a project that would be a good introduction to upcycling electronics, robotics, arduino, art with maths/code. We came up with a drawing robot based on an old floppy drive.
- jam jar collective
- full circle arts
- Ashish Derhgawen for this article http://www.codeproject.com/KB/system/floppystepper.aspx
- More floppy drive info: http://www.interfacebus.com/PC_Floppy_Drive_PinOut.html
Step 1: Take apart the floppy
Remove the top of the read/write head and put the screws back in so you don’t lose them!
Also, now is a good time to make the drive think that a floppy is loaded (otherwise it won’t spin up the platter). So use some bluetack or glue down one of the microswitches on the left hand side. You could also bypass one by removing one and soldering a wire between the contacts.
Keep hold of all the small screws and springs because they’ll be useful in other projects!
Step 2: Wire up the floppy
Check the “floppy drive A pin out” table on this page . We’re interested in:
- 10: 0=motor enable drive 0 (when at 0v the motor will be spinning)
- 14: 0=drive select 0 (so that step and direction commands go to drive0)
- 18: direction (which direction to move the stepper)
- 20: step (pulse this to make a step)
Note that all the odd pins are ground.
Wire up the floppy cable like this:
floppy pin 14 -> floppy pin 13 (this selects drive 0 as we tie it low by connecting to ground on pin 13)
floppy pin 1 -> arduino ground (we need to connect the ground of the arduino and the ground of the floppy)
floppy pin 10 -> arduino pin 4 (platter motor)
floppy pin 18 -> arduino pin 3 (direction)
floppy pin 20 -> arduino pin 6 (step)
We also need to power the drive. I measured current draw and it peaked at 300mA. I did some research and it seems safe to power this from the 5v pin of the Arduino. USB has a maximum rating of 500mA for current draw and we’re safely within that limit.
If you have a floppy power cable then connect the Arduino ground to a black and Arduino 5v pin to the red cable. Otherwise you’ll need to work out which is pin 1 (it might be marked on the drive) and then use the table floppy power connector to know which pins to connect where; pin1: 5v, pin2 or 3: ground.
Turn on the power and check you get a light coming on somewhere at the front of the drive.
Step 3: Load up the software
Load it into your arduino
Download the floppyDrawbot.pde and timer.pde files. Open floppyDrawbot.pde with the arduino editor and then add the timer.pde file like this:
- in the sketch menu, choose ‘add file’
- choose the timer.pde file
Then compile and transfer to the arduino. The drive should spin up and the arm start moving if it’s all working!
Have a look at the code to see what’s going on – it’s pretty straight forward.
If it doesn’t work
- Is the floppy powered up? They usually have an led that will be lit with power supplied.
- Is your wiring correct?
- If the platter isn’t spinning, check the microswitches are properly pressed down.
Step 4: Enlarge the platter
The platter is a bit too small and uneven to draw on, so we boosted its size with a DVD. You need to find something tubular, about 3cm diameter and 2cm high.
Put it in place and then check that the read/write arm can move fully in and out. If your tube is too big then you’ll have to remove part of the lower read/write head. We did this with the dremel’s grinding attachment.
You want everything as central and level as possible so it’s better to hold stuff in place and then glue it after.
Step 5: Add the drawing arm and pen holder
Drawing arm and pen holder
We used the metal from the top of the floppy and a dremel with grinding attachment to cut out an arm. Look for a piece that has a hole for your pen to stick through. You might be able to avoid drilling a hole by being clever about your reuse!
Then we held it in place with a spindle and sprung loaded it with one of the floppy’s old springs.
Extend the read/write head
To give us more movement, we can extend the read/write head out with another small piece of metal. This screws on to the read/write head and has a bolt at the other end that connects with the drawing arm. By playing with the length of the metal and the position of the bolt you can make a lever that magnifies the movement of the read/write head so that the pen can cover more of the DVD’s surface.
Turn everything on and check that the pen can move a good distance over the radius of the DVD. You adjust things fairly easily just by bending the metal bits.
Step 6: Draw!
Cut some paper circles using another CD as a template. Then load up some paper (we used tiny scraps of masking tape to hold down the disks of paper), insert a pen into your pen holder and make it go!
Then start hacking the code and send us your best pictures!
For more detail: Floppy drawbot
JLCPCB – Prototype 10 PCBs for $2 + 2 days Lead Time
China’s Largest PCB Prototype Enterprise, 300,000+ Customers & 10,000+ Online Orders Per Day
Inside a huge PCB factory: https://www.youtube.com/watch?v=_XCznQFV-Mw
This Post / Project can also be found using search terms:
- duino4projects floppy
- arduino floppy drive drawbot
- rsterweb drawbot