Repository navigation
Releases: onlinermm/BC250-Telemetry
Release list
v0.4.3-beta
memory: switch to upstream 4a2221d payload with packed reads
Install the newer pan-Rijovich payload (764 B code + 144 B BSS), the same
build a custom BIOS installs, instead of the old 176 B single-chip build.
- patcher: check the SMU firmware version (0x00580600) and require an
entirely zero payload region before unlocking; upload code with zeroed
BSS, verify the readback, then hook Q3/6 and Q3/7, and Q3/5 last - recognize the payload by code hash plus all three hooks; the original and
bounded builds are still accepted when a BIOS installs them - collector: read all eight chips with two packed Q3/6 requests and report
firmware read timeouts per chip and stage - retry the guard left by a reader-only rejection of an unknown payload,
since that path never writes to SMU - installer: firmware-modern probe result selects reader-only
- bundle the upstream bin/symbols/source and drop the ELF; update docs/tests
v0.4.2-beta
v0.4.1-beta
v0.4.0-beta
v0.3.1
What's Changed
- Mem temp read optimisations by @onlinermm in #18
- Harden BC-250 SMU access and improve telemetry diagnostics by @onlinermm in #19
Full Changelog: v0.3...v0.3.1
v0.3 - Add GDDR6 memory temperature monitoring
Add GDDR6 memory temperature monitoring
Adds optional GDDR6 memory temperature monitoring for BC-250, based on pan-Rijovich/bc250-memory-temperature (MIT, see memory/UPSTREAM.md).
How it works: a separate root service (bc250-memory.service) patches SMU at startup and polls all 8 GDDR6 chips every 3s, writing a small snapshot file. The main apu_telemetry daemon validates and folds that snapshot into the existing /run/apu_telemetry.json / /api/telemetry output as a memory object — no JSON parser needed on the daemon side. All SMU/firmware-patching code stays isolated in the separate service; the always-privileged daemon only ever reads a plain text file.
What's included:
memory/— the SMU patch/collector service (Python, stdlib only), with platform/payload validation and a per-boot operation guard against retrying a wedged SMUmemory_telemetry.h— parses and validates the collector's snapshot (bounds-checked, degrades tounavailable/staleon any anomaly)- Installer:
--memory-temp/--no-memory-tempflags + interactive prompt, uninstall cleanup - Dashboard v2: memory panel with per-chip readings, board halos, hotspot/average, hidden entirely when the service isn't installed
- Dashboard v1 (classic): compact GDDR6 row + per-chip grid in "Other sensors"
- MangoHud / CoolerControl: hotspot + average exposed via
/run/bc250/memory_* - Tests:
tests/test_memory.py(offline, fake SMU/PCI/DMA),tests/test_v2_memory.js
Fully optional and backward-compatible: the memory field is always present in the API; when the collector isn't installed, both dashboards simply hide the panel instead of showing an empty widget.
Full Changelog: v0.2.0...v0.3
v0.2.0
Highlights
- CPU/GPU fault & warning badges — the dashboard now surfaces PMBus fault/warning bits directly on the CPU and GPU status tiles instead of only in raw JSON.
- CoolerControl & MangoHud file sensors for VRM temps/power — CPU/GPU VRM temperatures and PMBus rail data (VIN, per-rail VOUT/IOUT/POUT, total power) are now exported under
/run/bc250, ready to wire up as CoolerControl Custom Sensors → File or a MangoHud overlay via the newmangohud/MangoHud-bc250.confsnippet. - v2 dashboard: selectable chart window — the animated board-diagram view now lets you switch the live chart's time window between 30s / 1m / 2m.
- Redrawn board illustration — the v2 board diagram (PCB, heatsink, M.2 drive, VRM chokes) is redrawn to match the real BC-250 board dimensions.
What's Changed
- Redraw the board illustration to the real board dimensions by @tri3gubki-ops in #5
- v2: selectable chart window (30s / 1m / 2m) by @tri3gubki-ops in #6
- Implement fault and warning badges for CPU/GPU status in UI by @onlinermm in #7
- Add /run/bc250 external sensors for CoolerControl and MangoHud by @primus192 in #8
New Contributors
- @tri3gubki-ops made their first contribution in #5
- @primus192 made their first contribution in #8
Upgrading
Download bc250-telemetry.tar.gz from this release, extract, and run ./install.sh as usual (see README). No config migration needed — new /run/bc250 sensor files appear automatically if PMBus/I2C is available; existing CoolerControl/MangoHud configs keep working unchanged.
Full Changelog: v0.1.1...v0.2.0
v0.1.1
What's Changed
- fix: correct I2C_HEADER1 pinout — SDA and SCL were swapped by @fansteori in #3
New Contributors
- @fansteori made their first contribution in #3
Full Changelog: v0.1.0...v0.1.1
BC250-Telemetry service and dashboard v0.1
A telemetry daemon and web dashboard for the AMD BC-250
Full Changelog: https://github.com/onlinermm/BC250-Telemetry/commits/v0.1.0