As I browsed forums, I read about newer versions of the firmware, both for the Pico H and for the STM32 that manages the keyboard and battery. It wasn’t very clear how this all worked. But I managed the following upgrade last night…
PicoCalc keyboard firmware discussion…
Unofficial PicoCalc PicoMite/WebMite firmware release thread (V6.00.02RCxx) - #94 by DigitalDreams
STM32 firmware update process
Browsed the UF2 files for the latest Release Candidate version.
PicoCalc/Bin at master · clockworkpi/PicoCalc · GitHub
Downloaded onto Debian Linux system, then checked file integrity by comparing checksum to published value:
md5sum ~/Downloads/PicoCalc_BIOS_v1.2.bin
2b1f3dd57c168d59096e81b7180dd530 /home/foobler/Downloads/PicoCalc_BIOS_v1.2.bin
Grabbed an STM32 flasher:
sudo apt install stm32flash
Then, with the PicoCalc opened up, set the tiny DIP switch #1 to on, plugged in a USB-C cable, and ran the flasher:
sudo stm32flash -w PicoCalc_BIOS_v1.2.bin -v -S 0x08000000 /dev/ttyUSB0
stm32flash 0.7
http://stm32flash.sourceforge.net/
Using Parser : Raw BINARY
Location : 0x8000000
Size : 65536
Interface serial_posix: 57600 8E1
Version : 0x22
Option 1 : 0x00
Option 2 : 0x00
Device ID : 0x0410 (STM32F10xxx Medium-density)
- RAM : Up to 20KiB (512b reserved by bootloader)
- Flash : Up to 128KiB (size first sector: 4x1024)
- Option RAM : 16b
- System RAM : 2KiB
Write to memory
Erasing memory
Wrote and verified address 0x08010000 (100.00%) Done.
Then flipped tiny DIP switch #1 back off.
Flashing the 6.x firmware to the Pico H
Took out both 18650 batteries. Held down the Pico H’s BootSel button,
then plugged in micro-USB cable from my Linux box to Pico H.
Small disk shows up in Linux’s dmesg -T.
Copied UF2 file to the Pico H’s small pretend disk.
PicoMite_PICO_V6.00.02RC26.uf2
PicoCalc auto-rebooted and I see 6.0.02RC26 at start up!
Success!