Lasercut Fidget Macropad

by Snietse in Circuits > Arduino

843 Views, 5 Favorites, 0 Comments

Lasercut Fidget Macropad

SAM_1819.JPG

i made a fidget macropad because i am always fidgeting with something. Macropads are especially satisfying but aren't handy because you will type or do stuff on your computer while fidgeting.

Thats why i made this design, you can easily turn it on and off and it even has 3 modes for a total of 33 programmable actions!


Just plug it into the micro usb hole and turn it on. flip the middle switch to switch between the modes.

I used 3 different kind of cherry mx style switches to make it extra satisfying!

Supplies

Machines:

- Lasercutter

- 3D printer (optional)

- soldering iron


Materials:

- Arduino (pro micro)

- 3mm birch plywood

- wires for connecting everything to the arduino

- buttons

- cherry mx style keycaps 6x

Buttons I used:

- 2x blue cherry switch

- 3x red cherry switch

- 3x brown cherry switch

- rotary encoder

- on / off switch

- flick switch (mts-103)

Lasercutting the Box

SAM_1827.JPG

Start by downloading the box plans and edit the top piece to hold whatever buttons you want.

If you have the same buttons as i used you can just laser cut the file in 3mm material.

Wiring the Arduino

fidgetpad-done_bb.png

put the components in the top plate of the box then solder the components to the arduino as shown in the schematic

Make sure you leave enough wire length to easily fit in the arduino before putting the top on.

Put It Together

Put all the wooden parts (except the top) together with some wood glue and let it dry.

after it is dry put some hot glue on the edges from the inside to secure it and put a little blob of hot glue in de place the arduino will go en press the arduino micro usb into the hole and let it dry in place.


After that you can secure the top panel with some hot glue.


Now type away!

Coding

Download and open the sample code provided here.

If you want to test the fidget macropad you can upload the code to the arduino and test all the buttons.

Now you can add your own code to make it to whatever you want


some examples:

to type "Hello world!" try this code:

if(digitalRead(Buttons[1])==LOW){
  Keyboard.print("Hello world!");
  delay(400);
 }


to type the letter A try this:

to type "Hello world!" try this code:

if(digitalRead(Buttons[1])==LOW){
  Keyboard.write("Y");
  delay(400);
 }


and to use a keyboard shortvut try this:

if(digitalRead(Buttons[1])==LOW){
	 Keyboard.press(KEY_LEFT_CTRL);
	Keyboard.press('c');
	Keyboard.releaseAll();
	delay(100); 
}

(Be sure to change the button to the correct button number)


for some more info on the HID-Project.h library chere here: https://github.com/NicoHood/HID/wiki

Finished Product

SAM_1819.JPG
SAM_1829.JPG
SAM_1831.JPG
SAM_1826.JPG
SAM_1824.JPG
SAM_1823.JPG

some more photo's of the finished fidget macropad.