[![CI Build](https://github.com/Ralim/IronOS/actions/workflows/push.yml/badge.svg)](https://github.com/Ralim/IronOS/actions/workflows/push.yml) [![Total Downloads](https://img.shields.io/github/downloads/ralim/IronOS/total)](https://github.com/Ralim/IronOS) [![Contributors](https://img.shields.io/github/contributors-anon/ralim/ironos?color=blue&style=flat)](https://github.com/Ralim/IronOS/graphs/contributors) [![Latest Release](https://img.shields.io/github/v/release/ralim/IronOS)](https://github.com/Ralim/IronOS/releases/latest) # IronOS - Open Source Flexible Firmware for Soldering Hardware _This repository was formerly known as TS100, it's the same great code. Just with more supported devices._ Originally conceived as an alternative firmware for the _TS100_, this firmware has evolved into a complex soldering hardware control firmware. The firmware implements all of the standard features of a _smart_ soldering hardware, with lots of little extras and tweaks. I highly recommend reading the installation guide fully when installing on your device. And after install just explore the settings menu. For soldering hardware that is designed to be powered by _smart_ power sources such as _PD_ or _QC_, the firmware supports settings around the negotiated power and voltage. For soldering hardware that is designed to be powered by batteries (_TS100_ & _Pinecil_), settings for a cutoff voltage for battery protection are supported. Currently **31** languages are supported. When downloading the firmware for your soldering hardware, take note of the _language code_ in the file name. This project is considered feature complete for use on a daily basis, _so please suggest any feature improvements you would like!_ _This firmware does **NOT** support the USB port while running for changing settings (this is done through the onscreen menu only). Custom logos are edited on a computer and flashed in the same manner as firmware._ ## Supported Hardware | Device | DC | QC | PD | EPR | BLE | Tip Sense | Recommended Purchase | Notes | | :------------: | :-: | :-: | :-: | :-: | :-: | :-------: | :------------------: | :-------------------------------------: | | Miniware MHP30 | ❌ | ❌ | ✔️ | ❌ | ❌ | ✔️ | ✔️ | | | Pinecil V1 | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ \* | | | Pinecil V2 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | | Miniware TS101 | ✔️ | ❌ | ✔️ | ✔️ | ❌ | ✔️ | ✔️ | Full OLED resolution not yet supported. | | Sequre S60 | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ✔️ | Full OLED resolution not yet supported. | | Sequre S60P | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ✔️ | Full OLED resolution not yet supported. | | Sequre T55 | ❌ | ❌ | ✔️ | ❌ | ❌ | N/A | ✔️ | Full OLED resolution not yet supported. | | Miniware TS80P | ❌ | ✔️ | ✔️ | ❌ | ❌ | N/A | ✔️ | | | Miniware TS100 | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌\*\* | | | Miniware TS80 | ❌ | ✔️ | ❌ | ❌ | ❌ | N/A | ❌\*\*\* | | _Tip Sense_ refers to the device being able to choose between the _"regular"_ _TS100_ or _Hakko T12 style_ tips and _Pine64_'s custom shorter tips which have lower resistance and allow for more power. This is N/A for _TS80(P)_ as there is only one model of tip for them. _Recommended Purchase_ is only referring to if you are buying a **new** device. Of course all the devices listed are supported and will work excellently for years to come. The _TS101_ & _S60(P)_ irons and _MHP30_ & _T55_ plates feature a higher resolution OLED than other devices. Work is ongoing to support this fully, for now a cropped view is usable. \* _PinecilV1_ stopped being manufactured a long time ago now, all models for sale online are generally clones (or old stock). Vendors are trying to sell these for more than _Pine64_ sells the _V2_ for now. Thus the _V1_ is **_no longer recommended_**. \*\* Please note that _Miniware_ started shipping _TS100_'s using **cloned STM32 chips**. While these do work with _IronOS_, their **DFU bootloader** works terribly, and it is hard to get it to successfully flash larger firmware images like _IronOS_ without timing out. This is the main reason why the _TS100_ is **_no longer recommended_**. \*\*\* _TS80_ is replaced by _TS80P_. Production ramped down a long time ago and it's just existing stock clearing the system. It's marked not recommended being optimistic that people might pause and buy the far superior _TS80P_ instead. This is the main reason why the _TS80_ is **_no longer recommended_**. ## Getting Started To get started with _IronOS firmware_, please jump to [Getting Started Guide](https://ralim.github.io/IronOS/GettingStarted/). ## Installation For notes on installation for your device, please refer to the flashing guide for your device: - [MHP30](https://ralim.github.io/IronOS/Flashing/MHP30) - [Pinecil V1](https://ralim.github.io/IronOS/Flashing/Pinecil%20V1/) - [Pinecil V2](https://ralim.github.io/IronOS/Flashing/Pinecil%20V2/) - [TS80 / TS80P](https://ralim.github.io/IronOS/Flashing/TS80%28P%29/) - [TS100](https://ralim.github.io/IronOS/Flashing/TS100) ## Builds The links in the table below allow to download available builds directly. Current stable release is `v2.22`. _Devel builds_ **dynamically** provide _**the latest successful build**_ from **`dev`** branch. | Device | Stable Release | Devel Build | |:---------------------:|:--------------:|:-----------:| | Pinecil V1 | [Pinecil.zip](https://github.com/Ralim/IronOS/releases/download/v2.22/Pinecil.zip) | [Pinecil.zip](https://nightly.link/Ralim/IronOS/workflows/push/dev/Pinecil.zip) | | Pinecil V1/multilang | [Pinecil_multi-lang.zip](https://github.com/Ralim/IronOS/releases/download/v2.22/Pinecil_multi-lang.zip) | [Pinecil_multi-lang.zip](https://nightly.link/Ralim/IronOS/workflows/push/dev/Pinecil_multi-lang.zip) | | Pinecil V2 | [PinecilV2.zip](https://github.com/Ralim/IronOS/releases/download/v2.22/PinecilV2.zip) | [PinecilV2.zip](https://nightly.link/Ralim/IronOS/workflows/push/dev/Pinecilv2.zip) | | Pinecil V2/multilang | [PinecilV2_multi-lang.zip](https://github.com/Ralim/IronOS/releases/download/v2.22/PinecilV2_multi-lang.zip) | [PinecilV2_multi-lang.zip](https://nightly.link/Ralim/IronOS/workflows/push/dev/Pinecilv2_multi-lang.zip) | | Miniware TS100 | [TS100.zip](https://github.com/Ralim/IronOS/releases/download/v2.22/TS100.zip) | [TS100.zip](https://nightly.link/Ralim/IronOS/workflows/push/dev/TS100.zip) | | Miniware TS101 | [TS101.zip](https://github.com/Ralim/IronOS/releases/download/v2.22/TS101.zip) | [TS101.zip](https://nightly.link/Ralim/IronOS/workflows/push/dev/TS101.zip) | | Miniware TS80 | [TS80.zip](https://github.com/Ralim/IronOS/releases/download/v2.22/TS80.zip) | [TS80.zip](https://nightly.link/Ralim/IronOS/workflows/push/dev/TS80.zip) | | Miniware TS80P | [TS80P.zip](https://github.com/Ralim/IronOS/releases/download/v2.22/TS80P.zip) | [TS80P.zip](https://nightly.link/Ralim/IronOS/workflows/push/dev/TS80P.zip) | | Miniware MHP30 | [MHP30.zip](https://github.com/Ralim/IronOS/releases/download/v2.22/MHP30.zip) | [MHP30.zip](https://nightly.link/Ralim/IronOS/workflows/push/dev/MHP30.zip) | | Sequre S60 | [S60.zip](https://github.com/Ralim/IronOS/releases/download/v2.22/S60.zip) | [S60.zip](https://nightly.link/Ralim/IronOS/workflows/push/dev/S60.zip) | | Sequre S60P | Not Released | [S60P.zip](https://nightly.link/Ralim/IronOS/workflows/push/dev/S60P.zip) | | Sequre T55 | Not Released | [T55.zip](https://nightly.link/Ralim/IronOS/workflows/push/dev/T55.zip) | ## Key Features - PID style iron temperature control; - automatic sleep with selectable sensitivity; - adjustable & tweakable motion wake support; - all settings exposed in the intuitive menu; - (_TS100_) set a voltage lower limit for Lithium batteries so you don't kill your battery pack; - (_TS80_) set 18W or 24W settings for your power bank; - (_TS80P_) automatically negotiates appropriate PD and falls back to QC mode like _TS80_; - (_Pinecil_) supports all 3 power modes (PD, QC, DC In); - (_Pinecilv2_) supports _USB-PD EPR_ for **28V** operation; - improved readability Fonts, supporting multiple languages; - use hardware features to improve reliability; - boost mode lets you temporarily change the temperature when soldering (i.e. raise the temperature for short periods); - (_TS100_/_Pinecil_) battery charge level indicator if power source set to a LiPo cell count; - (_TS80_/_TS80P_/_Pinecil_) power bank operating voltage is displayed; - [custom boot up logo support](https://ralim.github.io/IronOS/Logo/)[^bootlogo]; - automatic LCD rotation based on the orientation; - ... and many many other cool & hackable features![^changelog] [^bootlogo]: **BOOTUP LOGO NOTICE**: IronOS supports both a bootup logo _AND_ bootup animations. However, _**they are no longer included in this repo**_. **Please, [read the docs](https://ralim.github.io/IronOS/Logo/) for more information**. [^changelog]: [See the full changelog here](https://ralim.github.io/IronOS/History). ## Basic Control Supported device is controlled by two buttons which can be pressed in the following ways: - short: ~1 second or so; - long: more than 1 second; - both (press & hold both of them together). Available buttons are: - `+/A` button: near the front closer to the tip (for irons) or on the left side of the device (for plates); - `-/B` button: near the back far from the tip (for irons) or on the right side of the device (for plates). After powering on the device for the first time with _IronOS_ installed and having the tip/plate plugged in, on the main menu in _standby mode_ the unit shows a pair of prompts for the two most common operations: - pressing the `+/A` button enters the _soldering mode_; - pressing the `-/B` button enters the _settings menu_; - in _soldering mode_: - short press of `+/A` / `-/B` buttons changes the soldering temperature; - long press of the `+/A` button enables _boost mode_ (increasing soldering temperature to the adjustable setting as long as the button is pressed); - long press of the `-/B` button enters _standby mode_ and stops heating; - in _standby mode_: - long press of the `+/A` button enters _soldering temperature adjust mode_ (the same as the one in the _soldering mode_, but allows to adjust the temperature before heating up); - long hold of the `-/B` button enters the [_debug menu_](https://ralim.github.io/IronOS/DebugMenu/); - in _menu mode_ (to make it short here): - `-/B` scrolls & cycles through menus and submenus; - `+/A` enters to menu & submenu settings or changes their values if they are activated already. Additional details are described in the [menu information](https://ralim.github.io/IronOS/Menu/). ## Translations Is your preferred language missing localisation of some of the text? Translations are stored as `json` files in the `Translations` folder. _Pull requests_ are loved and accepted to enhance the firmware. ## Thanks If you love this firmware and want to continue my caffeine addiction, you can do so [here](https://paypal.me/RalimTek) (or email me for other options). I also want to give a shout out to all of the [Fantastic Contributors](https://github.com/Ralim/IronOS/graphs/contributors). Especially to the following users, who have helped in various ways that are massively appreciated: - [Dhiltonp](https://github.com/dhiltonp) - [Mrkvozrout](https://github.com/Mrkvozrout) - [JonnieZG](https://github.com/jonnieZG) - [Federck](https://github.com/federck) - [Jvitkauskas](https://github.com/jvitkauskas) - [Doegox](https://github.com/doegox) - [Perillamint](https://github.com/perillamint) - [GeminiServer](https://github.com/GeminiServer) - [Patrick Horlebein](https://github.com/PixelPirate) - [Firebie](https://github.com/Firebie) - [Agatti](https://github.com/agatti) - [Discip](https://github.com/discip) - [Paul Fertser](https://github.com/paulfertser) Plus the huge number of people who have contributed translations, your effort is massively appreciated. ## License The code created by the community is covered by the [GNU GPLv3](https://www.gnu.org/licenses/gpl-3.0.html#license-text) license **unless noted elsewhere**. Other components such as _FreeRTOS_ and _USB-PD_ have their own licenses. ## Commercial Use This software is provided "AS IS", so I cannot provide any commercial support for the firmware. However, you are more than welcome to distribute links to the firmware or provide hardware with this firmware. **Please do not re-host the files, but rather link to this page, so that there are no old versions of the firmware scattered around**.