Open-source project
Ralim/IronOS avatar
Ralim/IronOS

IronOS on Pinecil and TS101: Open Source Soldering Firmware

Open Source Soldering Iron firmware

8,371 stars835 forksCGPL-3.0

At a glance

What is it?
IronOS replaces the stock firmware on Miniware and Pine64 irons with a menu-driven controller for power negotiation, tip profiles and battery cutoffs. It is a mature but hardware-bound project, and the flashing path differs per device.
Who is it for?
Adopt IronOS if you own a Pinecil V2, TS101, TS80P, MHP30 or Sequre S60/S99 and want control over power negotiation, tip profiles and battery cutoff that the stock firmware does not expose. Do not adopt it for a TS100 with a cloned STM32 chip, for a newer TS101 revision with the unsupported OLED panel, or if you expect to change settings over USB while the iron runs, because the README states the USB port is not used for that.
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 20 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 September 30, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What IronOS adds to a stock Pinecil or TS101

Stock firmware on these irons typically exposes a set temperature and little else. IronOS turns the iron into a configurable controller. The README describes it as implementing all of the standard features of smart soldering hardware, plus extras, and says the project is considered feature complete for daily use. The concrete additions are the ones that matter: for irons fed by PD or QC supplies, settings around the negotiated power and voltage; for battery-capable irons such as the TS100 and Pinecil, a cutoff voltage for battery protection; and tip sensing, which lets a device choose between regular TS100 or Hakko T12 style tips and Pine64's shorter low-resistance tips that allow more power. The README notes tip sensing is not applicable to the TS80 and TS80P because only one tip model exists for them. The audience is narrow and specific: people who already own one of the supported irons and are willing to reflash it. IronOS is not a product you buy, and it does not make an unsupported iron supported.

How the firmware is structured and what it talks to

The repository is a C firmware built per device. The top-level Makefile lists the supported targets as MODELS=TS100 TS80 TS80P Pinecil MHP30 Pinecilv2 S60 TS101 S60P T55 S99, with separate variables for multi-language builds of the Pinecil and Pinecilv2. That list is the clearest statement of the architecture: one codebase, one build per hardware target, with per-device differences handled at compile time rather than runtime. The build itself runs through Docker. The Makefile detects docker-compose or docker compose, falls back to a DOCKER environment variable if set, and runs the builder service defined in Env.yml using the image recipe in scripts/IronOS.Dockerfile. Host UID and GID are forwarded as HOST_UID and HOST_GID so build artifacts are not owned by root. Translations live in a Translations directory, which is how 31 languages are produced, and the README warns that the language code appears in the firmware file name, so you must pick the right file. Custom logos are not drawn on the iron: the README says they are edited on a computer and flashed the same way as firmware.

Flashing IronOS: which guide applies to your iron

There is no single install procedure. The README points to a per-device flashing guide for the MHP30, Pinecil V1, Pinecil V2, TS80 and TS80P, and TS100, and it explicitly recommends reading the installation guide fully before installing. The device-specific guides are the authority on the flashing tool and the bootloader entry sequence, and the README does not reproduce those steps, so treat the repository README as an index rather than instructions. What the README does say is that custom logos are flashed in the same manner as firmware, which means the flashing path you learn for the firmware also covers logo images.

Building from source is a separate path, and the Makefile is written to run the toolchain in a container rather than on the host. The build output directory defaults to BUILDS in the repository root unless the OUT variable is set:

bash
make

Running make with no target uses the docker-based builder described in Env.yml. The Makefile also defines a MKDOCS variable defaulting to mkdocs and points at scripts/IronOS-mkdocs.yml, which is the documentation site build, not the firmware build. If you only want to run IronOS, download the release archive for your device instead of building it; the README's build table links a Stable Release archive and a Development Build archive per device, the latter pulled from the latest successful dev-branch build.

Hardware revisions IronOS cannot fully serve

The supported hardware table is unusually candid, and two entries are disqualifying. First, the README states that Miniware started shipping TS100 units with cloned STM32 chips; those run IronOS, but their DFU bootloader works terribly and flashing larger images such as IronOS tends to time out. That is why the TS100 is marked no longer recommended. Second, the README notes that some users report a newer TS101 revision with a different OLED screen model that IronOS does not support at all, referencing a bug report. Separately, the TS101, Sequre S60 and S60P irons and the MHP30 and T55 plates have a higher-resolution OLED than other devices, and the README says full support is still in progress, with a cropped view usable in the meantime. So a TS101 can be simultaneously supported and only partially rendered. The TS80 is marked not recommended because it was replaced by the TS80P and only existing stock remains, and the Pinecil V1 is marked not recommended because it stopped being manufactured long ago and what is sold online is generally clones or old stock. None of these are firmware bugs you can wait out; they are hardware facts.

