An Easy-To-Make Pi-Powered Pocket Password Pal

Sometimes, we see a project where it’s clear – its creator seriously wants to make a project idea accessible to newcomers; and today’s project is one of these cases. The BYOPM – Bring Your Own Password Manager, a project by [novamostra] – is a Pi Zero-powered device to carry your passwords around in. This project takes the now well-explored USB gadget feature of the Pi Zero, integrates it into a Bitwarden-backed password management toolkit to make a local-network-connected password storage, and makes a tutorial simple enough that anybody can follow it to build their own.

For the physical part, assembly instructions are short and sweet – you only need to solder a single button to fulfill the hardware requirements, and there’s a thin 3D-printable case if you’d like to make the Pi Zero way more pocket-friendly, too! For the software part, the instructions walk you step-by-step through setting up an SD card with a Raspbian image, then installing all the tools and configuring a system with networking exposed over the USB gadget interface. From there, you set up a Bitwarden instance, and optionally learn to connect it to the corresponding browser extensions. Since the device’s goal is password management and storage, it also reminds you to do backups, pointing out specifically the files you’ll want to keep track of.

Overall, such a device helps you carry your passwords with you wherever you need them, you can build this even if your Raspberry Pi skills are minimal so far, and it’s guaranteed to provide you with a feeling that only a self-built pocket gadget with a clear purpose can give you! Looking for something less reliant on networking and more down-to-commandline? Here’s a buttons-and-screen-enabled Pi Zero gadget that uses pass.

16 thoughts on “An Easy-To-Make Pi-Powered Pocket Password Pal

  1. well, that seems complete processor overkill when all it is doing is remembering passwords… And takes a minute to boot? Hilarious.. 8266 anyone? Or a esp32 s2 if you want usb otg…

      1. Why would you do that? atttiny as a SoC is massively more expensive than RP2040 SoC.
        And a board (with all the needed supporting HW like USB connector and resistors, DIY or not) with attiny is still massively more expensive than any of the RPi Pico variants.

  2. The article runs an alternative implementation of the Bitwarden server API written in Rust and compatible with upstream Bitwarden clients.

    So all your “it runs on an MCU” comments are wrong, missing the point and just jumping straight to the comments section without even understanding the need for this solution.

  3. just what I need, a password manager that takes a minute to boot, runs a webserver, has an sdcard, and an operating system, and needs a few gb’s of “helper libraries”.

    Why not write it in java?

    it would be more secure, run faster, and take only an hour to boot at best!

    1. The author didn’t adequately explain what this device actually does – it is not just a web server that stores 8 character passwords and shares them via its web server.

      Take a look at bitwarden, the unmentioned core of this system.

      There’s lots of fun tech in this project, for example when the device is plugged into a computer USB port it presents itself as a USB ethernet adapter, assigning the host computer an IP address.

      1. Yes, the USB ethernet presentation is the heart of the project. It’s the same principle used by those folk who want to use an ipad as a fully fledged linux dev env – plug and go, unfettered (albeit underpowered) linux “box” at your disposal.

        I’m still not sure what one gains from running a bitwarden server locally, though? The only real use-case I can think of is in air-gapped/net-less environment, which is pretty unusual. Even in a public use environment such as internet cafes (are they still a thing?) or libraries (ditto), this approach doesn’t improve your security afaics.

        1. One advantage of running a self-hosted version is that it allows for usage of the commercial features without the cost.

          Admittedly, some of those features are negated by running it is a USB-connected scenario.

  4. Problem here might be that micro-USB port, it tends to be a bit shoddy and not like frequent manipulation.
    I wonder why the RasPi foundation didn’t make a small change and moved to an USB-C version.
    The Pico can be purchased in China in variants with USB-C ports though, which should improve things.

    Or you could build an adapter into the box of this project so that the micro-USB port only needs to be plugged once and an USB-C port would be exposed to the outside. Which would also mean you can use the same cable as most Android phones (and soon EU iphones) already require.
    Plus with an adapter set in the box you have the advantage that if the port breaks you just replace the adapter.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.