Giving my Keyboard Wedge a Brain

Finished product glamour shots(The circuit boards on the left is the original keyboard wedge.)

Everything fit! (Just barely!) Here is a list of the components: ESP32-S2 with a USB Type-C connector (, Elechouse PN532 V4, 10k resistor, and a white LED.

I chose this dev board by LilyGo because it comes with dip switches that can change the USB Type-C’s data pins from the ESP’s program-upload pins to the ESP’s OTG (keyboard) pins. I exposed these switches by using a hot screwdriver to melt a hole in the back of the black plastic casing.

When wifi is enabled it runs at 170mA which is around 3 times the current of the original Dangerous Things Keyboard Wedge(60mA).


Cool :sunglasses:

But what’s it do?
for those of us illiterate I’m esp32 and arduino stuff (that’s related right?)

1 Like

The ESP32 chip has Bluetooth and WiFi built in.
So if programmed properly, you would now get a wireless wedge. I’m assuming that’s the goal …

Would you be interested in sharing the code?
I’m curious how you did it.

Nice - one of the best things about the DT wedge is if you break it or dismantle it, you can make a pretty simple xled lighting rig.

I dremeledmout the antenna and connected a 3.3v battery to it.

Now I have a pocket showeroffer


Currently I’m using the upgraded wedge to type a pre-stored password whenever an accepted tag is read. The wifi capabilities allow me to use Vivokey’s Scan API with my spark 2 for better authentication than just my UIDs. My end goal is to use Vivokey’s Key Value Store API so that the password can be encrypted and stored securely outside of the device.

I was wondering what I could do with my old wedge, great idea @LordSethos2000 !


@XEMON If you’re looking for the code for a wireless keyboard wedge:

A lesson I had to learn the hard way is the ESP32 ≠ ESP32-S2, the S2 version has the OTG pins required for pretending to be a USB keyboard. The ESP32 does not, meaning the ESP32 can only be a bluetooth keyboard wedge, not a USB keyboard wedge.

1 Like

I will bear that in mind if I ever port my work to the esp32. I currently have two tasks left to do on the current version, then port to pico…

1 Like

awesome, thanks.

Hows the range on the PN532-V4?
Ill add it to the database

The range is great! I would say it is worth the cost and extra shipping time to get an Elechouse PN532 over a knock-off PN532 that is closer. I can get successful scans of an xSeries approximately 1cm away from the circuit board.

Keyboard Wedge Update! A user provided username and password is encrypted by the ESP32-S2 and stored on Vivokey’s servers using Vivokey’s Key Value Store API. The stored username and password can then be retrieved, decrypted, and typed on every authenticated scan.

Since I am new to the world of encryption and I am unsure what an acceptable level of encryption would be, I would appreciate if someone could provide some input/critiques on my encrypt() and decrypt() functions please?

1 Like