A small, portable command-line toolkit for the Alientek T90 family
(T90A / T90B / T90C) soldering irons (MCU: Nationstech N32L40x, Cortex-M4),
which share one upgrade protocol. It is a cross-platform replacement for the
Windows-only ATK_T90_UPGRAGE.exe, talking to the iron over USB-HID. The
protocol is documented in protocol.md and has been
validated against a T90B. See also the open-source
AlienTek-Firmware-Upgrade-Tool,
an independent implementation of the same protocol family.
This project is unofficial and not affiliated with or endorsed by Alientek.
The protocol was recovered solely for interoperability; no Alientek firmware,
tooling, or other proprietary material is included or redistributed here. You
must supply your own .atk firmware images — download the official ones from
Alientek (https://www.alientek.com).
| Program | Purpose |
|---|---|
atflash |
Flash an official .atk firmware image onto the iron. |
atlogo |
Splice a custom 160x40 boot logo into a firmware image. |
Requires a C compiler, hidapi (for
atflash), and libpng and libjpeg (for atlogo).
make
LOCALBASE and PREFIX may be overridden to point at where the headers and
libraries live, e.g. on a pkgsrc system:
make LOCALBASE=/opt/pkg
Put the iron in upgrade mode: reconnect USB while holding button B
until the screen shows Updating....
Naming a firmware file flashes it. atflash validates the image against the
connected device first and refuses on a mismatch — wrong model, or not in the
bootloader — unless -f is given. On success it is silent and exits 0.
atflash firmware.atk # validate, then erase and flash
atflash -n firmware.atk # dry run: validate and print the plan only
atflash -i # print device info, then exit
Flashing is destructive and irreversible, and there is no confirmation
prompt by design: the command name and the firmware argument are the consent,
as with dd(1) or newfs(8). Run -n first if you want to see the plan.
-f forces past the safety checks; -v shows progress on stderr, -vv also
dumps frames.
atlogo decodes a 160x40 PNG (or JPEG), converts it to the panel's RGB565
format, and writes a patched .atk (plus an optional BMP preview). It never
touches the device.
atlogo -b t90.atk -o t90-custom.atk -p preview.bmp mylogo.png
atflash t90-custom.atk
The panel displays with inversion enabled, so the logo is stored as a negative
by default; pass -r to store it raw.
BSD 2-Clause. See LICENSE.