Target repository
This example should be created in micropython-steami-sample, not in micropython-steami-lib. BLE examples are not tied to a specific driver and belong in the sample repo.
What
Create an example that records RSSI measurements at different positions in a room. The user moves around with the scanner board and presses a D-PAD button to log the RSSI of visible beacons at each position. Data is saved as CSV via daplink_flash.
Why
Fourth step in the BLE + indoor localization path. Builds the dataset needed for indoor positioning. Teaches data collection methodology and the relationship between physical position and signal strength.
Suggested approach
- Place 2-3 beacon boards at known positions in a room
- Scanner board scans all beacons and displays their names + RSSI on the OLED
- User presses D-PAD RIGHT to record a measurement point
- OLED shows the point number and number of beacons seen
- Data is written to a CSV file via
daplink_flash (columns: point_id, beacon_name, rssi)
- Press D-PAD LEFT to stop and save
Learning goals
- Experimental data collection methodology
- Understanding RSSI variability (same position gives different readings)
- File I/O on MicroPython via DAPLink flash
- Introduction to the concept of a "radio fingerprint" of a position
Hardware
- 3-4 STeaMi boards (2-3 beacons + 1 scanner)
- SSD1327 OLED + D-PAD + DAPLink flash on scanner board
Depends on
Documentation
Write a pedagogical activity sheet for the STeaMi wiki covering:
- Learning objectives (data collection, RSSI variability, radio mapping)
- Room setup instructions (where to place beacons, grid layout)
- How to retrieve and analyze the CSV data
- Visualization suggestions (heatmap, scatter plot)
Target repository
This example should be created in micropython-steami-sample, not in micropython-steami-lib. BLE examples are not tied to a specific driver and belong in the sample repo.
What
Create an example that records RSSI measurements at different positions in a room. The user moves around with the scanner board and presses a D-PAD button to log the RSSI of visible beacons at each position. Data is saved as CSV via
daplink_flash.Why
Fourth step in the BLE + indoor localization path. Builds the dataset needed for indoor positioning. Teaches data collection methodology and the relationship between physical position and signal strength.
Suggested approach
daplink_flash(columns: point_id, beacon_name, rssi)Learning goals
Hardware
Depends on
Documentation
Write a pedagogical activity sheet for the STeaMi wiki covering: