Skip to main content

Overview

The TS100 uses a Miniware bootloader that appears as a USB storage device when in DFU mode. You can flash firmware by simply copying .hex files to the device.
Flashing is completely safe. If something goes wrong, you can restore the original firmware from the official website or mirror backup.

Platform Support

Officially, the bootloader only works under Windows (using the built-in File Explorer). Alternative file managers like Teracopy will fail. However, users have reported success on:
  • Mac (using Finder)
  • Linux (with manual mounting - see below)

Flashing Instructions (Windows)

1

Download firmware

Download TS100.zip from the releases page and extract itYou’ll find a file named TS100_{Language-Code}.hex
2

Enter DFU mode

Hold the button closest to the tip and plug in the USB to the computer
3

Verify DFU mode

The unit will appear as a USB drive and the screen will display DFU
4

Copy firmware file

Drag the .hex file onto the USB drive using File Explorer
Use Windows File Explorer only. Do not use alternative file managers like Teracopy.
5

Wait for completion

The unit will disconnect and reconnect. The filename will change to end in .RDY or .ERR
6

Verify success

If the filename ends with .RDY, you’re done!If it ends with .ERR, try copying the file again without disconnecting the device (often works on the second attempt)
7

Disconnect and test

Disconnect the USB and power up the device

Flashing on Mac

1

Download and extract firmware

Download TS100.zip from the releases page and extract it
2

Enter DFU mode

Hold the button closest to the tip and plug in USB to your Mac
3

Copy via Finder

Drag the .hex file onto the USB drive using Finder
4

Verify completion

Check that the filename changes to end in .RDY

Flashing on Linux

Linux requires manual mounting as msdos type. A helper script is available: flash_ts10X_linux.sh

Manual Method

Run as root after plugging in the device in DFU mode:
FW=ts100.hex
unset NAME
eval $(lsblk -P -p -d --output NAME,MODEL|grep "DFU[ _]Disk")
[ -z ${NAME+x} ] && exit 1  # Could not find DFU device
umount "$NAME"
mkdir /tmp/mntdfu
mount -t msdos "$NAME" /tmp/mntdfu
cp "$FW" "/tmp/mntdfu/$(basename $FW|tr a-z A-Z)"
sync
umount /tmp/mntdfu
rmdir /tmp/mntdfu

Linux Tips

  • Mount the device as msdos type
  • Use all-caps filenames for the firmware
  • Avoid USB hubs - plug directly into your computer
  • If it fails, try again several times without unplugging
  • Only .RDY extension indicates successful flashing

Troubleshooting

File Shows Extension .ERR

This occurs when bootloader checks fail, often triggered by anti-virus software or non-Windows OS.
1

Keep device connected

Do not disconnect the device after seeing the .ERR file
2

Copy again

Copy the same .hex file again
DO NOT try to delete the old file first. Just copy the hex file again.
3

Verify success

The device should disconnect and reconnect with a .RDY file
If this fails on Windows, try another computer. On Mac or Linux, see platform-specific instructions above.

Device Randomly Disconnects

  1. Check if your USB cable has data pins (test on another device). Many micro-USB cables are power-only
  2. Try other USB ports - different USB controllers may interact differently with the device

Advanced: Alternative Bootloader

For advanced users familiar with USB-DFU tools: You can install an alternative bootloader that uses standard DFU protocol instead of appearing as a USB storage drive. This allows using dfu-util with .bin files. Follow the instructions at IronOS-dfu.
Only recommended for users who understand USB-DFU. If you don’t know what this means, stick with the standard bootloader method above.

Advanced: SWD Programming

The TS100 supports programming via SWD (Serial Wire Debug):
  • On the bottom of the MCU riser PCB, there are 4 pads for programming
  • On v2.51A PCB revision: USB_D+ is shorted to SWDIO and USB_D- is shorted to SWCLK
  • This allows debugging without disassembly on newer units (attach while in bootloader)
  • Installing IronOS-dfu enables reliable flashing with dfu-util
The SWD pins are wired to USB pins on some newer TS100 units, but not on older ones.

Build docs developers (and LLMs) love