Skip to content

Monitor-Buddy 1.2.0

Latest

Choose a tag to compare

@IdefixRC IdefixRC released this 13 Oct 07:23
· 7 commits to main since this release
457d1fd

Monitor-Buddy 1.2.0 lets you set up your Buddy from the browser. The new web flasher installs the firmware over USB and writes your settings straight onto the board, so you never need VS Code or config.h again unless you want to change the code.

What's new

  • The web flasher. Open https://idefixrc.github.io/Monitor-Buddy/ in Chrome or Edge, plug in your Buddy and click Connect. From there you install, update, change settings, back up and restore, or reset to defaults, with a live preview of your Buddy on the page while you edit. Every setting has a ? that explains it. Nothing is stored in your browser. (#18)
  • Your settings live on the Buddy. Settings are now saved on the board itself, so changing your ticker or your location no longer means rebuilding and flashing. Built it yourself? Your config.h still works: it fills in whatever the board hasn't saved. (#16)
  • Find your town, get the right time. The web flasher's city search fills in the latitude, longitude and time zone in one go. The clock now uses real time zone rules, so daylight saving switches by itself, and half-hour zones such as India (+5:30) are right. 1.1.0 cut them to whole hours. (#16, #18)
  • Coming from 1.1 or older? Choose Upgrade from 1.1 or older in the web flasher and import your config.h. Your settings come across and your Wi-Fi stays. (#18)
  • Wi-Fi in the same place. Enter your Wi-Fi in the web flasher and the Buddy connects straight after the install. Leave it out and the setup hotspot works as before. If the password doesn't work, the page tells you and lets you try again. (#18)
  • Check before you save. Check buttons ask Finnhub and GitHub whether your stock key and username work, before they go onto the board. (#18)
  • An interrupted install is no drama. If the cable comes out halfway through an install, the Buddy can't start any more. Connect it again: the web flasher notices, offers Install the firmware again, and keeps the settings that were already on the board. (#18)

Changed

  • The stock and GitHub pages stay hidden until you fill them in. An empty Finnhub key now hides the stock page, the way an empty GitHub user already hid the GitHub page. The ready-made firmware ships with both empty, so a new Buddy no longer shows a dead stock page or someone else's GitHub stats. (#18)
  • Angry and sad look the part. The eyelids were the wrong way round: angry now frowns towards the nose, and sad droops at the outer corners. (#18)

Fixes

  • Big follower counts fit on the screen. GitHub follower counts with more than 5 digits ran off the edge. They now shrink to 245k or 1.2M. (#18)
  • No more stale clock after a restart. The clock trusted a time that survived the reset, and in one case showed a time 50 minutes old. It now waits for a real time sync. (#16)
  • No pointless stock requests. Without a key, the Buddy used to ask Finnhub for prices anyway and show UPDATING forever. It now asks only when there is a key. (#18)

For tinkerers

  • A serial protocol for settings. The firmware answers @MB commands over USB serial: INFO, GET, SET, DEFAULTS and REBOOT. The web flasher uses it, and so does tools/mb_serial.py, for example python tools/mb_serial.py COM4 set ticker=AVGO. It needs Python 3 and pip install pyserial. (#16)
  • Ready-made firmware with every release. Each release from 1.2.0 on has a monitor-buddy-<version>.bin asset, built by a GitHub workflow. GitHub Pages mirrors it for the web flasher, together with a releases.json that lists each version with its SHA-256, and the web flasher checks that hash before it writes anything. (#17)
  • The pioarduino platform is pinned to 55.03.312-1 (Arduino core 3.3.12), so a release always builds the same way. (#18)
  • Unit tests for the settings and protocol code run on the PC with pio test -e native, and in CI on every pull request. (#16)

Documentation

  • README §4 "Flashing the board" now starts with the web flasher. Building it yourself keeps sections 4.1 to 4.8.
  • README §4.10 and §4.11 point at the web flasher's Change settings and Reset to defaults, with new rows for a Buddy the page doesn't list and one that an interrupted install left dark.

Updating an existing Monitor-Buddy

With the web flasher (recommended):

  1. Open https://idefixrc.github.io/Monitor-Buddy/ in Chrome or Edge on your computer and plug in your Buddy.
  2. Click Connect your Buddy. A Buddy on 1.1.0 or older shows up as "a new or older Buddy". Choose Upgrade from 1.1 or older.
  3. Click Import config.h, pick the config/config.h from your old Monitor-Buddy folder, check the settings, and click Upgrade.
  4. That's it. Your Wi-Fi stays, and from now on you change settings in the browser.

Building it yourself: download Monitor-Buddy-1.2.0.zip, extract it to a new folder, copy your config/config.h across, and flash it as before: README §4.1 to 4.8. Your config.h keeps working as it is. TZ_RULE is new and optional.

Download

  • monitor-buddy-1.2.0.bin is the ready-made firmware. The web flasher installs it for you, so you don't need to download it yourself.
  • Monitor-Buddy-1.2.0.zip is the curated build package for building it yourself: firmware source, the PlatformIO config, the config template, and from this release on also lib/ and tools/mb_serial.py.
  • The auto-generated Source code archives contain the full repository.

Hardware

Unchanged: a Waveshare ESP32-C6-Touch-LCD-1.47, one 3D-printed holder (Monitor-Buddy_flat or Monitor-Buddy_recess), and a USB-C cable. Make sure it's the touchscreen version of the board. The one without touch is smaller and doesn't fit the holder.

Full changelog: v1.1.0...v1.2.0