A firmware flashing tool for the Metakey Tenet 70 and other keyboards that use
the Hexcore IAP protocol. The compiled binary is called hexcore_flash.
This is a fork of AnnePro2-Tools,
originally written for the Anne Pro 2. It keeps working with the Anne Pro 2 and
adds a tenet-70 device profile, device auto-detection, and a read-only
--probe mode.
Supported devices:
| Profile | VID | PID | MCU | Notes |
|---|---|---|---|---|
anne-pro-2-c15 |
0x04D9 | 0x8008 | HT32F52342 | 64K flash |
anne-pro-2-c18 |
0x04D9 | 0x8009 | HT32F52352 | 128K flash |
tenet-70 |
0x3311 | 0xF005 | HT32F52352 | wired-only, OLED+RGB |
Put the keyboard into IAP mode by holding esc while plugging it in before
running this tool.
To build:
cargo build --releaseTo flash a file called a.bin:
./target/release/hexcore_flash a.bin # auto-detect device
./target/release/hexcore_flash --device tenet-70 a.bin
./target/release/hexcore_flash -d anne-pro-2-c18 -t main a.binTo verify the device is reachable without writing anything (read-only IAP probe):
./target/release/hexcore_flash --probe # auto-detect
./target/release/hexcore_flash --device tenet-70 --probeBy default the flasher auto-detects a connected supported device and flashes the binary starting at 0x4000 (the standard app slot above the IAP bootloader on every known device).
For development:
nix-shellstarts a Rust development shellnix shellstarts a shell for building and testinghexcore_flash
With the flake you can also build or run it directly:
nix run github:connorgallopo/Tenet70-Tools -- --help
nix build github:connorgallopo/Tenet70-Tools#hexcore-flashBased on AnnePro2-Tools by the OpenAnnePro project and contributors.