HID emulator for Phone-based Password Managing

Bluetooth dongle to pair with your cellular phone for universal password management. The name? The Micromanager.

Similar projects worth following
A small, affordable Bluetooth dongle that plugs into your device and emulates a HID keyboard. You choose the password on your phone, and the dongle "types" the password into the keyboard field or places it in the clipboard. Password is transmitted with asymmetrical encryption with the private key being generated at each power-on of the dongle. Public key is transmitted to phone when paired via Bluetooth.

This is a two-part project: the password manager on a cellular device and the corresponding hardware. The app is a simple one where a password can be entered or generated. It is then encrypted and stored in a database stored on a server and cached locally. When the app runs, the user selects a password to transmit, enters a PIN, and that's it. The password is decrypted to RAM, and then the handshake with the hardware begins. 

RSA is used to retrieve the symmetrical key from the dongle. The now cleartext password in RAM is then re-encrypted with the dongle's symmetrical key and transmitted to the dongle. The dongle decrypts the password on chip, and acts as a keyboard and types the characters into wherever the user's cursor is. 

The benefits of this solution:

  • Password is only cleartext in RAM and on the USB bus
  • Only as vulnerable as manually typing password
  • Database is stored where you choose, no central point of failure for all users
  • Bluetooth communication is resistant to eavesdropping
  • Room for future improvements!


  • Convenience - it's not as user-friendly as a browser plugin or bookmarklet
  • Subject to 2.4GHz jamming

  • On HID emulation...

    Ron Brogan08/21/2014 at 04:43 0 comments

    Well, I've been looking into the best way of emulating an HID keyboard. If I end up going with an at* microcontroller, V-USB would be the most logical choice. However, it may be best to use the bluetooth chip's SoC to handle the USB if possible. For example, this might be possible with the Texas Instruments chip, however it may not be with the CSR device. Further investigation is most certainly required. 

    There's always bitbanging USB 1.1......or not...

  • Initial board form-factor

    Ron Brogan08/21/2014 at 02:37 0 comments

    Above is a board layout to get a feel for how components might be placed on the final product. I don't have a schematic or BOM available, because those parts are still in flux. I'm also still determining what bluetooth module to go with and if I'll be using an external microcontroller. 

    For which bluetooth chip to use, I'm getting ready to evaluate two components:

    I have ordered a breakout board to test these components and hopefully provide a good testing platform. I've included a screenshot from Eagle below.

    It's all modular with .1" headers and should be able to accommodate QFN 32 5mmx5mm as well as QFN 40 6mmx6mm.  This way it is possible to use jumper wires to change configuration quickly. The above board fits on a 5x5cm board, which brings the cost down to below 1 dollar per board, which is pretty awesome. Once these come in, I'll begin with the testing of which chip to use, or if an entirely different product is needed.

  • Video Demo of encryption handshake

    Ron Brogan08/15/2014 at 19:45 0 comments

    Here's the video of the handshake in action. Also I show the data that is transferred to show that encryption does indeed happen!

  • Software Proof of Concept functional

    Ron Brogan08/15/2014 at 19:04 0 comments

    Today I completed a software-only prototype of my project. Using C# and the loopback interface, I've established a secure key exchange for safe bluetooth communications. The next step is to implement my dongle code on a microcontroller, and communicate over a serial interface to simulate bluetooth. I'll be uploading a video soon of what I have as far as implementation. 

    So far:

    • RSA-based key exchange
    • 128bit AES encryption

    To be done:

    • Implement on microcontroller.
    • Establish bluetooth communications to microcontroller.
    • Setup HID emulation.
    • Full phone app for database communication.
    • Feature creep?

View all 4 project logs

Enjoy this project?



Catalin Hausi wrote 05/14/2018 at 21:44 point

Is this project still alive? I know it's been a while since the last update, but it would be nice to hear from the developer again. I want to make a similar product for commercial use, and would be interested in the developer's oppinion about using some of the resources from here.

  Are you sure? yes | no

helge wrote 04/15/2018 at 22:21 point

There's already some great open source camera software called Micro-Manager ( ) ... perhaps you can find a different name and avoid possible confusion :)

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates