Skip to content

feat: Add BLE indoor map with real-time position display. #414

@nedseb

Description

@nedseb

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 draws a simplified room plan on the OLED and displays the mobile board's estimated position in real time, using trilateration data from 3 BLE beacons.

Why

Final step in the BLE + indoor localization path. Visual capstone that combines all previous work into a live demo. Students see their position move on the screen as they walk around the room.

Suggested approach

  1. Hardcode a simple room outline (rectangle or L-shape) as line segments
  2. Draw the room on the OLED using `steami_screen` line/rect primitives
  3. Mark the 3 beacon positions as fixed circles
  4. Run the trilateration from feat: Add BLE trilateration indoor positioning example. #413 in a loop
  5. Draw the estimated mobile position as a bright filled circle that moves in real time
  6. Optional: draw a trail of the last N positions to show the path

Learning goals

  • Coordinate system mapping (room meters → screen pixels)
  • Real-time visualization of computed data
  • Full integration: BLE scanning + signal processing + math + rendering

Hardware

  • 4 STeaMi boards (3 beacons + 1 mobile with OLED)

Depends on

Documentation

Write a pedagogical activity sheet for the STeaMi wiki covering:

  • Learning objectives (coordinate mapping, real-time systems, full-stack embedded)
  • How to set up the room (beacon placement, measurements)
  • How to calibrate the coordinate system
  • Demo scenario for a classroom presentation

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions