Freedom TokensHost controller

BBC micro:bit V1 · Mac · three groups

Four boards. One room.

One receiver stays plugged into your Mac. Three battery-powered tokens go to Groups 1, 2, and 3.

1. Download the programs

Label your boards before you start. These files are for V1 micro:bits. Copying a program replaces the program currently on that board.

2. Load each board

  1. Connect one board to your Mac with a USB data cable. In Finder, open the MICROBIT drive.
  2. Drag the matching .hex file onto MICROBIT. Wait for the flashing light to stop. Repeat for the other three boards.
  3. Put battery packs on the numbered tokens. Leave the receiver connected by USB. A token shows its group number. The receiver initially shows an X until connected to the host page.

3. Start the host controller

  1. Use Chrome or Edge on your Mac. Open Host controller and enter your existing host passphrase.
  2. Close MakeCode, the Python editor’s serial console, and any other app using the micro:bit connection.
  3. Click Connect USB receiver, choose the micro:bit serial port, and click Connect. The page should say “Receiver connected” and the receiver display should show R.
  4. Select Discover, Challenge, or Act. Share the three group QR codes. Everyone joins the group that matches their token.
  5. Keep the controller tab open and the Mac awake, plugged in, and online. Only one controller tab should be connected. You can show slides in another tab or window while the controller receives button presses in the background. Do not close the controller tab or let the Mac sleep.

4. Check the group connections

Each token sends a short heartbeat about every two seconds, including while paused. The controller shows “Token connected” when it has heard from that group within eight seconds. “Token not detected” means it may be powered off or out of range. If the receiver is disconnected, token status is unavailable. All four boards need these updated programs; older programs still draw but do not report presence.

5. Set up a volunteer backup

In each group’s host panel, click Show draw link & QR and have one volunteer scan the draw QR code, or copy the link to them. Their phone gets a Draw for Group button that updates the same shared question. They do not need the host passphrase, a micro:bit, or the Mac receiver. The host must have selected an active round, and phones still need internet.

Draw links are permanent and require no secret or host login. Anyone with the draw link can draw for its group. Ordinary attendee links remain view-only.

6. Pass the token

The token holder presses A or the external button once. To add an external button, connect a normally open, two-wire momentary switch between pin 0 (P0) and GND on each group token. No power wire is needed. Load the latest group token program; the receiver does not need an update for this button. Holding the button draws only once. Release it before pressing again, including if held during startup. A small diamond means “waiting.” A checkmark means the website accepted the draw. Every phone in that group shows the same question. Press B to return to the group number.

The small bottom-right dot means the receiver is available and a round is active. An X means the draw is unavailable or was rejected. A ? means confirmation was lost: check the phones before pressing again. The card may have advanced even if the acknowledgement did not reach the token.

If something stops working

Before the meetup

Test all three tokens with two phones per group. Confirm that a draw changes only the matching group, then test a round switch, a pause, and a receiver disconnect/reconnect. Software simulations have passed; actual radio range, V1 memory use, USB behavior, and batteries must be checked on your four boards.

This group mode is separate from the original individual card game. The receiver relays local radio messages; it does not identify people. Radio messages are not encrypted or a security credential. The controller requires host authentication; separate public draw links are also available. Do not run another Freedom Token receiver at the same venue on the same radio settings.

V1 runtime: MicroPython 1.0.1 bundled with uflash 1.3.0. uFlash license · MicroPython license