SMACK!
SMACK! is a one-button automation activator, that triggers digital and physical actions. It can send USB shortcuts, call webhooks, and trigger smart home automations. Simply SMACK to activate chaos (or productivity)!
Created by
David 🚀
Tier 3
1 view
0 followers
David 🚀
added to the journal ago
Designed Mechanism
With the schematic mostly done, I then looked at designing a mechanism for the button. I could have used a big prebuilt arcade button, but I was interested in how the mechanisms inside worked, and decided i could design, using just 3d prints, a compression spring, and a small microswitch.
So here's a rough sketch of what I came up with! Red is the 3d printed stuff, black is the button mechanism, and the grey thing is a spring. It should balance both stability and tactility, thanks to the guide shaft and inner spring shaft.

Here's the type of switch I'll use:

David 🚀
added to the journal ago
Added Envelope
(I accidentally left the last devlog as a draft, and just posted it, which is why this one is very close to the last one)
So I did some more research, and found that adding an envelope detection circuit would help improve the accuracy of being able to detect overall volume. I did a bit of physical testing and research, cause I don't fully understand analog signals.
But I think I've gotten smth that should smooth it out well enough!

David 🚀
added to the journal ago
Added Inputs
Been a little while, but I'm back working on it now! So I added some inputs, like light sensors, temperature sensor, and a microphone. The idea is that these will be able to help trigger different pathways or actions, when you enter the scene.

For the microphone I spent a while trying to design a good circuit to let the ESP easily detect rough volume.
David 🚀
added to the journal ago
Added Outputs



So, I have now added some outputs! I did a bit of research, and ideation, and decided that to make this more chaotic, I'd add both a vibration motor and buzzer, allowing for it to make some noise and rumble when you hit it. I also added some LEDs.
David 🚀
added to the journal ago
Swapped LDO
Quick update, but basically I just found out the LDO I was using could only output ~150mA, so I swapped it out for the more powerful AP2112K, which can output ~600-800mA.

David 🚀
added to the journal ago
Added the ESP32

So after finishing all my research, I started off by adding the main MCU circuitry. This includes an ESP32-S3-WROOM-1 (i'm using a WROOM to make soldering it easier), the USB-C port, and an LDO to provide a stable 3.3v line.
David 🚀
added to the journal ago
Planning
So for now I just started with a bunch of planning. I've decided on the core features, and the overall hardware/microcontrollers.
Basically, SMACK! is going to be a button that activates a 'scene' when you hit it, via calling webhooks, USB commands, etc. So when you sit down to work, you can 'smack' the button, and it will set everything up, open apps, call smart home commands, etc.
(I don't really have a great image, so here's an image of a button that gave me inspiration to make an extra large button that does something)

David 🚀
started SMACK! ago
1/26/2026 9 PM - Planning
So for now I just started with a bunch of planning. I've decided on the core features, and the overall hardware/microcontrollers.
Basically, SMACK! is going to be a button that activates a 'scene' when you hit it, via calling webhooks, USB commands, etc. So when you sit down to work, you can 'smack' the button, and it will set everything up, open apps, call smart home commands, etc.
(I don't really have a great image, so here's an image of a button that gave me inspiration to make an extra large button that does something)

1/26/2026 11:31 PM - Added the ESP32

So after finishing all my research, I started off by adding the main MCU circuitry. This includes an ESP32-S3-WROOM-1 (i'm using a WROOM to make soldering it easier), the USB-C port, and an LDO to provide a stable 3.3v line.
1/26/2026 11:41 PM - Swapped LDO
Quick update, but basically I just found out the LDO I was using could only output ~150mA, so I swapped it out for the more powerful AP2112K, which can output ~600-800mA.

1/27/2026 - Added Outputs



So, I have now added some outputs! I did a bit of research, and ideation, and decided that to make this more chaotic, I'd add both a vibration motor and buzzer, allowing for it to make some noise and rumble when you hit it. I also added some LEDs.
2/21/2026 7:10 PM - Added Inputs
Been a little while, but I'm back working on it now! So I added some inputs, like light sensors, temperature sensor, and a microphone. The idea is that these will be able to help trigger different pathways or actions, when you enter the scene.

For the microphone I spent a while trying to design a good circuit to let the ESP easily detect rough volume.
2/21/2026 7:20 PM - Added Envelope
(I accidentally left the last devlog as a draft, and just posted it, which is why this one is very close to the last one)
So I did some more research, and found that adding an envelope detection circuit would help improve the accuracy of being able to detect overall volume. I did a bit of physical testing and research, cause I don't fully understand analog signals.
But I think I've gotten smth that should smooth it out well enough!

2/22/2026 - Designed Mechanism
With the schematic mostly done, I then looked at designing a mechanism for the button. I could have used a big prebuilt arcade button, but I was interested in how the mechanisms inside worked, and decided i could design, using just 3d prints, a compression spring, and a small microswitch.
So here's a rough sketch of what I came up with! Red is the 3d printed stuff, black is the button mechanism, and the grey thing is a spring. It should balance both stability and tactility, thanks to the guide shaft and inner spring shaft.

Here's the type of switch I'll use:
