When Clever Hardware Hacks Bite Back: A Password Keeper Device Autopsy https://hackaday.com/2026/02/07/when-clever-hardware-hacks-bite-back-a-password-keeper-device-autopsy/
#ATtinyHacks #PeripheralsHacks #SecurityHacks #Attiny85 #Capslock #Hd44780 #Mooltipass #Passwordkeeper #USBHIDKeyboard
![<div><img alt="" class="attachment-large size-large wp-post-image" height="497" src="https://hackaday.com/wp-content/uploads/2026/01/hardware_password_keeper_alessandro_carminati.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /></div><p>Sometimes you have this project idea in your mind that seems so simple and straightforward, and which feels just so <em>right</em> that you have to roll with it. Then, years later you stumble across the sad remnants of the tearful saga and the dismal failure that it portrays. Do you put it away again, like an unpleasant memory, or write it up in an article, as a tearful confession of past sins? After some coaxing by a friend, [Alessandro] worked up the courage to detail how he set about <a href="https://carminatialessandro.blogspot.com/2026/01/when-clever-hardware-hacks-bite-back.html" target="_blank">making a hardware-only password keeper</a>, and why it failed.</p>
<p>The idea was so simple: the device would pretend to be a keyboard and type the passwords for you. This is not that unusual, as hardware devices like <a href="https://hackaday.com/2020/07/23/hands-on-wireless-login-with-the-new-mooltipass-mini-ble-secure-password-keeper/">the Mooltipass</a> do something similar. Even better, it’d be constructed only out of parts lying around, including an ATtiny85 and an HD44780 display, with bit-banged USB connectivity.</p>
<figure class="wp-caption alignright" id="attachment_915514" style="width: 400px;"><a href="htt](https://files.mastodon.social/cache/media_attachments/files/116/032/371/820/740/195/small/cbcfdd573da5a43d.jpg)

![<div><img alt="" class="attachment-large size-large wp-post-image" height="450" src="https://hackaday.com/wp-content/uploads/2026/01/I-Built-a-Macropad-With-a-Haptic-Feedback-Knob-0-12-screenshot.png?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /></div><p>Macropads can be as simple as a few buttons hooked up to a microcontroller to do the USB HID dance and talk to a PC. However, you can go a lot further, too. [CNCDan] demonstrates this well <a href="https://github.com/dmcke5/Hapticpad" target="_blank">with his sleek macropad build</a>, which throws haptic feedback into the mix.</p>
<p>The build features six programmable macro buttons, which are situated either on side of a 128×64 OLED display. This setup allows the OLED screen to show icons that explain the functionality of each button. There’s also a nice large rotary knob, surrounded by 20 addressable WS2811 LEDs for visual feedback. Underneath the knob lives an an encoder, as well as a brushless motor typically used in gimbal builds, which is driven by a TMC6300 motor driver board. Everything is laced up to a Waveshare RP2040 Plus devboard which runs the show. It’s responsible for controlling the motors, reading the knob and switches, and speaking USB to the PC that it’s plugged into.</p>
<p>It’s a compact device that nonetheless should prove to be a good productivity booster on the bench. We’ve featured [CNCDan’s] work before, too, <a href="https://hackaday.com/2](https://files.mastodon.social/cache/media_attachments/files/116/021/341/685/784/402/small/55406458845b5c59.png)
![<div><img alt="Illustrated Kristina with an IBM Model M keyboard floating between her hands." class="attachment-large size-large wp-post-image" height="484" src="https://hackaday.com/wp-content/uploads/2021/07/Keebin.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /></div><p>I just love it when y’all send in your projects, so thanks, [Kai]! But were do I even begin with this one? Okay, so, first of all, you need to know that [Kai Ruhl] built <a href="https://land-of-kain.de/docs/keyboard/" rel="noopener" target="_blank">an amazing split keyboard</a> with plenty of keys for even someone like me. Be sure to check it out, because the build log is great reading.</p>
<p><figure class="wp-caption alignright" id="attachment_905101" style="width: 400px;"><a href="https://hackaday.com/wp-content/uploads/2026/01/keymouse.png" target="_blank"><img alt="A lovely split keyboard on a pair of rails that doubles as a mouse. " class="wp-image-905101 size-medium" height="246" src="https://hackaday.com/wp-content/uploads/2026/01/keymouse.png?w=400" width="400" /></a><figcaption class="wp-caption-text" id="caption-attachment-905101">Image by [Kai Ruhl] via <a href="https://land-of-kain.de/docs/rollermouse/" target="_blank">Land of Kain</a></figcaption></figure>But that wasn’t enough — a mousing solution was in order that didn’t require taking [Kai]’s hands off of the keyboard. And so, over the course of several months, <a href="https://land-of-ka](https://files.mastodon.social/cache/media_attachments/files/116/014/204/123/465/396/small/2e12cda66a0a7220.jpg)



![<div><img alt="" class="attachment-large size-large wp-post-image" height="450" src="https://hackaday.com/wp-content/uploads/2026/01/hid-wifi-kb-featured.jpg?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /></div><p>There are many solutions for remote control keyboards, be they Bluetooth, infrared, or whatever else. Often they leave much to be desired, and come with distinctly underwhelming physical buttons. [konkop] has a solution to these woes we’ve not seen before, <a href="https://github.com/konkop/ESP32-S3-USB-HID-Macro-Keyboard-Web-Typing-Interface" target="_blank">turning an ESP32-S3 into a USB HID keyboard</a> with a web interface for typing and some physical keyboard macro buttons. Instead of typing on the thing, you connect to it via WiFi using your phone, tablet, or computer, and type into a web browser. Your typing is then relayed to the USB HID interface.</p>
<p>The full hardware and software for the design is in the GitHub repository. The macro buttons use Cherry MX keys, and are mapped by default to the common control sequences that most of us would find useful. The software uses Visual Studio Code, and PlatformIO.</p>
<p>We like this project, because it solves something we’ve all encountered at one time or another, and it does so in a novel way. Yes, typing on a smartphone screen can be just as annoying as doing so with a fiddly rubber keyboard, but at least many of us already have our smartphones to hand. <a href="https://hackaday](https://files.mastodon.social/cache/media_attachments/files/116/013/555/575/669/303/small/6874a1fb068d08c2.jpg)
![<div><img alt="" class="attachment-large size-large wp-post-image" height="450" src="https://hackaday.com/wp-content/uploads/2026/01/FEREX71MIRSAZT2-e1769123197608.webp?w=800" style="margin: 0 auto; margin-bottom: 15px;" width="800" /></div><p>These days, Windows has a moderately robust method for managing the volume across several applications. The only problem is that the controls for this are usually buried away. [CHWTT] found a way to make life easier <a href="https://www.instructables.com/5-Fader-Per-App-Volume-Control-Mixer-With-Motorize/" target="_blank">by creating a physical mixer to handle volume levels instead.</a></p>
<p>The build relies on a piece of software called <a href="https://www.midi-mixer.com/" target="_blank">MIDI Mixer</a>. It’s designed to control the volume levels of any application or audio device on a Windows system, and responds to MIDI commands. To suit this setup, [CHWTT] built a physical device to send the requisite MIDI commands to vary volume levels as desired. The build runs on an Arduino Micro. It’s set up to work with five motorized faders which are sold as replacements for the Behringer X32 mixer, which makes them very cheap to source. The motorized faders are driven by L293D motor controllers. There are also six additional push-buttons hooked up as well. The Micro reads the faders and sends the requisite MIDI commands to the attached PC over USB, and also moves the faders to different presets when commanded by the buttons.</p](https://files.mastodon.social/cache/media_attachments/files/115/993/086/942/589/885/small/319c0e40ce65e83a.png)