Blueprint

MDF Laser‑Cut Stream Deck (ESP32 Shortcut Keyboard)

A customizable shortcut keyboard you can build with simple materials This project is a fully DIY Stream Deck–style shortcut keyboard, made using a 5mm laser-cut MDF enclosure, 12 4-pin 12mm Square Push-Button Tact Switches, and an ESP32 microcontroller. The device connects to your computer using Bluetooth, Wi-Fi, or a wired USB Serial Connection, allowing you to trigger shortcuts, open apps, run macros, control games, launch websites, and much more — all at the tap of a button. Instead of buying an expensive Stream Deck, this project teaches you how to build your own from scratch using easy-to-find parts and a laser cutter or 3d printer.

Created by Ahmed Ameur Kh Ahmed Ameur Kh

Tier 3

4 views

1 follower

No Demo Yet

Oussama NAOUAR Oussama NAOUAR gave kudos to MDF Laser‑Cut Stream Deck (ESP32 Shortcut Keyboard) ago

Gooo, finish this project ?

Ahmed Ameur Kh Ahmed Ameur Kh added to the journal ago

Routing, Glueing and Soldering

Nov 15:
I got the parts today, but I noticed I made a big mistake while modeling. I didn't make enough room for the button pins to fit completely, so I had to glue them backward to the top part instead of soldering them on a perforated plate.
IMG-20251118-WA0007IMG-20251118-WA0008
IMG-20251118-WA0009

I assembled the Stream Deck without glueing first to see how it looked and if it fit nicely together,
I only regret making it too long, so the buttons appear really small; otherwise, I'm really satisfied, as this is my first design.

IMG-20251118-WA0001
IMG-20251118-WA0003
IMG-20251118-WA0004
IMG-20251118-WA0006
Nov 16:
I tested first using only two buttons on a breadboard, but no matter what I did, I had problems either with the code or with connecting to Bluetooth, and the board would randomly disconnect
I thought about making it work with wifi, but it's too troublesome and I don't know how to do it
So after all that struggle (about 3 hours trying to make it work), I decided to just go wired, because I didn't think in my design about how to change the batteries or recharge them, so I was gonna leave the back side open or something, which isn't that good.
I did the wiring using Fritzing, though it isn't complete but just to get an idea of how to do the other buttons.
Capture d'écran 2025-11-16 173032
StreamDeck Wiring

Nov 18:
After gluing all the parts other than the bottom and top, I started soldering, and it was a real struggle
Soldering the buttons to the ground was the easy part, but soldering the ESP32 and the pins was really hard, and I burned myself many times.
I'm done for today with soldering, so I'm finishing the rest another time.
IMG-20251118-WA0018
IMG-20251118-WA0020
IMG-20251118-WA0013
IMG-20251118-WA0015IMG-20251118-WA0023IMG-20251118-WA0019
IMG-20251118-WA0012

Ahmed Ameur Kh Ahmed Ameur Kh added to the journal ago

Made the 3d model and laser cut it

I started this project in hopes of learning more about CAD, soldering, and ESP32 programming.
I started with a rough sketch drawn by hand to get the main idea out, and talked about my project to some friends to get a clear idea of what I can do.

8 Nov: I bought some parts I needed, such as switches, batteries, and an ESP32-Wroom.
#This is Nov 18, I should have bought an Arduino PRO MICRO ATmega 32U4, but I was thinking of making it wireless. I had lots of problems using the Bluetooth, so I scrapped the idea.
IMG-20251118-WA0022
So I wanted my Stream Deck to have 12 buttons, which I can configure to open apps, use shortcuts and do many other things. Basically, it's a fancy Macropad with Bluetooth or wifi.

11 Nov:
I started working on SolidWorks, but I didn't manage to get the results I wanted because of my lack of experience using it. So I decided to switch to Fusion 360.
My main concerns while doing the 3d model were learning a new software and planning something practical while also being appealing to the eye.
I didn't find keyboard keycaps or something similar, so I decided to just use normal switches and I would paint the caps later on.

After finishing the 3d model, I exported it as a STEP file from Fusion and brought it to Onshape to export it as DXF (file format needed to laser cut it)

I chose 5mm MDF wood as my base, so all the models have a thickness of about 5mm.

https://www.onshape.com/en/

It took me about 7 hours to make the finished 3d model
About 15-20 minutes to cut the parts and 20 minutes to buy other parts I didn't have.
Capture d'écran 2025-11-11 210021
Capture d'écran 2025-11-12 220456
Capture d'écran 2025-11-12 232816
Capture d'écran 2025-11-12 223608
Capture d'écran 2025-11-12 221307
Capture d'écran 2025-11-12 220442
Capture d'écran 2025-11-12 232825

