Getting Started NEXT firmware

Choosing Your Firmware Path

Last updated Jul 10, 2026

HealthyPi 5 runs one production firmware, available in two implementations. This page helps you pick.

If you’re looking for “operating modes”

Earlier firmware shipped four separate images — Basic, BLE, Display, and Logger — and you chose one by flashing it. That model is gone. There is now a single firmware that does all of it at once, and the features you’d have picked a mode for are switched on individually in code, or simply always available.

Why NEXT explains the change in full.

HealthyPi 5 streaming over USB, streaming over BLE, logging to SD, and driving the on-board display

The two paths

Arduino (NEXT) — default Zephyr
Best for Everything: running the board, learning it, extending it The display add-on; RTOS-based production ports
Ready-made binary ✅ Drag-and-drop .uf2 ✅ one .uf2 per display panel
Build toolchain Arduino IDE + Library Manager Zephyr SDK + west
Teaching sketches ✅ 11 single-purpose examples —
Lossless acquisition ✅ enforced by the dual-core design —
OpenView 2 over USB ✅ ✅
BLE / Wi-Fi ✅ via the ESP32-C3 co-processor ✅
microSD recording ✅ binary /REC*.BIN ✅ CSV, retrievable over BLE
On-board display ❌ not in this release ✅

Both are open source and both stream a byte-compatible OpenView 2 packet.

Use Arduino unless you need the display

Arduino/NEXT is the default, and the one the rest of these docs assume. It is not a simplified teaching build — it is the production firmware, and its dual-core architecture makes lossless 128 SPS acquisition a structural guarantee rather than something you tune for.

Download the ready-to-run .uf2 and you’re streaming in a couple of minutes. When you want to go further, the same repo ships eleven teaching sketches that bring up one sensor at a time, and the full firmware is a twelve-line sketch over a library you can read.

→ Arduino Quick Start

Reach for Zephyr if…

You have the display add-on, or you’re building a production port that needs an RTOS, a devicetree, and Zephyr’s driver ecosystem.

The display runs on Zephyr

The Arduino NEXT firmware does not drive the on-board LCD in this release — the LVGL vitals screen is held back pending hardware validation and will return in a later version. If you want the screen today, use the Zephyr firmware. See Display Add-On Module.

→ Zephyr RTOS

What replaced the modes

If you were following the old docs, here’s where each mode went.

Old mode Now
Basic The production firmware. There is no other build.
USB Streaming Always on. HealthyPi5.streamOpenView() in Arduino. → Streaming to OpenView 2
BLE Streaming Handled by the ESP32-C3 co-processor. HealthyPi5.enableBridge(). → Wireless: BLE & Wi-Fi
Data Logging HealthyPi5.recordSD(), or REC_START over the command plane. → Recording Data
Display Zephyr firmware only. → Display Add-On Module

In the Arduino firmware these are sinks. Each one is an independently queued consumer of the sample stream, so enabling four of them costs you nothing in acquisition reliability — a slow card or an unplugged ESP32 drops only its own samples, and the count is reported once a second in the telemetry line.