Floppy drawbot

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.



Step 1: Take apart the floppy

We need to get at the insides, so take off the lid and have a look inside. We need to remove the loading tray which can often be lifted out when it’s in the eject position. Others have a latch or springs that need to be released. Have a look and work out what works for your drive!


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

The fun part of the project is coming up with different software to make different shapes, but here is something to get you started:



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

Now that we’ve got the floppy drive under Arduino control, it’s time to add drawing functionality!


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.

Floppy drawbot circuit


Step 5: Add the drawing arm and pen holder

The read/write head’s travel is only about 1.5 cm long, so we added a lever to get greater pen movement.


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

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top