Pick a JSON file, check the report, then upload it. The page
packs it in the browser with the same web/packer.js the PC tools
use, and sends it over USB with the protocol in design doc section 7. The old
content stays on the board until the new file has been checked.
This is the manual page: any file, the full report and the log of every line the board sends. The one-click page fetches the content from the website instead, and is the one to use day to day.
These send a deliberately broken upload, to prove the board keeps the old
content. It should answer ERR and still show the previous
messages.