Skip to content

feat: Add BLE hot/cold treasure hunt game. #411

@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 a "hot/cold" treasure hunt game using BLE. One board is the hidden "treasure" (beacon), the others are "seekers" that display proximity feedback on the OLED and play buzzer sounds.

Why

Third step in the BLE + indoor localization path. Makes RSSI-based proximity tangible and fun through a game mechanic that students can play immediately.

Suggested approach

  1. Treasure board: advertise as a beacon (reuse code from feat: Add BLE beacon advertising example. #409)
  2. Seeker board(s): scan for the treasure beacon, read RSSI
  3. Map RSSI to comfort zones: COLD / WARM / HOT / BURNING
  4. Display the zone name on the OLED with matching color and sprite (sad=cold, happy=hot — reuse steami_screen.face())
  5. Play buzzer beeps that accelerate as the player gets closer (higher frequency + shorter interval)
  6. Optional: vibration pattern or LED feedback

Learning goals

  • Practical application of RSSI → distance
  • Signal smoothing (moving average to avoid flickering between zones)
  • Multi-sensory feedback (screen + sound)

Hardware

  • 2+ STeaMi boards
  • SSD1327 OLED + buzzer on seeker boards

Depends on

Documentation

Write a pedagogical activity sheet for the STeaMi wiki covering:

  • Learning objectives (BLE, signal strength, distance estimation)
  • Step-by-step instructions for students
  • Expected behavior and how to interpret the results
  • Extension ideas (multiple treasures, team competition, etc.)

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