{"slug": "badger-an-e-ink-badge-i-use-for-conferences", "title": "Badger: An E-Ink Badge I Use For Conferences", "summary": "Developer Sean Boult built a conference badge using the Badger 2350 e-ink device from Badgeware, programming it with Python and AI assistance from Codex to display QR codes linking to his LinkedIn and personal site. The project includes a simulator for testing and a simple make deploy command for installation, with the full code available on GitHub.", "body_md": "I attend conferences regularly, and for years I’ve wanted a badge that makes it easy for people to find me online.\n\nIn 2019, I attended defcon and built [defpi](https://github.com/hacksore/defpi), a goofy raspberry pi powered badge.\n\nWhile that was fun I wanted a bit more turnkey and I found just what I wanted with a Badgeware [Badger](https://badgewa.re/) (nerdy [domain hack](https://en.wikipedia.org/wiki/Domain_hack) badgewa.re).\n\nSince my use case is to just have my socials via QR I chose the e-ink version as it made the most sense.\n\nSo what does the Badger come equipped with?\n\nI might not be the biggest Python fan but in the age of AI does it matter? I just ask Codex to help me get the desired outcome I'm looking for!\n\nSo Codex and I cooked a few hundred lines of Python and boom my profiles are only a QR code scan away.\n\nLet's take a look at my default badge screen in all its glory.\n\nSocial screen.\n\nAll in all it's pretty simple, get you to either my [LinkedIn](https://www.linkedin.com/in/seanboult) or my [personal site](https://seanboult.dev).\n\nThe crazy thing is the simulator lets me test the code before I deploy it to the badge.\n\n`make sim`\n\nand I'm able to test it locally.\n\nThen a simple `make deploy`\n\nwhile the badge is connected and it deploys it all.\n\nYou can check out the code repo if you wanna ~~steal~~ [slopfork](https://www.slopfork.dev/) my setup.\n\nPersonal [Badgeware](https://badgewa.re/) app for the Badger 2350.\n\nRequirements: macOS, [uv](https://docs.astral.sh/uv/), Git, and a data-capable USB-C cable. Run `make`\n\nto see the three available commands.\n\n```\nmake sim\n```\n\nThe first run clones and builds [Badgeware Desktop](https://github.com/pimoroni/badgeware-simulator) beside this repo. Later runs reuse that build, stage the current app in an isolated filesystem, and launch it at the Badger's 264×176 resolution.\n\nSimulator controls:\n\n`Space`\n\n: Button B; flip between the badge and social/QR screens`↑`\n\n/ `↓`\n\n: change the background pattern`←`\n\n/ `→`\n\n: Buttons A and C`Esc`\n\n: hot reloadConnect the Badger over USB-C.\n\nDouble-tap **RESET**. Wait for the `BADGER`\n\ndrive to appear.\n\nRun:\n\n```\nmake deploy\n```\n\nThe command validates the app, copies its Python and image files into `/apps/badge`\n\n, safely ejects the drive, and lets the badge reboot.\n\nThis installs the latest official firmware together…\n\nHappy conferencing, folks!\n\nPS: If you're going to be in Dallas for [Commit Your Code 2026](https://www.commityourcode.com/) come find me and I’ll show off the badge.\n\nFollow me for all things tech.", "url": "https://wpnews.pro/news/badger-an-e-ink-badge-i-use-for-conferences", "canonical_source": "https://dev.to/hacksore/badger-an-e-ink-badge-i-use-for-conferences-2jmh", "published_at": "2026-08-31 21:31:56+00:00", "updated_at": "2026-08-31 21:52:39.106950+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools"], "entities": ["Sean Boult", "Badgeware", "Badger 2350", "Codex", "GitHub", "LinkedIn", "defpi", "Raspberry Pi"], "alternates": {"html": "https://wpnews.pro/news/badger-an-e-ink-badge-i-use-for-conferences", "markdown": "https://wpnews.pro/news/badger-an-e-ink-badge-i-use-for-conferences.md", "text": "https://wpnews.pro/news/badger-an-e-ink-badge-i-use-for-conferences.txt", "jsonld": "https://wpnews.pro/news/badger-an-e-ink-badge-i-use-for-conferences.jsonld"}}