Skip to main content

Ten PCB revisions, and why Kamoji is open hardware

· 5 min read
Originally US

By November 2023, the project had a name on the PCB silkscreen: "Kamoji prototype v1 p0", crafted by Originally US. What followed was ten PCB revisions, one deliberately reversed decision, and a set of component choices aimed less at us and more at whoever wants to build on this board after we're done with it.

No battery, on purpose​

One decision got made early and never revisited: Kamoji has no internal battery. That's not a cost cut, it's a safety call. Kamoji lives on a car dashboard, and a dashboard in direct sunlight gets hot enough that putting a lithium cell there is a bad idea. Kamoji draws power from the car instead, over USB. Clean, safe, and one less thing that can fail over years of daily use in a hot car.

A display that stopped breaking during assembly​

Up to Revision 7, the display's flex connector was soldered directly to the board — no connector, just a permanent joint. That was fine on a bench. It was not fine once full assembly started: the tight fit inside the helmet was cracking screens during assembly, and a broken screen soldered straight to the board meant desoldering the flex cable and soldering in a new display by hand, every time. Slow, and easy to damage something else in the process.

R8 replaced that joint with a removable FPC connector, so a cracked screen during assembly (or later, in the field) is a matter of unclipping one and clipping in another — no iron required.

Staying awake just long enough to say goodbye​

Having no battery raises an obvious question: what happens the instant you unplug it? On the R8 board, the answer is a supercapacitor — not a battery, and not meant to run the device independently, but enough charge to keep Kamoji powered for a few seconds after USB power is cut. That's enough time to save trip statistics and play a short goodbye animation before shutting down cleanly, instead of just going dark mid-frame.

R8 also added a pogo-pin connector on the underside of the board — magnetic, in the same spirit as Apple's MagSafe, so an accessory snaps into alignment rather than needing to be plugged in precisely. It's unpopulated today. It's there for future expansion — additional sensors, or an external battery pack for people who want to run Kamoji off the dashboard entirely, say sitting on a desk. Nothing ships on that connector yet. It's board real estate reserved for later, on purpose.

Two boards, one board, two boards again​

The production board is labelled R7.2, which undersells it — the actual count is at least ten distinct iterations. Version numbers don't increment neatly when you're learning fast and reversing decisions.

Revision 1 split the electronics across two PCBs in an L-shape. That wasn't arbitrary: at that stage there was still real uncertainty about which sensors would survive contact with reality, so committing to a single compact board would have meant locking in answers we didn't have yet. Two boards also left room for the debug headers and test points that early-stage hardware needs — real estate you don't want competing for space on the board you eventually ship.

Revision 2 combined the two boards into one flat PCB, on the logical assumption that simpler is better. It introduced two problems we hadn't anticipated. The USB-C port stood vertically proud of the board surface — mechanically fragile, a bad fit for a device that gets handled often. Worse for the product direction: a flat board is geometrically hostile to a rounded enclosure. There's no elegant way to wrap smooth, curved surfaces around a rectangular slab.

Later revisions went back to two boards, but better than Revision 1: the USB-C connector redesigned into a recessed, more robust mount, and the L-shape replaced by a stacked arrangement that worked with the helmet geometry instead of fighting it. The two-board split also opened a future the single board had closed off — the lower board can be revised independently, so future hardware can add sensors or connectivity without a full redesign of the main board.

The lesson: don't simplify for simplicity's sake. Simplify when the trade-offs are actually better, not just when there are fewer parts.

Building a board other people can actually work on​

From day one, the plan was to fully open-source Kamoji once it shipped. That's a product philosophy, not an afterthought — Originally US has a long history with open source, and we wanted the firmware platform to let people hit the ground running. That's the reasoning behind starting on Arduino: the most established maker platform, with the largest community and the least friction to get started.

The same philosophy runs down to the components on the board. The rule was: good enough for production, small enough to keep the board compact, but never so small that the maker community can't source or hand-solder a replacement. The smallest component on the board is 0805 — we deliberately stayed off 0603 or 0402, sizes most makers aren't comfortable soldering by hand. Most of what's on the board is popular, well-documented, and easy to buy.

We also left deliberate room for advanced makers to wire in their own sensors and attachments beyond what Kamoji's own firmware uses. That's an intentional invitation, and it's the reason we're planning a tutorial and video series under the name "Made with Kamoji" — projects that use the Kamoji board as a development platform for things that have nothing to do with Kamoji itself.

This is the second post in a series on how Kamoji got built. Next: the 19-month pause, and rebuilding the firmware from scratch on ESPHome.