PI1 — Instrumented Payload Bus (Level 1: Proof & Confidence)
Mission Goal
Bring up a Raspberry Pi “payload bus” that reads at least one sensor and outputs a clean, human-readable status line on demand.
Why This Matters
Before advanced missions, you must prove basic payload bus health: power, sensor readout, and predictable status output.
What Data You Collect
- Basic sensor reading (choose one): temperature, humidity, pressure, light, or CPU temperature
- Timestamp
- System status: uptime, disk free (optional)
Hardware / Software Needed
- Raspberry Pi (any model with Raspberry Pi OS)
- Power supply, microSD card
- Optional sensor: BME280 / DHT / light sensor (or use CPU temperature if no sensor)
- Python 3
Inputs From Other Teams
- Data: Recommend a standard status line format.
- Command & Control: Define “payload bus alive” readiness check.
- Comms: If sending status over network, agree message format and endpoint.
What You Must Produce (Deliverables)
- A Python script that prints a status line reliably.
- A short README: how to run it, what it outputs.
- A screenshot/photo of terminal output.
Step-by-Step Build
- Boot Raspberry Pi OS and open Terminal.
- Create a folder:
mission_instrumentation/pi1. - Write a Python script that:
- Gets timestamp
- Reads a sensor value (or CPU temperature)
- Prints a single formatted status line
- Run the script 5 times. Confirm output format is identical each time.
- Optional: add a simple CLI flag like
--jsonto output JSON.
Data Format / Output
Recommended single-line output:
TS=2025-12-29T19:44Z | TEMP_C=23.1 | UPTIME_S=1234
Analysis Ideas
- Collect 20 samples and compute average/min/max.
- Compare CPU temperature before/after workload.
- Check sensor stability over 10 minutes.
Success Criteria
- Script runs without errors and produces a clean status line.
- Data fields are labeled and units are clear.
- Team can explain what would make the data unreliable (warm hands, CPU load, poor sensor wiring).
Evidence Checklist
- Screenshot/photo of output
- Script file saved and named clearly
- README with run instructions
Safety & Privacy
- Power safety: correct PSU, avoid exposed wires.
- No personal identifiers in logs.
- Handle electronics with dry hands; keep liquids away.
Common Failure Modes
- Sensor wiring incorrect (3.3V vs 5V confusion).
- Missing libraries or wrong I2C configuration.
- Output changes format across runs (hard to parse later).
Stretch Goals
- Add JSON output mode.
- Add a “health” flag (OK/WARN) based on thresholds.
- Write a systemd service to run at boot.
Scaffolding Example (optional)
You are allowed to reuse structures and formats from other teams — but not their decisions.
Example: “Sputnik Beacon” on Pi (simple)
- Script prints a timestamped beacon line every 2 seconds.
- Optional: write to a log file so data survives reboot.
Example evidence
- Photo of terminal output + snippet of the saved log file.