Since receiving my Arduino I’ve found myself looking at technology a little differently. As your post-production skills increase you tend to watch videos thinking: “I could do that”, or “I could do that if someone gave me lots of money and got out of my way”. In my post-Arduino life I now look at technology and think either, “I wonder how I could interface my arduino with that,” or “I wonder if anyone will mind if I pull that apart.”


Nobody will mind if you pull an old Inkjet printer apart. Every house has at least one in a cupboard somewhere, kept because it cost good money back in the day, but now replaced by all in one devices which cost less than their own replacement ink cartridges. My household had 6 mothballed inkjets. Now there’s only 5, and my parts box is filled with cool bits and pieces.

I’m not sure about the more recent generation of do-everything photo printing devices, but older inkjets are built to last, and to be servicable rather than thrown away when they stop working. So it’s possible to get inside and take everything apart without having to break components or remove rubber feet and search for screws hidden beneath stickers. These devices have evolved over time and are compact marvels of mechanical and electronics engineering. As you puzzle your way inside you get to marvel at the designers’ ingenuity.


As the case comes you can already see some great physical computing goodies: A stepping motor, gears, axles and cogs.



The circuitboard sits on the back of this model. I haven’t taken the time to look up the components here, but there’s plenty of useful componentry.




Everything laid out: 2 stepping motors, a position feedback system running off a regular motor and optical sensor, plenty of gears, rollers, axles, photosensor, steel sheet…

Next step: I have a couple of Processing + Arduino projects which have been waiting for stepping motors, and there are plenty more old printers in the house. I’d love to see a Maker Challenge, tasking teams to create something new using only the components found within an inkjet printer.

  • If you can move the head carriage freely enough, how about replacing the motor that's linked to the rubber belt drive with a potentiometer, optical encoder or even variable capacitor. That would make a cool Tannerin type controller for wherever you need a long fader-type action.(With the potentiometer, it would be a great controller for a SoundLab minisynth, especially with an envelope triggering button mounted on the head carriage)

  • I love it; great idea! Now I just need to rescue some more printers … 🙂

  • edison

    Since old printers tend to make beeping sound, probably from a pezo-transducer, I wounder if you can circuit bend a printer?

  • Pingback: Scavenging a printer for parts » The PC Doctor()

  • acidrain

    I have an inkjet sitting in the backseat of my car. My plan is to make a autloader for DVD/CD's for a burner. I have an external burner waiting to go, I just need an arduino and some time to learn it.

    Initial thoughts:
    Will need a stepper to move the lifting arm back and forth between a pile of blank CD/DVDs, the burner, and a pile of completed discs. Will need an optical or electro-mechanical method of seeing where the lifting arm is along the path. I was planning on trying to use the rod from the printer to build it, right on top of the inkjet holder, possibly using the ribbon cable that connects the inkjet head to the logic board. Need some way to lift and lower the head, possible with a zero-force switch to tell when the head is pushed against a disc or the burner. I was thinking of just a long bolt with a motor to turn a nut to raise and lower the arm. I'm not sure how to do the control yet. I don't know enough about how the arduino comunicates with the PC. Possibly over the USB or better(easier?) over the serial. Or even over the parallel port, but that would take some pins from the GPIO. Reversible motor to raise and lower the arm.

    Feel free to yank my idea (it has been done with legoes, wood and relays in various forms, have yet to see an arduino one), but please post it on makezine or something.

  • Edison: I'm sure you could, but you need to get the beep out of it first, so I guess you could force a paper jam to get some kind of constant beeping, or you could just rip off the piezo and use it for something else.

    @Acidrain: Pull the printer apart and have a look at what's there. In mine there was a great gear assembly in which the power gear only moved in one direction but the armature moves back and forth. Ingenious stuff!

    My Arduino speaks Serial through USB, although you can get plain serial or bluetooth versions. USB is easy because it also provides power.

  • Rich

    Just in case nobody thought of it…a good source of old printers is thrift shops…goodwill,salvation army etc.

  • I want to print t-shirts. I know there has to be away to turn my inkjet into a garment printer. Garment printers are priced from $10,000 to 20,000 because of special ink. If the fabric is treated the ink from inkjet works just fine. But unfortunately I am at a completely lost as to how to accomplish this.
    Please Help

  • Bob

    how can I get the specs on the stepper motors in an HP 932C deskjet?

  • Hey, I know this is an old post. I'm researching this very topic right now, how to get started as a Maker and how to get the good components out of unused and/or broken electronics. If these photos are still online could you update this post to make them visible again? That would be fantastically helpful.

    Thanks very much!