# Pop Boll maker codes

Version 1 · Status: draft · Updated 2026-11-10 · As of Bollawax 0.2.4 and Bollard SDK 0.1.0

> **Draft, and not legal advice.** This page explains the maker codes in Pop Boll device serials and how to get one. It is not a contract and counsel has not reviewed it. The [Bollawax Device Licence](https://popboll.com/device-licence) and the [trademark policy](https://popboll.com/trademarks) are the texts that count.

Every physical device that runs Bollawax carries one device identity, a serial like this:

```
PB0007-UNOQ-2822080200
│      │    └── hardware id: ties the serial to the board (from the board's own serial number)
│      └─────── maker code: who made the device
└────────────── PB + the unit's number (PB0000 until it is provisioned)
```

If you build a Compatible Device and sell it with a Genuine Image, the [Device Licence](https://popboll.com/device-licence) asks you to give each device a serial with **your own maker code**. A maker code is free. You do not need one to build a prototype for yourself.

## The rule for a code

- **3 to 6 upper-case letters**, `A` to `Z`, for a maker: `ACME`, `BOLTCO`, `ZED`.
- Digits are kept for Pop Boll's own boards. That is why `PI5` (the Raspberry Pi 5 board) can exist and a third-party code cannot have a digit. The general shape of a code in a serial is 3 to 6 upper-case letters or digits, starting with a letter; a serial whose code has any other shape is not a device serial.
- **First come, first served.** We may refuse a code that is confusingly similar to one of Pop Boll's names (see the [trademark policy](https://popboll.com/trademarks)) or to another maker's code, or one that is offensive.
- A code is yours for as long as you make devices. It is not a trademark licence: it says whose device a serial belongs to, so the Service can admit your devices, and, under the Device Licence, refuse them if it has to.

## How to ask for one

Use the contact form under every [developer page](https://popboll.com/spec). Tell us:

1. the code you would like (and a second choice),
2. your name or your company's name, and a contact address,
3. in a sentence, what you are building (which device profile, which board).

There is no fee and no review of your product. When we register the code we add it to the table below and to the list of devices bollawax.org admits (a `device: PB*-<CODE>-*` line in its `candles.txt`), so your devices can fetch updates and corpora. Your factory then sets the code when it provisions each device.

## Kinds

| Kind | Meaning |
| :--- | :--- |
| first-party | Pop Boll's own boards |
| third-party | a maker's code, registered on request |
| reserved | never issued: the simulator, codes that old test and virtual serials carry, and the two examples these pages use |

## The registry

| Code | Name | Kind | Registered | Contact | Notes |
| :--- | :--- | :--- | :--- | :--- | :--- |
| `UNOQ` | Pop Boll (Arduino UNO Q boards) | first-party | 2026-11-09 | — | A Bolltridge cart built on the Arduino UNO Q. Every serial from before the registry existed carries it. |
| `PI5` | Pop Boll (Raspberry Pi 5 / Compute Module 5 boards) | first-party | 2026-11-09 | — | A Bolltridge cart built on a Raspberry Pi (Compute Module 5). The only code with a digit; third-party codes are letters only. |
| `SIM` | The simulator | reserved | 2026-11-09 | — | A dev machine, a VM or a container. Never a shipped device. |
| `WEB` | Virtual Bolls on popboll.com | reserved | 2026-11-09 | — | Used in virtual serials (VPB0007-WEB-...). Not a physical device. |
| `CLOUD` | Cloud test devices | reserved | 2026-11-09 | — | Used in virtual serials (VPB0007-CLOUD-...). Not a physical device. |
| `PEER` | Test peers | reserved | 2026-11-09 | — | The USB swap and jam test peer (PB0002-PEER-99887766). Not a physical device. |
| `USB` | Test peers over USB | reserved | 2026-11-09 | — | The appliance's USB swap test peer (PB0002-USB-PEER-774411). Not a physical device. |
| `ACME` | Documentation example | reserved | 2026-11-09 | — | An example of an admitted maker on these pages. Never assigned. |
| `EVIL` | Documentation example | reserved | 2026-11-09 | — | An example of a refused maker on these pages. Never assigned. |

No third-party code has been registered yet.

The table is the registry as the open Bollard SDK ships it (`bollardeck.device.identity.registry()`, checked by the `makers` schema). The SDK's copy is the source and this page mirrors it.

## Reading the two first-party rows today

The notes on `UNOQ` and `PI5` were reworded in the registry for Bollard SDK 0.1.0, after two changes:

- **The computer is now a cart.** The Pop Boll's brain is the Bolltridge, a removable cart; the ball and the Glass Snipler are docks for it. A serial names a cart, not a ball or a slab, and a dock has no device serial. So `UNOQ` is the code of a Q cart, a Bolltridge built on the Arduino UNO Q, whatever it is docked in.
- **`PI5` is not the Glass Snipler's board,** as its note once said. It is the code of a Pi cart, a Bolltridge built on a Raspberry Pi Compute Module 5. The carts of this round are Q carts only, and the Glass Snipler takes the same cart as the Boll. The Pop Boll image still carries support for both board families and for the simulator, and picks one when it starts.
- **The Glass Snipler has no image of its own.** Since Bollawax 0.2.4 the Snipler's files are not in the Pop Boll image either: they are a separate layer that a device fetches. A Boll serves its `/pwhamss` page either way; until it has fetched the layer, the page says that the layer is not installed. A device fetches and runs the layer under the [Snipler Use Grant](https://popboll.com/snipler-use-grant).

## What is not built

- **No self-service registration.** There is no form that issues a code; a person reads the contact form and registers it by hand.
- **No automatic admission.** Registering a code does not by itself let devices in: the `candles.txt` line is added by hand, and until it is, bollawax.org does not answer those devices.
- **No check on the device.** A device does not ask the registry whether its own code is registered, and nothing stops a serial from carrying a code that is not. The Service decides through `candles.txt`.
- **No published contact addresses.** The contact column is empty until makers say they want theirs shown.
- **No transfer or retirement process** for a code whose maker stops making devices.
