Open-source project
Ralim/IronOS avatar
Ralim/IronOS

IronOS: open source firmware for the TS100, Pinecil, TS101 and MHP30

Open Source Soldering Iron firmware

8,428 stars858 forksCGPL-3.0

At a glance

What is it?
IronOS began as alternative firmware for the TS100 and grew into a general firmware for soldering irons and heating platforms, with fourteen device models in its support table. You get an onscreen settings menu, 31 languages, and PD or QC power negotiation, while the USB port stays out of reach while the iron is running.
Who is it for?
IronOS suits anyone who already owns one of the listed irons and wants power negotiation, battery cutoff, tip sensing and a settings menu their hardware did not ship with. Skip it if you need a device or display variant outside the table, if you expect USB configuration while soldering, or if buying new, since the project steers you toward the Pinecil V2 and TS80P rather than the TS100, TS80, or Pinecil V1.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 2 days ago.
What is it written in?
Mainly C, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on November 14, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • Ralim/IronOS8,428 ★ · +64
Star history
Repository2026-09-222026-11-14
Ralim/IronOS8.4k8.4k

64 Stars in the last 53 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

The USB port is unavailable while the iron is running

IronOS does not support the USB port while running for changing settings, and the documentation is blunt about the alternative: configuration happens through the onscreen menu only. Custom logos are the single exception, and even those are not configured live. They are edited on a computer and flashed the same way firmware is, which means a separate trip to the flashing process for a cosmetic change. The consequence is a workflow that never involves a laptop mid-job. Anything you want changed has to be entered on the device, and the project's own advice is to read the installation guide fully, then explore the settings menu after install. Treat the USB port as a flashing port. Anything you depend on has to be set before you start work.

Tip sensing is per device, and some panels stay cropped

Tip Sense is the column worth reading first. On the MHP30, Pinecil V2, and TS101 it means the device can choose between regular TS100 tips, Hakko T12 style tips, and Pine64's shorter custom tips, which have lower resistance and allow for more power. It is marked unavailable on the Pinecil V1, TS100, the Sequre S60, S60P, S99 and Si012 Pro Max, the FNIRSI HS-01 and the KAIWEETS KETS02, and it reads N/A for the TS80, TS80P, and T55; the README explains that the TS80 and TS80P have only one tip model. The display column has its own catch. The TS101 and S60(P) irons and the MHP30 and T55 plates carry a higher resolution OLED than the other devices, where a cropped view is usable while full resolution support is still in progress. Worse for a new buyer, some users report a newer TS101 revision with a different OLED model that IronOS does not support at all, tracked as issue 2063. Check the panel revision, not just the model name.

28V EPR and PPS stay disabled until you open the power menu

The high-voltage path exists but is switched off by default. EPR and PPS with 28V support is disabled by default because of safety concerns raised in pull request 2073, and the way back is a setting rather than a build flag: set the PD Mode option in the Power settings submenu to Safe or Default. So a brand new install on a Pinecil V2 or TS101, the two models in the table with EPR marked, gives you negotiated power and voltage settings without the 28V range until you make that change yourself. That ordering is deliberate and the project says so, but it catches people who read a table row and expect the capability on arrival. The rest of the power menu follows the same pattern of negotiated power and voltage controls for irons designed around smart sources such as PD or QC, which means the actual numbers depend on what your charger offers.

Battery cutoff voltage belongs to the battery irons

The power settings divide by how the hardware is fed. For irons built around smart power sources such as PD or QC, IronOS exposes settings around the negotiated power and voltage. For irons designed to run on batteries, which the documentation names as the TS100 and the Pinecil, the relevant setting is a cutoff voltage for battery protection. The support table shows how little overlap there is between the two worlds. The TS100 is marked DC only, with no QC and no PD at all. The TS80 and TS80P get QC and PD but not DC. The Pinecil V1 and V2 carry DC, QC, and PD, with the V2 adding EPR and BLE, while the TS101 pairs DC with PD but no QC. The MHP30, the S60, the S60P, the T55, the FNIRSI HS-01 and the KAIWEETS KETS02 are PD only. The practical reading is that buying an older iron locks you out of the negotiation features newer hardware added, and battery cutoff is the safety net you get instead.

A cloned STM32 chip turns TS100 flashing into a timing problem

The support table still lists the TS100, but the notes are why it carries a not-recommended mark. Miniware began shipping TS100 units with cloned STM32 chips. Those clones do work with IronOS, yet their DFU bootloader works terribly, and it is hard to get a larger firmware image such as IronOS onto them without timing out. That is stated as the main reason the TS100 is no longer recommended for purchase. The same reasoning applies to the neighbours. The TS80 is replaced by the TS80P, production ramped down long ago, and existing stock is clearing the system. The Pinecil V1 stopped being manufactured, so models for sale online are generally clones or old stock, and vendors are charging more than Pine64 asks for the V2. The recommended purchase column is explicitly about buying new gear, since every listed device is still supported. For a used TS100 buyer, the flashing risk is the deciding factor.

