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
.
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…
attiny + v-usb ftw
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.
Remember that the RP2040 uses external program memory and needs a regulator which add to the BOM.
list of micro’s that could do this. any adruino with a usb hid extension.
1. cheaper
2. quicker boot time
3. less stupid
An Easy-To-Make Pi-Powered Pocket Password Pal that’s fun to be with.
Your password pal that’s fun to be with.
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.
Yes, link to Bitwarden: https://bitwarden.com/
(and thanks for telling there is something like “upstream Bitwarden client” )
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!
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.
Sorry, bitwarden is mentioned in the article, but not explained.
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.
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.
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.
Great, something else to lose when you get robbed by a bunch of teenagers that jump you