Concrete Stream Deck/Macro Keyboard

by TheSuperSewcio. in Circuits > Computers

6731 Views, 118 Favorites, 0 Comments

Concrete Stream Deck/Macro Keyboard

thumbnail.jpg

Universal macro keyboard for your computer! It can be used in your favourite programs and games to give you more buttons. For example for scene switching in OBS, a push to talk button in Discord or extra binds in WoW.

Supplies

- 10x mechanical keyboard switches (i used Kailth browns but any should be good)

- Arduino Pro Micro

- 2x rectifying diodes (I desoldered mine from some old PCBs)

- Foam board to make a mold

- Some concrete

- Standard tools like 3D printer, soldering iron, hot glue etc.

Design and 3D Printing

box.png
cap.png
arduino.png

It was designed in Fusin 360. The parts don't require any support material to print but they were designed without any offsets. Because of that you may want to use XY (Horizontal) compensation in your slicer. In my case i used -0.08mm to get the perfect fit on the keycaps.

Assembling, Wiring and Programming

shine.jpg
cables.jpg
ardu3.jpg
schematic.png

After printing insert the mechanical switches into the base. Orient them so that the pins are closer to outside walls as seen in the second picture, this will help with wire management. You can also put on the keycaps at this point.

Start soldering the wires as seen in the pictures, the electrical schematic is also provided. Don't forget the diodes facing thowards the row pins!

The Arduino board needs to be glued in place with CA glue.

After everything is done, flash the code and check if it is all working as supposed. To check it on Windows you can go to Control Panel > View devices and printers > Right click on Arduino Micro > Game controller settings > Select Arduino micro > Properties and finally in the Test tab you can see all of the buttons. Press them one by one and check if the appropriately labeled indicator lights up.

Downloads

Casting Concrete

moldtop.jpg
mold2.jpg
mold.jpg

If everything is working you can cast the concrete around the part.

Start by preparing the mold according to the stl file provided earlier. The walls should be 6mm or thicker, mold height on the lower side is 25mm and there is a 10° draft on the bottom face.

Don't forget to cover the inside and add a channel to later insert the USB cable. I used a piece of cardboard later covered with plastic tape to make it waterproof.

I've also added feet at the bottom of the mold so that the top face is parallel to the ground.

When everything is prepared you can mix concrete and pour it in!

Done!

dinished.jpg
demolded.jpg
pads.jpg

Let it dry for a few days then carefully remove the mold and let it dry for another couple days. After it dries completely it is done! If there are any holes or imperfections in the casting, just mix some more concrete and fill them. I've also lightly sanded the edges and added some anti slip pads on the bottom. Combined with the heavy weight of concrete casting they provide nice grip on the table and the keyboard does't slide around.

This project can be easily customized for your needs!

I 3D printed my keycaps blank but you can remix the design and add some variations to them or simply use a normal printer to make some decals. As for the concrete, i quite like the look of it, but you can paint yours to whichever color you like.

The code can be also modified to add for example volume or brightness control buttons. Reference can be found here.