Embedded Performance and Environment Monitoring

Cello Analyzer

Project Summary

A Photon 2–based system for cello performance and instrument care.

The Cello Analyzer combines a PDM microphone, DHT20 environmental sensor, SparkFun MicroOLED, RGB LED, buzzer, Particle Cloud, Initial State, Blynk, and a PySide6 desktop dashboard to monitor live playing dynamics and safe storage conditions in one device.

  • Live waveform visualization
  • Dynamic labels from pp to ff
  • Temperature and humidity tracking
  • Cloud, mobile, and desktop views

Sizzle Reel

Cello Analyzer sizzle reel thumbnail

Performance

Estimates sound level from PDM audio, maps it to musical dynamics, and draws the waveform on the OLED.

Environment

Tracks temperature and humidity to determine whether the cello is in a safe, cautionary, or problematic environment.

Feedback

Uses an RGB LED, buzzer, OLED pages, Initial State, Blynk, and a desktop dashboard for live feedback and logging.

Build

Hardware and Setup

Component Pin Purpose
PDM MicrophoneA0Microphone clock signal
PDM MicrophoneA1Microphone data input
RGB LED RedD2Red channel for visual feedback
RGB LED GreenD3Green channel for visual feedback
RGB LED BlueD4Blue channel for visual feedback
Piezo BuzzerA5Audio feedback for dynamic transitions
Enable SwitchD6Turns the system on or off
PushbuttonD7Cycles through OLED pages
MicroOLED DisplayI2CDisplays waveform, dynamics, and environment data
DHT20 SensorI2CMeasures temperature and humidity
LiPo BatteryJST battery connectorPortable power supply
Cello Analyzer front view
Cello Analyzer side view
Cello Analyzer top view

Wiring Diagram

Cello Analyzer wiring diagram

Display System

OLED Pages

  1. Performance: live waveform, current dynamic, and current volume percentage
  2. Dynamic Trend: percentage of time spent in pp, p, mp, mf, f, and ff
  3. Current Environment: current temperature and humidity
  4. Environment History: temperature high/low and humidity high/low

The waveform is drawn on the first page by drawPerformanceScreen() in src/celloanalyzer.cpp.

Cello Analyzer OLED display

Connectivity

Cloud, Initial State, and Blynk

Initial State Event

The project publishes the event Cello_Analyzer every 2500 ms using millis()-based timers.

[
  {"key":"volume","value":42},
  {"key":"temperature","value":23.2},
  {"key":"humidity","value":55.4},
  {"key":"dynamic","value":"pp"}
]

Cloud Variables

mode
dynamic
volume
raw
temp
hum
alert
celloHealth
Initial State Tile Type Purpose
HumidityGauge TileDisplays current humidity with a visible safe-range region
TemperatureGauge TileDisplays current temperature in Celsius using a thermometer-style visualization
VolumeLine Graph TileDisplays historical trend of volume percentage over time
Current DynamicSummary TileDisplays the current dynamic label such as pp, mp, or f
Most Frequent DynamicSummary TileDisplays the most commonly occurring dynamic over recorded history
HumidityLine Graph TileDisplays historical humidity trend over time
TemperatureLine Graph TileDisplays historical temperature trend over time

Initial State Demo

Cello Analyzer Initial State dashboard demo

Blynk Display

Cello Analyzer Blynk display
Blynk Datastream Virtual Pin Data Type Purpose
Switch ModeV0IntegerVirtual page-change button
Current ModeV1StringDisplays current OLED mode
DynamicV2StringDisplays current musical dynamic
Current VolumeV3IntegerDisplays current volume percentage
Current TemperatureV4StringDisplays current temperature
Current HumidityV5StringDisplays current humidity
Current HealthV6StringDisplays cello health message
Current EnvironmentV7StringDisplays environment status
Dynamic HistoryV8StringDisplays recent dynamic history summary
Temp HistoryV9StringDisplays temperature high/low summary
Humidity HistoryV10StringDisplays humidity high/low summary

PySide6 App

Desktop Dashboard

A PySide6 desktop version of the project is included in the repository and mirrors the embedded system with live waveform visualization, environmental monitoring, and an OLED-style preview panel.

  • Live waveform visualization
  • Current volume and dynamic display
  • Temperature and humidity monitoring
  • Mock data mode for UI testing
  • Serial data source scaffolding for Photon 2 integration
  • Session recording and CSV export

Desktop Dashboard Preview

Cello Analyzer desktop dashboard preview

Portfolio Video

Project Demo

Copyright (c) 2026 wuisabel-gif. All rights reserved.