Skip to content

v0.3.0 — steady mode, accuracy check, time on-angle, session history

Choose a tag to compare

@miamimoe miamimoe released this 23 Aug 09:50
· 4 commits to main since this release

Flash it in your browser — desktop Chrome / Edge / Opera, USB-C data cable, about a minute.

The angle reading sits still now

A sharpening stroke pushes the blade sideways, and the filter's guard against that was nearly blind to it: 0.18 g of sweep — the level the firmware already counts as a stroke — tilted its gravity reference 10.2° while barely changing its magnitude, so it sailed through unrejected. v0.3.0 averages the gravity reference before it steers the angle (stroke acceleration cancels out over a cycle, gravity doesn't) and stops the displayed number and the colour from flip-flopping on sub-degree noise. Simulated, that's 2.3–4× steadier depending on how fast you stroke.

Steady mode is on by default. Hold B on the TOLERANCE screen to switch it off and compare against the old behaviour on the same knife, same stone, same session.

Also new

  • Accuracy check — hold A on SET TARGET. Lay the device flat, press A, then stand it on a known angle and read the number at 0.1°. Printable wedges if you don't own an angle block.
  • Time on-angle on the session summary — what share of the session you held inside tolerance.
  • Past sessions — hold B on the summary screen for your last five.
  • Gyro bias refresh whenever the device is verifiably still, so thermal drift doesn't accumulate across a session.

Fixes

  • A crash, reset, or reflash no longer leaves a zombie session that comes back as RESUME? for the previous knife the next time you sleep and wake.
  • Session time now survives Plus / Plus2 deep-sleep resume (it used to reset to 00:00).
  • Power key on Plus2 / S3 no longer treats the wake / power-on press as "off".
  • Flasher images are proper merged images (bootloader + partition table + boot_app0 + app); a v0.2.1 / beta.1 packaging bug had shipped bare app images that left devices unbootable. scripts/check_flasher_bins.py now guards every manifest.

Includes everything from v0.2.1: 25° and 28° presets, real version on the splash, pinned build dependencies.

Hardware status

Validated on a physical M5StickC Plus. Plus2 and M5StickS3 builds are compile-verified and reviewed against the M5Stack datasheets but still need a community tester — please open an issue with results.

Assets

Each .bin is a merged flash image — flash at offset 0x0:

esptool.py --chip esp32   write_flash 0x0 sharpening-guide-plus-v0.3.0.bin    # M5StickC Plus
esptool.py --chip esp32   write_flash 0x0 sharpening-guide-plus2-v0.3.0.bin   # M5StickC Plus2
esptool.py --chip esp32s3 write_flash 0x0 sharpening-guide-s3-v0.3.0.bin      # M5StickS3

What would help most: does green still arrive fast enough? Smoothing trades response for calm — if green now feels late, say so.