Power negotiation, EPR and the PD Mode setting

The most consequential setting is also the one the README hedges. EPR and PPS with 28V support is disabled by default, and the README attributes that to safety concerns, linking a pull request. To turn it back on, you set the PD Mode option in the Power settings submenu to Safe or Default. Read that as a deliberate default: the firmware ships in the conservative state and expects you to opt in, which is the right posture for a tool that can pull high voltage through a cable and a tip. If your iron misbehaves on a particular USB-C supply, PD Mode is the first place to look, not the last. Note also that the USB port on the iron is not a configuration channel. The README states plainly that the firmware does not support the USB port while running for changing settings, and that this is done through the onscreen menu only. Anyone expecting a companion app over the cable should know that before flashing.

IronOS compared with vendor firmware and with PineFlash

The real alternative for most owners is the firmware the iron shipped with. Vendor firmware is tuned to the vendor's own tips and power assumptions, is updated rarely, and gives you a temperature dial rather than a settings tree. IronOS inverts that: more knobs, more device coverage, and a community that maintains 31 language translations and per-device build targets. The cost is that you own the flashing risk and the configuration. A second, narrower alternative appears in how people actually search for this: flashing tools. PineFlash is a flashing utility, not a firmware, so it is not a substitute for IronOS; it is one of the ways you might get IronOS onto a device. The distinction matters when you are reading guides, because a tutorial about a flashing tool tells you nothing about what the firmware does once it is running, and the README's per-device guides are the ones that pair the two.

Licence, maintenance and what upgrading costs you

IronOS is GPL-3.0. If you redistribute a modified firmware image, the licence's source-availability terms apply to your version, which is worth understanding before you publish a custom build with your own logo baked in. This is a description of the licence file in the repository, not legal advice. On maintenance, the last push to the repository was on 2026-09-10, and the most recent release listed is v2.23 from 2025-08-31, preceded by release candidates v2.23-rc4 and v2.23-rc3 earlier in 2025. The repository is not archived, and the README notes that a Development Build is produced dynamically from the latest successful build on the dev branch, which is the default branch. Upgrading is cheap in effort and non-trivial in attention: you reflash, and your settings and custom logo may need to be reapplied, so the practical cost is the flashing session plus reconfiguring the menu, not a subscription or a rebuild of your toolchain. If you build from source, the Docker-based Makefile means the toolchain cost is a container pull rather than a locally installed ARM toolchain.

Editorial conclusion

Adopt IronOS if you own a Pinecil V2, TS101, TS80P, MHP30 or Sequre S60/S99 and want control over power negotiation, tip profiles and battery cutoff that the stock firmware does not expose. Do not adopt it for a TS100 with a cloned STM32 chip, for a newer TS101 revision with the unsupported OLED panel, or if you expect to change settings over USB while the iron runs, because the README states the USB port is not used for that. Verify first which hardware revision you actually hold and which flashing guide applies, then read the PD Mode entry under Power settings before enabling 28V EPR/PPS, which the README says is disabled by default for safety.

Frequently asked questions

Which soldering irons does IronOS support?

The README lists Miniware MHP30, Pinecil V1 and V2, Miniware TS101, TS80 and TS80P, TS100, Sequre S60, S60P, S99 and T55. The same table marks the TS100, TS80 and Pinecil V1 as no longer recommended for new purchases. Tip sensing is listed as not applicable to the TS80 and TS80P.

How do I install IronOS on my iron?

There is no single procedure: the README links a separate flashing guide for the MHP30, Pinecil V1, Pinecil V2, TS80/TS80P and TS100, and advises reading the installation guide fully before installing. Custom logos are flashed in the same manner as firmware.

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

No. The README states that the firmware does not support the USB port while running for changing settings, and that settings are changed through the onscreen menu only.

Why is 28V EPR or PPS disabled by default in IronOS?

The README says EPR and PPS with 28V support is disabled by default due to safety concerns, and that it can be re-enabled by setting the PD Mode option in the Power settings submenu to Safe or Default.

What is the IronOS alternative for a TS100 or TS101?

The practical alternative is the stock vendor firmware, which exposes far fewer settings and is tuned to the vendor's own tips and power assumptions. PineFlash is a flashing utility rather than a firmware, so it is a way to install IronOS, not a replacement for it.

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)