Starting…

Enter your PIN

Sign in

This machine has to be signed in once with your email and password; after that the app opens with your 4-digit PIN.

Caps Lock is on.

Approve this computer

Use a name an admin will recognise, like the label on the bench.

Checking every few seconds. You can leave this page open.

Stock

—
— blank STM32G070 chips on hand

A chip comes off stock when it is programmed for the first time. Reflashing a board that already exists does not, and a flash that fails does not.

Add delivery for chips that arrived. Adjust corrects the number after a physical count — it takes a negative quantity too.

Units built

— chips programmed here, ever

A chip counts once, the first time it is programmed. Everything after that is the same board coming back.

By firmware

Stock movements

Deliveries and corrections. The one-a-flash draw-downs are in Logs.

Connect the ST-Link
  1. Connect
  2. Detect
  3. Erase
  4. Program
  5. Verify
  6. Lock

Programmer

not connected

Turn this on if the board's firmware sleeps, reboots in a loop or takes over the SWD pins. Otherwise connecting fails at random.

Chip

unknown

The board is detected automatically — just swap it.

Firmware

not loaded
Dev / test firmware — do not put this on a board that ships.

Every board is erased, programmed, verified, then locked at RDP level 1. Locking is not optional: it is what stops the firmware being read back off a finished board. Getting a locked chip open again wipes it.

Firmwares

Dev / test firmware — kept apart from production. Nothing on this page should ship.

Versions

Download gives an admin back what was published — .hex as uploaded, or .bin for the flat image. Every download is recorded in the logs under your name; an operator account cannot do it at all.

Make a name once (e.g. tublur inverter), then upload .hex versions into it. It is created on this page's channel.

Choose the firmware, pick its .hex, and it becomes the current version to flash. The version number is generated automatically — v1, v2, v3… The file is checked against the STM32G070CB here and stored in the database; it is never written to disk and never handed to an operator except as raw bytes during a flash.

PCROP makes this flash area execute-only: no tool, and not the firmware itself, can read it. Leave both empty for none. The STM32G070 has no PCROP — only parts such as the STM32G071 do; on a G070 the Windows app refuses a PCROP firmware before erasing anything. Only use it for firmware built for it (that code compiled execute-only, no constants in the area) — otherwise the boards will not run. First and last byte, in 512-byte blocks (start …000/…200, end …1FF/…3FF). It is set with RDP 1 at lock time, and unlocking a board wipes it, so boards can still be reflashed. Firmware with PCROP flashes only from the Windows app. Pre-filled from the current version.

Users


    

Everyone signs a machine in once with their email and password, then chooses a 4-digit PIN; every time the app is opened after that, the PIN is what unlocks it.

Devices

A bench asks to be enrolled — the Windows app by itself, a browser when an operator signs in on a computer that is not approved yet. Approve signs the Windows app's certificate, or lets that browser flash, and records the network it is on. If it later turns up on a different network it is held as needs re-approval and cannot flash until you accept the move. Revoke is permanent for that certificate; Allow re-enrol lets the same PC request access again with a new one, which you approve as usual. Windows app only stops the browser flasher on that bench, so firmware only reaches it encrypted.

Windows app versions

Benches update to the offered version: after sign-in and every 4 hours, the app shows an Update button. By default that is the newest signed version; Offer to benches fixes it to the one you choose, for example to hold back a new build until it is tested. A bench only ever moves up — one already on a newer version stays there; install an older one by hand to go back. With Only the offered version may flash on, a bench on an older version is refused at its next flash and updates itself (or shows its Update button) before it can flash again. Upload the installer and its .sig together; the server refuses anything not signed with the release key.

Benches

The version each approved Windows bench is running, as the app last reported it. Apps older than 0.3.11 do not report their version, so they show not reported until they update.

Flashes

Audit trail