1) Project Specs (What You’re Building)
Project Name
Micro:bit Radio Text Messenger (with Sender ID)
Overview
You will program two BBC micro:bits to communicate using the built-in radio feature. The sender micro:bit lets the user select a message from a menu and transmit it. The receiver micro:bit scrolls the received text (including the sender ID).
Example Message Format
502: HELLO
Hardware Required
- 2 × BBC micro:bit (v1 or v2)
- 2 × USB cables (or battery packs)
Radio Settings (Must Match on Both)
| Setting | Value | Notes |
|---|---|---|
| Radio Group | 42 | Both devices must use the same group number. |
| Radio Power | 7 | Max power for better range (0–7). |
Controls
| Device | Control | Action |
|---|---|---|
| Sender | Button A | Previous message |
| Sender | Button B | Next message |
| Sender | Buttons A + B | Send selected message with ID prefix |
| Sender | Display | Shows message index + send confirmation |
| Receiver | Incoming radio | Scroll received text on LED display |
| Receiver | Button A | Replay last received message |
Success Criteria:
- Sender transmits a message like
ID: MESSAGE - Receiver scrolls the incoming text
- Receiver replay works using Button A
2) Pseudocode
Sender Micro:bit Pseudocode
SET SENDER_ID to a unique string (ex: "502")
SET radio group to 42
SET radio power to 7
CREATE list of messages
SET index to 0
DISPLAY index
FOREVER:
IF button A pressed:
decrement index (wrap around)
display index
IF button B pressed:
increment index (wrap around)
display index
IF buttons A and B pressed:
full_message = SENDER_ID + ": " + selected message
SEND full_message over radio
DISPLAY checkmark
DISPLAY index again
Receiver Micro:bit Pseudocode
SET radio group to 42
SET radio power to 7
SET last_message to "NONE"
FOREVER:
IF radio message received:
store message as last_message
scroll message on display
IF button A pressed:
scroll last_message
3) Final MicroPython Code
A) Sender Micro:bit (with Sender ID)
Important: Make sure
RADIO_GROUP matches on both micro:bits.
Change SENDER_ID on the sender so your messages identify the correct device (example: 502). 4) Student-Facing Spec Sheet (Rubric-Ready)
Objective
Program two micro:bits to send and receive text messages with a sender ID using radio communication.
Requirements
- Sender micro:bit
- Uses radio communication
- Includes sender ID in format:
ID: MESSAGE - Button A: previous message
- Button B: next message
- Buttons A+B: send message
- Shows confirmation after sending (checkmark or icon)
- Receiver micro:bit
- Receives and scrolls radio text
- Stores last received message
- Button A replays last received message
Deliverables (What to Turn In)
| Type | File Name | What It Shows |
|---|---|---|
| Python File | PX_microbitSender_lastname.py |
Sender code with ID + menu + send |
| Python File | PX_microbitReceiver_lastname.py |
Receiver code that displays + replays |
| Screenshot (PNG) | PX_senderCode_lastname.png |
Screenshot of your sender code |
| Screenshot (PNG) | PX_receiverCode_lastname.png |
Screenshot of your receiver code |
| Proof (PNG) | PX_radioProof_lastname.png |
Receiver displaying an ID message like 502: HELLO |
Turn-In Steps
- Verify you are using the correct assignment on the class website / Google Classroom.
- Confirm your file names match the required format.
- Upload all required files (2 Python programs
.py+ 3 Screen prints.png). - Click Turn In.
Grading Rubric (100 pts)
| Category | Points | What I’m Checking |
|---|---|---|
| Sender ID Format | 20 | Message includes ID like 502: HELLO |
| Sender Controls | 20 | A/B selects, A+B sends, feedback shown |
| Receiver Functionality | 20 | Receives + scrolls text correctly |
| Replay Feature | 10 | Button A replays last message |
| Code Quality | 15 | Organized, readable, commented |
| Correct File Names + Screenshots | 15 | All required files present and named correctly |
Reminder: Your proof image must clearly show the receiver displaying the sender ID + message format.