Home > Projects > Interfacing(USB – RS232 – I2c -ISP) Projects > Arduino Based USB Paper Gesture Mouse

Arduino Based USB Paper Gesture Mouse

Summary of Arduino Based USB Paper Gesture Mouse


This article details the construction of a USB paper gesture mouse using an Arduino Pro Micro or Leonardo. The project utilizes capacitive sensors made from aluminum foil to control cursor movement via touch gestures on a printed A4 sheet. The author explains the assembly process, wiring configuration, and code upload steps, while also addressing known performance issues and outlining future enhancements like wireless capabilities and additional directional sensors.

Parts used in the Paper Gesture Mouse:

  • Arduino Pro Micro or Leonardo
  • 5x 1MΩ Resistors
  • Single strand insulated wire
  • Bread Board or PCB
  • Sheet of foil paper (aluminium foil)
  • Electrical tape
  • 2x A4 size paper sheets
  • Printer

Please vote for me in the conests

I have always been pretty amazed by the Capacitive sensor library of Arduino, It makes me feel like a super human, I can make any non conductive material to act like a touch enabled controller for various use cases, So here I thought of controlling my PC with the power of Capacitive Sensors and build a mouse using an Arduino Pro Micro and some home built Capacitive Sensors and a sheet of paper, So let’s start…

Step 1: Material Required to Build Something Awesome!

(You can get a cheap deal for these components on AliExpress but I would only recommend that if you can wait for more than 30 days for the item to be delivered.)

  • An Arduino Pro Micro or A Leonardo.
  • 5x 1MΩ Resistors.
  • Single strand insulated wire.
  • Bread Board(Or you can directly solder all the components on a PCB).
  • A Sheet of foil paper.
  • Electrical tape.
  • 2x A4 size paper sheets.
  • A Printer.
  • Lots of love and enthusiasm for DIY ❤️??(Mandatory).

Step 2: Making the Capacitive Sensors.

  • Cut 5 pieces of aluminium foil. 2 pieces of size(70 X 35)MM, 2 pieces of size(36 X 86)MM and 1 piece of size(150 X 19)MM (Or you can simply print the back side layout provided in the next step on a fresh sheet of paper and cut the aluminium foil sheet using the printed layout as template) I don’t have a Cricut Maker but I think that if I had one it would have made this step easy as pie and I hope I win the Paper contest and win a Cricut Maker ❤️.
  • Add a wire to each of the foil using an electrical tape.
  • Our sensors are now complete, so let’s move on to the next step…

Step 3: Making the Paper Mouse

  1. In the Paper_Mouse.zip file attached bellow, you can find 2 design files in it, print them on both the sides of an A4 size sheet of paper (The name of the design files are according to how they are supposed to be printed i.e. The file which is supposed to be printed on the front side consists of the keyword “(Front)” in it’s file name and the file which is supposed to be printed on the back consists of the keyword “(Back)” in it’s file name).
  2. Stick the Capacitive Sensors we made in the previous step according to their size on the back side of the printed A4 size sheet using the electrical tape.

Step 4: Setting Up the Arduino to Wrap Up the Awesome Work!

Connecting The Pins

  • Plug in the 1MΩ resistors to the following pins: (4 , 2) (5 , 3) (8 , 6) (9 , 7) (15 , 16) As shown in the image above.
  • Connect all the Capacitive sensors to the following pins:
  1. Top Sensor to Pin- 2.
  2. Right Sensor to Pin- 3.
  3. Left Sensor to Pin- 6.
  4. Bottom Sensor to Pin- 7.
  5. Select Sensor to Pin- 16.

Setting Up The Code

Extract the Paper_Mouse.zip file, or clone the project Github repo from here. Edit the code if you make any changes with the pins else keep it as it is and upload the code on to your Arduino Pro micro Or Leonardo board.

Step 5: Finally Testing Our Awesome Work!

You can follow all the instructions on my blog http://www.jugadu.in/arduino-based-usb-paper-gesture-mouse/technology/By-admin/and Check out some other cool stuff out there on jugadu.in

Step 6: Known Issues and Future Capabilities (To Make This Awesome Work Even Better)

Known Issues:-

  • After uploading the code when we replug the USB sometimes, the Paper Mouse begins to respond very slowly(Like, really very slow!) and if we re-upload the code it starts to respond normally back again.
  • The paper sometimes moves here and there along with user’s finger which oftenly gets very annoying (Possible solution: We can stick the bottom of the A4 sheet to an ivory sheet or some other heavier object.)

Future Capabilities:-

  • 4 more sensors can be added for all 8 directions(i.e. Top, Top Right, Right, Bottom Right, Bottom, Bottom Left, Left, Top Left) to make the mouse more user friendly.
  • 2 Sensors can be added in the middle to add the scroll feature.
  • Right Click button can also be added(Actually I forgot to do that?).
  • A matrix arrangement of Sensors can be used to implement all these features together which would use lesser pins and lesser wires.
  • We can add bluetooth capability to make the whole system wireless (This video by Evan Kale can be helpful to achieve this goal.)
  • The wires and Arduino should be hidden.
  • The design can be further improved but I like mine to be minimalistic.

I hope to come up with a newer version of the Paper Mouse to overcome all the issues and with added features as discussed above, ASAP.

And Please vote for me in the Paper Contest so that I can win a CricutMaker and come up with better and high end projects.

(Please drop in your comments below and let me know how can I overcome these issues or if you have some other suggestions)

Source: Arduino Based USB Paper Gesture Mouse

Quick Solutions to Questions related to Paper Gesture Mouse:

  • How can I connect the resistors to the Arduino?
    Plug the 1MΩ resistors into pins (4, 2), (5, 3), (8, 6), (9, 7), and (15, 16).
  • Which pins should the capacitive sensors be connected to?
    Connect the Top sensor to Pin-2, Right to Pin-3, Left to Pin-6, Bottom to Pin-7, and Select to Pin-16.
  • What is the solution if the mouse responds slowly after replugging the USB?
    Re-upload the code to the Arduino board to restore normal response speed.
  • How can I stop the paper from moving with the user's finger?
    Stick the bottom of the A4 sheet to an ivory sheet or another heavier object.
  • Can I add scroll functionality to this mouse design?
    Yes, by adding two sensors in the middle to implement the scroll feature.
  • Is it possible to make the system wireless?
    Yes, Bluetooth capability can be added to make the whole system wireless.
  • How many sensors are needed for eight-directional movement?
    Four more sensors can be added to the existing setup to enable all eight directions.
  • Where can I find the design files for the paper mouse?
    The design files are available in the attached Paper_Mouse.zip file or the project Github repo.

About The Author

Scroll to Top