Stream Deck V1
Stream Deck V1 parts - Side 2
Stream Deck V1 parts - frontsideStream Deck V1 parts - Component10(1)
Stream Deck V1 parts - Component11Stream Deck V1 parts - Component10
Stream Deck V1 parts - Sides (1)
Stream Deck V1 parts - Upperisde
Stream Deck V1 parts - Component9

Ahmed Ameur Kh Ahmed Ameur Kh started MDF Laser‑Cut Stream Deck (ESP32 Shortcut Keyboard) ago

11/18/2025 9 PM - Made the 3d model and laser cut it

I started this project in hopes of learning more about CAD, soldering, and ESP32 programming.
I started with a rough sketch drawn by hand to get the main idea out, and talked about my project to some friends to get a clear idea of what I can do.

8 Nov: I bought some parts I needed, such as switches, batteries, and an ESP32-Wroom.
#This is Nov 18, I should have bought an Arduino PRO MICRO ATmega 32U4, but I was thinking of making it wireless. I had lots of problems using the Bluetooth, so I scrapped the idea.
IMG-20251118-WA0022
So I wanted my Stream Deck to have 12 buttons, which I can configure to open apps, use shortcuts and do many other things. Basically, it's a fancy Macropad with Bluetooth or wifi.

11 Nov:
I started working on SolidWorks, but I didn't manage to get the results I wanted because of my lack of experience using it. So I decided to switch to Fusion 360.
My main concerns while doing the 3d model were learning a new software and planning something practical while also being appealing to the eye.
I didn't find keyboard keycaps or something similar, so I decided to just use normal switches and I would paint the caps later on.

After finishing the 3d model, I exported it as a STEP file from Fusion and brought it to Onshape to export it as DXF (file format needed to laser cut it)

I chose 5mm MDF wood as my base, so all the models have a thickness of about 5mm.

https://www.onshape.com/en/

It took me about 7 hours to make the finished 3d model
About 15-20 minutes to cut the parts and 20 minutes to buy other parts I didn't have.
Capture d'écran 2025-11-11 210021
Capture d'écran 2025-11-12 220456
Capture d'écran 2025-11-12 232816
Capture d'écran 2025-11-12 223608
Capture d'écran 2025-11-12 221307
Capture d'écran 2025-11-12 220442
Capture d'écran 2025-11-12 232825

Stream Deck V1
Stream Deck V1 parts - Side 2
Stream Deck V1 parts - frontsideStream Deck V1 parts - Component10(1)
Stream Deck V1 parts - Component11Stream Deck V1 parts - Component10
Stream Deck V1 parts - Sides (1)
Stream Deck V1 parts - Upperisde
Stream Deck V1 parts - Component9

11/18/2025 10 PM - Routing, Glueing and Soldering

Nov 15:
I got the parts today, but I noticed I made a big mistake while modeling. I didn't make enough room for the button pins to fit completely, so I had to glue them backward to the top part instead of soldering them on a perforated plate.
IMG-20251118-WA0007IMG-20251118-WA0008
IMG-20251118-WA0009

I assembled the Stream Deck without glueing first to see how it looked and if it fit nicely together,
I only regret making it too long, so the buttons appear really small; otherwise, I'm really satisfied, as this is my first design.

IMG-20251118-WA0001
IMG-20251118-WA0003
IMG-20251118-WA0004
IMG-20251118-WA0006
Nov 16:
I tested first using only two buttons on a breadboard, but no matter what I did, I had problems either with the code or with connecting to Bluetooth, and the board would randomly disconnect
I thought about making it work with wifi, but it's too troublesome and I don't know how to do it
So after all that struggle (about 3 hours trying to make it work), I decided to just go wired, because I didn't think in my design about how to change the batteries or recharge them, so I was gonna leave the back side open or something, which isn't that good.
I did the wiring using Fritzing, though it isn't complete but just to get an idea of how to do the other buttons.
Capture d'écran 2025-11-16 173032
StreamDeck Wiring

Nov 18:
After gluing all the parts other than the bottom and top, I started soldering, and it was a real struggle
Soldering the buttons to the ground was the easy part, but soldering the ESP32 and the pins was really hard, and I burned myself many times.
I'm done for today with soldering, so I'm finishing the rest another time.
IMG-20251118-WA0018
IMG-20251118-WA0020
IMG-20251118-WA0013
IMG-20251118-WA0015IMG-20251118-WA0023IMG-20251118-WA0019
IMG-20251118-WA0012