The docs say v2.22 while the download links point at v2.23

The Builds section states that the current Stable Release is v2.24. The release history lists v2.24-rc1 on 2026-10-30, v2.23 on 2025-08-31 and v2.23-rc4 before that. The other column needs its own caution: the Development Build dynamically provides the latest successful build from the dev branch, which is the repository default. Language selection rides on the file name too, with 31 languages supported and a language code in each build.

One Makefile fans out to eleven targets through docker compose

Nobody builds this firmware with a bare compiler call. The top-level Makefile resolves a Docker command first, preferring docker-compose and falling back to docker compose, then uses that binary with the repository's Env.yml and scripts/IronOS.Dockerfile to run a builder container. This is the whole detection logic:

make
# detect availability of docker
ifndef DOCKER_BIN
DOCKER_COMPOSE:=$(shell command -v docker-compose 2>/dev/null)
DOCKER_TOOL:=$(shell command -v docker 2>/dev/null)
ifdef DOCKER_COMPOSE
DOCKER_BIN:=$(DOCKER_COMPOSE)
else ifdef DOCKER_TOOL
DOCKER_BIN:=$(DOCKER_TOOL) compose
endif # DOCKER_* checks
endif # DOCKER_BIN

and the command it assembles, along with the documentation config and the device list:

make
# compose docker-compose command
DOCKER_CMD=$(DOCKER_ENV)  $(DOCKER_BIN) -f $(DOCKER_YML)  run  --rm  builder

# MkDocs config
MKDOCS_YML=$(CURDIR)/scripts/IronOS-mkdocs.yml

# supported models
MODELS=TS100 TS80 TS80P Pinecil MHP30 Pinecilv2 S60 TS101 S60P T55 S99 Si012ProMax HS01 # target names & dir names

Counting that list gives thirteen targets; the support table's fourteenth row, the KAIWEETS KETS02, is noted as the same hardware as the FNIRSI HS-01. Building therefore assumes a container runtime on your machine, or a DOCKER value you supply yourself, plus mkdocs for the documentation site. Build output lands in BUILDS under the checkout unless OUT points elsewhere, hex files go to source/Hexfile, and HOST_UID and HOST_GID are forwarded into the container so artifacts do not end up owned by root. The Translations, Documentation, and scripts directories hold the other moving parts.

Editorial conclusion

IronOS suits anyone who already owns one of the listed irons and wants power negotiation, battery cutoff, tip sensing and a settings menu their hardware did not ship with. Skip it if you need a device or display variant outside the table, if you expect USB configuration while soldering, or if buying new, since the project steers you toward the Pinecil V2 and TS80P rather than the TS100, TS80, or Pinecil V1. Before you flash: confirm your exact model and revision against the support table, read the flashing guide for that device in full, and decide whether the stable release or the development build from the dev branch is the one you want to live with.

Frequently asked questions

Which soldering irons can IronOS run on?

The support table covers the Miniware MHP30, Pinecil V1 and V2, TS100, TS101, TS80, TS80P, the Sequre S60, S60P, S99, Si012 Pro Max and T55, the FNIRSI HS-01 and the KAIWEETS KETS02. The project's Makefile lists thirteen build targets; the KETS02 is noted as the same hardware as the HS-01.

Why is 28V EPR power disabled by default in IronOS?

EPR and PPS support with 28V is disabled by default because of safety concerns. To turn it back on, set the PD Mode option in the Power settings submenu to Safe or Default.

Can I change IronOS settings over USB while the iron is on?

No. The firmware does not support the USB port while running for changing settings, so those changes go through the onscreen menu only. Custom logos are edited on a computer and flashed the same way as firmware.

How many languages does IronOS support?

Currently 31 languages are supported, and the language code appears in the firmware file name, so the build you download has to match the languages you want. Multilanguage archives are published separately from the single-language ones.

Does IronOS support tip sensing on every device?

No. On devices such as the MHP30, Pinecil V2, and TS101 it can choose between regular TS100 tips, Hakko T12 style tips, and Pine64's shorter custom tips with lower resistance. It is marked unavailable on several models and not applicable for the TS80 and TS80P, which have one tip model.

Is the IronOS project still maintained?

The repository is not archived. The default branch is dev, the most recent push is 2026-10-30, and the release history includes v2.24-rc1 on 2026-10-30, v2.23 on 2025-08-31 and v2.23-rc4.

Official sources

  1. License: GPL-3.0
  2. Project website
  3. Ralim/IronOS on GitHub
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/ralim-ironos.svg)](https://hysenlabs.com/projects/ralim-ironos)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/ralim-ironos.svg)](https://hysenlabs.com/projects/ralim-ironos)

Was this useful?