From 622b74b69f8e667c56fc69a917a737aae9cd1dd6 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
Date: Sun, 22 Dec 2024 08:02:13 +0000
Subject: [PATCH] Deployed a9e899c1 with MkDocs version: 1.6.1
---
Logo/index.html | 2 +-
index.html | 2 +-
search/search_index.json | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/Logo/index.html b/Logo/index.html
index a2b814e9..c91ee201 100644
--- a/Logo/index.html
+++ b/Logo/index.html
@@ -178,7 +178,7 @@ The model should be replaced by one of the following options:
pinecilv1 for the Pinecil V1
pinecilv2 for the Pinecil V2
ts101 for the Miniware TS101 [^1] [^2]
-s60 for the Squire S60 [^1]
+s60 for the Sequre S60 [^1]
mhp30 for the Miniware MHP30
Different models are used for different flash locations for the image storage.
diff --git a/index.html b/index.html
index 70abdcc6..494825f8 100644
--- a/index.html
+++ b/index.html
@@ -347,5 +347,5 @@ When on the main screen and having the tip plugged in, the unit shows a pair of
diff --git a/search/search_index.json b/search/search_index.json
index 9c4d7991..947fc104 100644
--- a/search/search_index.json
+++ b/search/search_index.json
@@ -1 +1 @@
-{"config":{"indexing":"full","lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"IronOS - Flexible Soldering iron control Firmware The firmware implements all of the standard features of a 'smart' soldering iron, with lots of little extras and tweaks. I highly recommend reading the installation guide fully when installing on your iron. And after install just explore the settings menu. For soldering irons that are designed to be powered by 'smart' power sources (PD and QC), the firmware supports settings around the negotiated power and voltage. For soldering irons that are 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 iron, take note of the language code in the file name. This project is considered stable & feature complete for everyday use with a supported device, 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. Logos are edited on a computer and flashed like firmware. Device DC QC PD EPR BLE Battery Recommended MHP30 \u274c \u274c \u2714\ufe0f \u274c \u274c \u274c \u2714\ufe0f Pinecil V1 \u2714\ufe0f \u2714\ufe0f \u2714\ufe0f \u274c \u274c \u2714\ufe0f \u2714\ufe0f Pinecil V2 \u2714\ufe0f \u2714\ufe0f \u2714\ufe0f \u2714\ufe0f \u2714\ufe0f \u2714\ufe0f \u2714\ufe0f TS80P \u274c \u2714\ufe0f \u2714\ufe0f \u274c \u274c \u2714\ufe0f \u2714\ufe0f TS100 \u2714\ufe0f \u274c \u274c \u274c \u274c \u2714\ufe0f \u274c TS80 \u274c \u2714\ufe0f \u274c \u274c \u274c \u2714\ufe0f \u274c *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 . Getting Started To get started with IronOS firmware, please jump to Getting Started Guide . But the TL;DR is to press the button near the front of the iron to heat up. Use the button near the back of the iron to enter the settings menu. Long hold the rear button in soldering mode to exit back to the start screen. Installation For notes on installation for your device, please refer to the flashing guide for your device: MHP30 Pinecil V1 Pinecil V2 TS80 / TS80P TS100 But the generic TL;DR is to: download firmware from here for the correct model with suitable language support; put a device into DFU/bootloader mode (usually by keep holding A/+/front button while connecting a device to power source to power device on); flash the firmware by drag-n-drop the firmware file using a file manager of your OS or using a separate flashing tool. Key Features PID style iron temperature control Automatic sleep with selectable sensitivity 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 18 W or 24 W 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 Can disable movement detection if desired 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 Automatic LCD rotation based on the orientation Menu System This new firmware uses a new menu system to allow access to the settings on the device. When on the main screen and having the tip plugged in, the unit shows a pair of prompts for the two most common operations. Pressing the button near the tip enters the soldering mode Pressing the button near the USB end enters the settings menu When not in soldering mode , holding down the button near the tip will enter soldering temperature adjust mode (This is the same as the one in the soldering mode , but allows to adjust the temperature before heating up), in soldering mode however this will activate boost mode as long as you hold down the button. Holding down the button near the USB end will show the debug menu . In soldering mode this ends the heating. Operation details are over in the Menu information. Feedback If you would like to: report any issue related to IronOS request a feature provide some suggestion then you can fill this form using github account*. And if you would like to: ask more generic question about IronOS/supported hardware/something you're curious about/etc. reach out community to chat with share your soldering & DIY skills share some interesting finding share useful related hardware/software with others or anything like that, then you can use forum-like Discussions here . *: You may need to create it first if you don't have one - it's free of charge.","title":"Home"},{"location":"#ironos-flexible-soldering-iron-control-firmware","text":"The firmware implements all of the standard features of a 'smart' soldering iron, with lots of little extras and tweaks. I highly recommend reading the installation guide fully when installing on your iron. And after install just explore the settings menu. For soldering irons that are designed to be powered by 'smart' power sources (PD and QC), the firmware supports settings around the negotiated power and voltage. For soldering irons that are 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 iron, take note of the language code in the file name. This project is considered stable & feature complete for everyday use with a supported device, 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. Logos are edited on a computer and flashed like firmware. Device DC QC PD EPR BLE Battery Recommended MHP30 \u274c \u274c \u2714\ufe0f \u274c \u274c \u274c \u2714\ufe0f Pinecil V1 \u2714\ufe0f \u2714\ufe0f \u2714\ufe0f \u274c \u274c \u2714\ufe0f \u2714\ufe0f Pinecil V2 \u2714\ufe0f \u2714\ufe0f \u2714\ufe0f \u2714\ufe0f \u2714\ufe0f \u2714\ufe0f \u2714\ufe0f TS80P \u274c \u2714\ufe0f \u2714\ufe0f \u274c \u274c \u2714\ufe0f \u2714\ufe0f TS100 \u2714\ufe0f \u274c \u274c \u274c \u274c \u2714\ufe0f \u274c TS80 \u274c \u2714\ufe0f \u274c \u274c \u274c \u2714\ufe0f \u274c *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 .","title":"IronOS - Flexible Soldering iron control Firmware"},{"location":"#getting-started","text":"To get started with IronOS firmware, please jump to Getting Started Guide . But the TL;DR is to press the button near the front of the iron to heat up. Use the button near the back of the iron to enter the settings menu. Long hold the rear button in soldering mode to exit back to the start screen.","title":"Getting Started"},{"location":"#installation","text":"For notes on installation for your device, please refer to the flashing guide for your device: MHP30 Pinecil V1 Pinecil V2 TS80 / TS80P TS100 But the generic TL;DR is to: download firmware from here for the correct model with suitable language support; put a device into DFU/bootloader mode (usually by keep holding A/+/front button while connecting a device to power source to power device on); flash the firmware by drag-n-drop the firmware file using a file manager of your OS or using a separate flashing tool.","title":"Installation"},{"location":"#key-features","text":"PID style iron temperature control Automatic sleep with selectable sensitivity 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 18 W or 24 W 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 Can disable movement detection if desired 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 Automatic LCD rotation based on the orientation","title":"Key Features"},{"location":"#menu-system","text":"This new firmware uses a new menu system to allow access to the settings on the device. When on the main screen and having the tip plugged in, the unit shows a pair of prompts for the two most common operations. Pressing the button near the tip enters the soldering mode Pressing the button near the USB end enters the settings menu When not in soldering mode , holding down the button near the tip will enter soldering temperature adjust mode (This is the same as the one in the soldering mode , but allows to adjust the temperature before heating up), in soldering mode however this will activate boost mode as long as you hold down the button. Holding down the button near the USB end will show the debug menu . In soldering mode this ends the heating. Operation details are over in the Menu information.","title":"Menu System"},{"location":"#feedback","text":"If you would like to: report any issue related to IronOS request a feature provide some suggestion then you can fill this form using github account*. And if you would like to: ask more generic question about IronOS/supported hardware/something you're curious about/etc. reach out community to chat with share your soldering & DIY skills share some interesting finding share useful related hardware/software with others or anything like that, then you can use forum-like Discussions here . *: You may need to create it first if you don't have one - it's free of charge.","title":"Feedback"},{"location":"Bluetooth/","text":"Bluetooth Low Energy The Pinecilv2 has hardware support for Bluetooth Low Energy (BLE). This protocol allows reading and writing of parameters to the Pinecil during runtime. The BLE interface advertises three services, these provide access to live telemetry as well as the ability to read/write settings. These are outlined in more detail below. Pinecil devices advertise themselves on BLE as Pinecil-XXXXXXX . They also include the UUID 9eae1000-9d0d-48c5-AA55-33e27f9bc533 in the advertisement packet to allow for filtering. Unless otherwise noted, all data is sent and received as Little-Endian. As of the time of writing this, notifications are not fully implemented so data will need to be polled. Notification/Indication support will come when there is time to implement it. Using the BLE Interface It is advised to follow the below points when first implementing a BLE integration. Of course once the integration is working feel free to deviate from these. These are just suggested ideas to help kickstart. When filtering for devices, its preferable to filter by the UUID 9eae1000-9d0d-48c5-AA55-33e27f9bc533 , rather than by the device name if possible. Upon first collection check if the three expected services exist; if they don't the user may have selected an incorrect device. It's best to read the live bulk endpoint over the live service when its easy to do so (one read vs ~15). However if you are just updating one or two line items it may be more efficient to just read these on the live service. Feel free to test both and decide. When reading settings from the device; the association of number <-> setting is fixed, but you may see settings you don't yet know about, make sure you can handle these. You probably don't want to show unknown setting's to the user though. Read the device firmware revision and ensure you can decode it. If BLE is revised it may be essential for handling versions cleanly. It's advisable to keep an eye on the IronOS repository or at least setup the Github watch for release notifications. Future releases may revise some BLE aspects or add new settings for example. Services Below is a description of each service. Note that the exact settings are not listed for brevity; it's best to refer to the uuid lists and the handlers alongside this. Live UUID: d85ef000-168e-4a71-AA55-33e27f9bc533 The live services has one characteristic per reading. The readings (in order) are: When implementing these; the ones that are not obvious are generally found in the debugging menu. Values are encoded as an unsigned 32 bit number for all results. Live temperature (In C) Live set point DC input voltage Handle temperature (In C) Power level Power source Tip resistance uptime Time of last movement Maximum temperature settable Raw tip reading Hall sensor Operating mode Estimated wattage Settings UUID: f6d80000-5a10-4eba-AA55-33e27f9bc533 The settings service has two special entries; for saving and resetting settings. Otherwise all settings are enumerated using UUID's of the format : f6d7ZZZZ-5a10-4eba-AA55-33e27f9bc533)) where ZZZZ is the setting number as matched from Settings.h . All data is read and written in fixed unsigned 16 bit numbers. Settings save To save the settings write a 0x0001 to f6d7FFFF-5a10-4eba-AA55-33e27f9bc533 . Its advised to not save settings on each change but instead to give the user a save button or save after a timeout. This is just to reduce write cycles on the internal flash. Settings reset To reset all settings to defaults; write a 0x0001 to f6d7FFFE-5a10-4eba-AA55-33e27f9bc533 . This will reset settings immediately. Bulk UUID: 9eae1000-9d0d-48c5-AA55-33e27f9bc533 The bulk endpoint is where extra data is located with varying read sizes. Live data The bulk live data endpoint provides all of the data provided in the live endpoint, as one large single-read binary blob. This is designed for applications that are showing large amounts of data as this is more efficient for reading. Accelerometer Name Not yet implemented Build ID This encodes the current build ID to allow viewing and handling when the BLE format changes. Device Serial Number This is generally the device CPU serial number. For most devices this can be used as an ID. On PinecilV2 its the MAC address. Device Unique ID This is only relevant on the PinecilV2. This is a random ID that is burned in at the factory. This is used by the online authenticity checker tool.","title":"Bluetooth (Pinecil V2)"},{"location":"Bluetooth/#bluetooth-low-energy","text":"The Pinecilv2 has hardware support for Bluetooth Low Energy (BLE). This protocol allows reading and writing of parameters to the Pinecil during runtime. The BLE interface advertises three services, these provide access to live telemetry as well as the ability to read/write settings. These are outlined in more detail below. Pinecil devices advertise themselves on BLE as Pinecil-XXXXXXX . They also include the UUID 9eae1000-9d0d-48c5-AA55-33e27f9bc533 in the advertisement packet to allow for filtering. Unless otherwise noted, all data is sent and received as Little-Endian. As of the time of writing this, notifications are not fully implemented so data will need to be polled. Notification/Indication support will come when there is time to implement it.","title":"Bluetooth Low Energy"},{"location":"Bluetooth/#using-the-ble-interface","text":"It is advised to follow the below points when first implementing a BLE integration. Of course once the integration is working feel free to deviate from these. These are just suggested ideas to help kickstart. When filtering for devices, its preferable to filter by the UUID 9eae1000-9d0d-48c5-AA55-33e27f9bc533 , rather than by the device name if possible. Upon first collection check if the three expected services exist; if they don't the user may have selected an incorrect device. It's best to read the live bulk endpoint over the live service when its easy to do so (one read vs ~15). However if you are just updating one or two line items it may be more efficient to just read these on the live service. Feel free to test both and decide. When reading settings from the device; the association of number <-> setting is fixed, but you may see settings you don't yet know about, make sure you can handle these. You probably don't want to show unknown setting's to the user though. Read the device firmware revision and ensure you can decode it. If BLE is revised it may be essential for handling versions cleanly. It's advisable to keep an eye on the IronOS repository or at least setup the Github watch for release notifications. Future releases may revise some BLE aspects or add new settings for example.","title":"Using the BLE Interface"},{"location":"Bluetooth/#services","text":"Below is a description of each service. Note that the exact settings are not listed for brevity; it's best to refer to the uuid lists and the handlers alongside this.","title":"Services"},{"location":"Bluetooth/#live","text":"UUID: d85ef000-168e-4a71-AA55-33e27f9bc533 The live services has one characteristic per reading. The readings (in order) are: When implementing these; the ones that are not obvious are generally found in the debugging menu. Values are encoded as an unsigned 32 bit number for all results. Live temperature (In C) Live set point DC input voltage Handle temperature (In C) Power level Power source Tip resistance uptime Time of last movement Maximum temperature settable Raw tip reading Hall sensor Operating mode Estimated wattage","title":"Live"},{"location":"Bluetooth/#settings","text":"UUID: f6d80000-5a10-4eba-AA55-33e27f9bc533 The settings service has two special entries; for saving and resetting settings. Otherwise all settings are enumerated using UUID's of the format : f6d7ZZZZ-5a10-4eba-AA55-33e27f9bc533)) where ZZZZ is the setting number as matched from Settings.h . All data is read and written in fixed unsigned 16 bit numbers.","title":"Settings"},{"location":"Bluetooth/#settings-save","text":"To save the settings write a 0x0001 to f6d7FFFF-5a10-4eba-AA55-33e27f9bc533 . Its advised to not save settings on each change but instead to give the user a save button or save after a timeout. This is just to reduce write cycles on the internal flash.","title":"Settings save"},{"location":"Bluetooth/#settings-reset","text":"To reset all settings to defaults; write a 0x0001 to f6d7FFFE-5a10-4eba-AA55-33e27f9bc533 . This will reset settings immediately.","title":"Settings reset"},{"location":"Bluetooth/#bulk","text":"UUID: 9eae1000-9d0d-48c5-AA55-33e27f9bc533 The bulk endpoint is where extra data is located with varying read sizes.","title":"Bulk"},{"location":"Bluetooth/#live-data","text":"The bulk live data endpoint provides all of the data provided in the live endpoint, as one large single-read binary blob. This is designed for applications that are showing large amounts of data as this is more efficient for reading.","title":"Live data"},{"location":"Bluetooth/#accelerometer-name","text":"Not yet implemented","title":"Accelerometer Name"},{"location":"Bluetooth/#build-id","text":"This encodes the current build ID to allow viewing and handling when the BLE format changes.","title":"Build ID"},{"location":"Bluetooth/#device-serial-number","text":"This is generally the device CPU serial number. For most devices this can be used as an ID. On PinecilV2 its the MAC address.","title":"Device Serial Number"},{"location":"Bluetooth/#device-unique-id","text":"This is only relevant on the PinecilV2. This is a random ID that is burned in at the factory. This is used by the online authenticity checker tool.","title":"Device Unique ID"},{"location":"DebugMenu/","text":"Debugging Menu In this firmware there is extra debugging information in a hidden sub-menu. This menu is meant to be simple, so it has no fancy GUI animations. Access it by pressing the rear button ( -/B ) on the iron while it is on the home screen. Use the front button ( +/A ) to scroll through the menu. To exit, use the rear button ( -/B ) again. Menu items Items are shown in the menu on a single line, so they use short codes. Version There is a static line on top which is presented on every sub-screen and reflects exact version of firmware. Version line on top has the following format - vX.YYN.[ZZZZZZZZ] : X: major version Y: minor version N: build type: R - git-related r elease tag vXX.YY T - git-related release t ag but version is not vXX.YY ! D - git-related d ev branch B - git-related custom b ranch E - git-related from d e tached commit G - neither above but g it-related C - build from github C I during pull request H - build outside of a git tree (i.e. release tarball or h omebrew customization without git) S - something s pecial[^ERR] V - something v ery special[^ERR] [^ERR]: S and V are reserved letters for cases when source of firmware is having very unique origin & configuration Z: short commit ID hash with 8 digits generated automatically from git (for git-related build types only) I.e.: - v2.22H means firmware built locally from tarball with release version of 2.22 - v2.22D.1A2B3C4D means firmware with development version of 2.22 from git dev branch & with commit ID 1A2B3C4D (so it can be traced for debug purposes) - v2.22R.5E6F7G8H means firmware with official release version of 2.22 and it's properly tagged with v2.22 git tag & with commit ID 5E6F7G8H ' Additional scroll-able items appear in this order : Date This is a date of firmware compilation and it has the following format: DD-MM-YY (i.e., 01-07-23 means it has been built in July, 1st, 2023) ID This is used by Irons that have an ID and serial number to help check if the iron is authentic. All Pinecil V1 show the same ID number as this is the number programmed into the MCU. The new Pinecil V2 released Aug. 2, 2022 now uses MCU BL706, which enables generating a unique ID/Serial number to every iron. This can be used to verify your Pinecil authenticity here . ACC This indicates the accelerometer that is fitted inside the unit. MMA8652 LIS2DH12 BMA223 MSA301 SC7A20 None -> running in fallback without movement detection Scanning -> Still searching I2C for one PWR This indicates the current power source for the iron. This may change during power up as the sources are negotiated in turn. DC input (dumb) QC input (We used QC2/3 negotiation for current supply) PD W. VBus input (PD subsystem is used to negotiate for current supply); and VBus is connected to your input power source PD No VBus input (PD subsystem is used to negotiate for current supply); and VBus is NOT connected to your input power source. If it is Not required or possible to do a special mod of your PCB (i.e. late model V1, some early Green PCB models) then [PD No VBus] displays on-screen ( see details and PD Debug section below ). Vin The input voltage as read by the internal ADC. Can be used to sanity check it is being read correctly. Tip C This is the tip temperature in \u00b0C. This can be used with RTip for assessing temperature processing performance. Han C This is the handle temperature or more accurately the reading of the Cold Junction Compensation (CJC) temperature sensor. This is expressed in \u00b0C. Range of 20-40 \u00b0C is normal depending on how hot/cold the room is and how long power has been plugged in which warms the PCB further. This is used for CJC of the tip temperature. If CHan is extremely high, this indicates the temperature sensor isn't reading correctly ( see Troubleshooting ) Max C This indicates the max temperature in \u00b0C that the system estimates it can measure the tip reliably to. This is dependent on a few factors including the handle temperature so it can move around during use. As you use the iron, the Max increases to a point. UpTime This shows how many deciseconds the unit has been powered for (600 ds = 1 minute). Move This is the last timestamp of movement. When the iron is moved, this should update to match the Time field (previous menu item). This can be used for checking performance of the movement detection code. Tip Res This indicates the tip resistance that the device is currently using. For devices with multiple possible values to choose from (Pinecil V2), the appropriate value is automatically detected at every boot-up. Tip should be installed before boot-up or reading can not be done. Tip R This is the raw tip reading in \u03bcV. Tip must be installed or reading will be high/inaccurate. At cool, the range of 700-1000 is normal for larger tips and ~1500 for smaller tips (TS80). This is used to evaluate the calibration routines. Tip O This is the offset resulting from the 'Cold Junction Compensation Calibration' . HW G This indicates the high water mark for the stack for the GUI thread. The smaller this number is, the less headroom we have in the stack. As this is a high-water mater, you should only trust this once you have walked through all GUI options to \"hit\" the worst one. HW M This indicates the high-water mark for the stack for the movement detection thread. The smaller this number is, the less headroom we have in the stack. HW P This indicates the high-water mark for the stack for the PID thread. The smaller this number is, the less headroom we have in the stack. Hall This appears if your device is capable of having a hall effect sensor installed (Pinecil). This shows the current magnetic field strength reading from the sensor. It is used to check if the sensor is operational, and for diagnostics and optimal placement of magnets on a stand (higher number is better/stronger). See Hall Sensor for details . PD Debug menu On the Pinecil; if the iron is booted up while long holding the front button ( + ); it will show an extra hidden menu for inspecting USB-PD power adapters. We can also connect to any PD USB power to check Vbus status, even some cell phones with a USB-C port will work if it is PD. It will not show PD messages when Pinecil is powered by DC port, QC, or USB 5V (non-PD). For example, if you connect to a QC charger, you may simply see \"PD State 6\" which indicates \"waiting for source\" as no PD messages will be ever be sent and you will not be able to use ( + ) to scroll through PD negotiated messages. Pressing ( + ) cycles through elements, and ( - ) or unplugging will exit the menu. The first page shows the PD negotiation stage number; which can be used for diagnosing if PD is not working. Once negotiation is complete; use ( + ) button to advance to other screens which show the different proposals advertised for voltage and current (State 12 means all is good with the PD charger). Below is a method for user modification to convert some early models of Pinecil V1 to safely support 24V on the DC5525 barrel. \u26a0\ufe0f Warning: do this at your own risk, read everything in this document, and go to the Pine64 community chat if you desire advice. An incorrect cut of the trace could render the Pinecil non-working. Background: a simple user modification to the PCB on some models of original V1 allows it to safely use DC barrel 24V by cutting a trace line to the Vbus which held it back to 21V. You can check whether your Pinecil V1 needs the update or can benefit from it by using a hidden trick in the PD debug menu. Follow instructions above to enter the PD Debug menu. After a few seconds or after PD negotiates (state above 5) it will show [PD No VBus] if it is not needed (i.e., late model V1). Alternately, if it shows [VBus] , then the mod has not been done and there is still a connection to the Vbus (the Vbus connection limits you to 21V until you do the mod). If you need to do the mod, then follow the instructions/links below which have photos. Careful to only cut the trace and nothing else. Then use the PD debug menu again to check for [PD No Vbus] before attaching any 24V PSU to the DC barrel. If you do not get the message, then try cutting the trace a little deeper or using alcohol to clear the gap of copper dust. Then check PD messages again. If you need advice/tips, join the Pine64 chat room. The mod method is shown in the February 2022 PINE64 community updates . Early Pinecil V1 models required cutting a trace to achieve 24V safety with DC barrel PSU. Late model V1 made sometime in 2022 came with [No Vbus] already displayed, and no mod is required. | Pinecil V2 model released Aug. 2, 2022 is an overhaul of the PCB with all relevant components capable of 28V. V2 requires no mods to support the use of 24V DC Barrel jack charger. | :--------","title":"Debug Menu"},{"location":"DebugMenu/#debugging-menu","text":"In this firmware there is extra debugging information in a hidden sub-menu. This menu is meant to be simple, so it has no fancy GUI animations. Access it by pressing the rear button ( -/B ) on the iron while it is on the home screen. Use the front button ( +/A ) to scroll through the menu. To exit, use the rear button ( -/B ) again.","title":"Debugging Menu"},{"location":"DebugMenu/#menu-items","text":"Items are shown in the menu on a single line, so they use short codes.","title":"Menu items"},{"location":"DebugMenu/#version","text":"There is a static line on top which is presented on every sub-screen and reflects exact version of firmware. Version line on top has the following format - vX.YYN.[ZZZZZZZZ] : X: major version Y: minor version N: build type: R - git-related r elease tag vXX.YY T - git-related release t ag but version is not vXX.YY ! D - git-related d ev branch B - git-related custom b ranch E - git-related from d e tached commit G - neither above but g it-related C - build from github C I during pull request H - build outside of a git tree (i.e. release tarball or h omebrew customization without git) S - something s pecial[^ERR] V - something v ery special[^ERR] [^ERR]: S and V are reserved letters for cases when source of firmware is having very unique origin & configuration Z: short commit ID hash with 8 digits generated automatically from git (for git-related build types only) I.e.: - v2.22H means firmware built locally from tarball with release version of 2.22 - v2.22D.1A2B3C4D means firmware with development version of 2.22 from git dev branch & with commit ID 1A2B3C4D (so it can be traced for debug purposes) - v2.22R.5E6F7G8H means firmware with official release version of 2.22 and it's properly tagged with v2.22 git tag & with commit ID 5E6F7G8H ' Additional scroll-able items appear in this order :","title":"Version"},{"location":"DebugMenu/#date","text":"This is a date of firmware compilation and it has the following format: DD-MM-YY (i.e., 01-07-23 means it has been built in July, 1st, 2023)","title":"Date"},{"location":"DebugMenu/#id","text":"This is used by Irons that have an ID and serial number to help check if the iron is authentic. All Pinecil V1 show the same ID number as this is the number programmed into the MCU. The new Pinecil V2 released Aug. 2, 2022 now uses MCU BL706, which enables generating a unique ID/Serial number to every iron. This can be used to verify your Pinecil authenticity here .","title":"ID"},{"location":"DebugMenu/#acc","text":"This indicates the accelerometer that is fitted inside the unit. MMA8652 LIS2DH12 BMA223 MSA301 SC7A20 None -> running in fallback without movement detection Scanning -> Still searching I2C for one","title":"ACC"},{"location":"DebugMenu/#pwr","text":"This indicates the current power source for the iron. This may change during power up as the sources are negotiated in turn. DC input (dumb) QC input (We used QC2/3 negotiation for current supply) PD W. VBus input (PD subsystem is used to negotiate for current supply); and VBus is connected to your input power source PD No VBus input (PD subsystem is used to negotiate for current supply); and VBus is NOT connected to your input power source. If it is Not required or possible to do a special mod of your PCB (i.e. late model V1, some early Green PCB models) then [PD No VBus] displays on-screen ( see details and PD Debug section below ).","title":"PWR"},{"location":"DebugMenu/#vin","text":"The input voltage as read by the internal ADC. Can be used to sanity check it is being read correctly.","title":"Vin"},{"location":"DebugMenu/#tip-c","text":"This is the tip temperature in \u00b0C. This can be used with RTip for assessing temperature processing performance.","title":"Tip C"},{"location":"DebugMenu/#han-c","text":"This is the handle temperature or more accurately the reading of the Cold Junction Compensation (CJC) temperature sensor. This is expressed in \u00b0C. Range of 20-40 \u00b0C is normal depending on how hot/cold the room is and how long power has been plugged in which warms the PCB further. This is used for CJC of the tip temperature. If CHan is extremely high, this indicates the temperature sensor isn't reading correctly ( see Troubleshooting )","title":"Han C"},{"location":"DebugMenu/#max-c","text":"This indicates the max temperature in \u00b0C that the system estimates it can measure the tip reliably to. This is dependent on a few factors including the handle temperature so it can move around during use. As you use the iron, the Max increases to a point.","title":"Max C"},{"location":"DebugMenu/#uptime","text":"This shows how many deciseconds the unit has been powered for (600 ds = 1 minute).","title":"UpTime"},{"location":"DebugMenu/#move","text":"This is the last timestamp of movement. When the iron is moved, this should update to match the Time field (previous menu item). This can be used for checking performance of the movement detection code.","title":"Move"},{"location":"DebugMenu/#tip-res","text":"This indicates the tip resistance that the device is currently using. For devices with multiple possible values to choose from (Pinecil V2), the appropriate value is automatically detected at every boot-up. Tip should be installed before boot-up or reading can not be done.","title":"Tip Res"},{"location":"DebugMenu/#tip-r","text":"This is the raw tip reading in \u03bcV. Tip must be installed or reading will be high/inaccurate. At cool, the range of 700-1000 is normal for larger tips and ~1500 for smaller tips (TS80). This is used to evaluate the calibration routines.","title":"Tip R"},{"location":"DebugMenu/#tip-o","text":"This is the offset resulting from the 'Cold Junction Compensation Calibration' .","title":"Tip O"},{"location":"DebugMenu/#hw-g","text":"This indicates the high water mark for the stack for the GUI thread. The smaller this number is, the less headroom we have in the stack. As this is a high-water mater, you should only trust this once you have walked through all GUI options to \"hit\" the worst one.","title":"HW G"},{"location":"DebugMenu/#hw-m","text":"This indicates the high-water mark for the stack for the movement detection thread. The smaller this number is, the less headroom we have in the stack.","title":"HW M"},{"location":"DebugMenu/#hw-p","text":"This indicates the high-water mark for the stack for the PID thread. The smaller this number is, the less headroom we have in the stack.","title":"HW P"},{"location":"DebugMenu/#hall","text":"This appears if your device is capable of having a hall effect sensor installed (Pinecil). This shows the current magnetic field strength reading from the sensor. It is used to check if the sensor is operational, and for diagnostics and optimal placement of magnets on a stand (higher number is better/stronger). See Hall Sensor for details .","title":"Hall"},{"location":"DebugMenu/#pd-debug-menu","text":"On the Pinecil; if the iron is booted up while long holding the front button ( + ); it will show an extra hidden menu for inspecting USB-PD power adapters. We can also connect to any PD USB power to check Vbus status, even some cell phones with a USB-C port will work if it is PD. It will not show PD messages when Pinecil is powered by DC port, QC, or USB 5V (non-PD). For example, if you connect to a QC charger, you may simply see \"PD State 6\" which indicates \"waiting for source\" as no PD messages will be ever be sent and you will not be able to use ( + ) to scroll through PD negotiated messages. Pressing ( + ) cycles through elements, and ( - ) or unplugging will exit the menu. The first page shows the PD negotiation stage number; which can be used for diagnosing if PD is not working. Once negotiation is complete; use ( + ) button to advance to other screens which show the different proposals advertised for voltage and current (State 12 means all is good with the PD charger).","title":"PD Debug menu"},{"location":"DebugMenu/#below-is-a-method-for-user-modification-to-convert-some-early-models-of-pinecil-v1-to-safely-support-24v-on-the-dc5525-barrel","text":"\u26a0\ufe0f Warning: do this at your own risk, read everything in this document, and go to the Pine64 community chat if you desire advice. An incorrect cut of the trace could render the Pinecil non-working. Background: a simple user modification to the PCB on some models of original V1 allows it to safely use DC barrel 24V by cutting a trace line to the Vbus which held it back to 21V. You can check whether your Pinecil V1 needs the update or can benefit from it by using a hidden trick in the PD debug menu. Follow instructions above to enter the PD Debug menu. After a few seconds or after PD negotiates (state above 5) it will show [PD No VBus] if it is not needed (i.e., late model V1). Alternately, if it shows [VBus] , then the mod has not been done and there is still a connection to the Vbus (the Vbus connection limits you to 21V until you do the mod). If you need to do the mod, then follow the instructions/links below which have photos. Careful to only cut the trace and nothing else. Then use the PD debug menu again to check for [PD No Vbus] before attaching any 24V PSU to the DC barrel. If you do not get the message, then try cutting the trace a little deeper or using alcohol to clear the gap of copper dust. Then check PD messages again. If you need advice/tips, join the Pine64 chat room. The mod method is shown in the February 2022 PINE64 community updates . Early Pinecil V1 models required cutting a trace to achieve 24V safety with DC barrel PSU. Late model V1 made sometime in 2022 came with [No Vbus] already displayed, and no mod is required. | Pinecil V2 model released Aug. 2, 2022 is an overhaul of the PCB with all relevant components capable of 28V. V2 requires no mods to support the use of 24V DC Barrel jack charger. | :--------","title":"Below is a method for user modification to convert some early models of Pinecil V1 to safely support 24V on the DC5525 barrel."},{"location":"Development/","text":"Development Building this software can be performed two ways: using the STM32CubeIDE or using command line tools. STM32CubeIDE The easiest way to start working with the STM32CubeIDE is to create a new project for the STM32F103RCTx. Once this is created, remove the auto-generated source code. Next, drag the contents of the source folder into the project and choose to link to files. You will need to update the build settings for include paths and point to the new .ld linker file. Command line tools and building a release In the source folder there is a Makefile that can be used to build the repository using command line tools. When running the make command, specify which model of the device and the language(s) you would like to use. macOS Use the following steps to set up a build environment for IronOS on the command line (in Terminal). Follow steps 1 \u2013 3 here to install the toolchain needed to compile for STM32 microcontrollers. Install python : brew install python (Optional) Update pip so it doesn't warn you about being out-of-date: python3 -m pip install --upgrade pip Change to the source directory: cd source Create a Python virtual environment for IronOS named ironos-venv to keep your Python installation clean: python3 -m venv ironos-venv Activate the Python virtual environment: source ironos-venv/bin/activate Install the dependencies required to run make-translation.py : pip install bdflib All done! See some examples below for how you can build your own IronOS. Examples To build a single language Simplified Chinese firmware for the TS80P with 8 simultaneous jobs: make -j8 model=TS80P firmware-ZH_CN To build a European multi-language firmware for the Pinecil with as many simultaneous jobs as there are logical processors on Linux: make -j$(nproc) model=Pinecil firmware-multi_European To build a Cyrillic compressed multi-language firmware for the Pinecil with as many simultaneous jobs as there are logical processors on macOS: make -j$(sysctl -n hw.logicalcpu) model=Pinecil firmware-multi_compressed_Belorussian+Bulgarian+Russian+Serbian+Ukrainian To build a custom multi-language firmware including English and Simplified Chinese for the TS80: make -j8 model=TS80 custom_multi_langs=\"EN ZH_CN\" firmware-multi_Custom To build a custom compressed multi-language firmware including German, Spanish, and French for the TS100 (note if model is unspecified, it will default to TS100 ): make -j8 custom_multi_langs=\"DE ES FR\" firmware-multi_compressed_Custom To build a release instead, run the build.sh script. This will update translations and also build every language for all device models. For macOS users, replace make -j$(nproc) in the script with make -j$(sysctl -n hw.logicalcpu) before running. Updating languages To update the language translation files and their associated font maps, execute the make_translation.py code from the Translations directory. If you edit the translation definitions or the English translation, please also run gen_menu_docs.py to update the settings menu documentation automatically. Building Pinecil V1 I highly recommend using the command line tools and using Docker to run the compiler. It's a bit fussier on setup than the STM tooling, and this is by far the easiest way. If you need an IDE I have used Nuclei's IDE . Follow the same idea as the STM Cube IDE notes above. Building Pinecil V2 To build the Pinecil V2 firmware, you can use a Docker container that provides a consistent development environment across different operating systems, including Windows with WSL2. Here's how to do it: Prerequisites Docker Desktop: Install the latest version of Docker Desktop for your operating system from the official website. On Windows follow the instructions on the official documentation to install 'Windows Subsystem for Linux' (WSL2). Building Steps Clone the repository, initialize and update submodules: sh git clone --recurse-submodules https://github.com/Ralim/IronOS.git Start the Docker container with the development environment: sh cd IronOS ./scripts/deploy.sh This script will build a Docker image and run a container with the necessary tools to build the firmware. Build the firmware for Pinecil V2: sh cd source/ ./build.sh -l EN -m Pinecilv2 This command will compile the firmware with English language support for Pinecil V2 board. Find the firmware artifacts: After the build completes successfully, you can find the firmware artifacts in the source/Hexfile directory.","title":"Development"},{"location":"Development/#development","text":"Building this software can be performed two ways: using the STM32CubeIDE or using command line tools.","title":"Development"},{"location":"Development/#stm32cubeide","text":"The easiest way to start working with the STM32CubeIDE is to create a new project for the STM32F103RCTx. Once this is created, remove the auto-generated source code. Next, drag the contents of the source folder into the project and choose to link to files. You will need to update the build settings for include paths and point to the new .ld linker file.","title":"STM32CubeIDE"},{"location":"Development/#command-line-tools-and-building-a-release","text":"In the source folder there is a Makefile that can be used to build the repository using command line tools. When running the make command, specify which model of the device and the language(s) you would like to use.","title":"Command line tools and building a release"},{"location":"Development/#macos","text":"Use the following steps to set up a build environment for IronOS on the command line (in Terminal). Follow steps 1 \u2013 3 here to install the toolchain needed to compile for STM32 microcontrollers. Install python : brew install python (Optional) Update pip so it doesn't warn you about being out-of-date: python3 -m pip install --upgrade pip Change to the source directory: cd source Create a Python virtual environment for IronOS named ironos-venv to keep your Python installation clean: python3 -m venv ironos-venv Activate the Python virtual environment: source ironos-venv/bin/activate Install the dependencies required to run make-translation.py : pip install bdflib All done! See some examples below for how you can build your own IronOS.","title":"macOS"},{"location":"Development/#examples","text":"To build a single language Simplified Chinese firmware for the TS80P with 8 simultaneous jobs: make -j8 model=TS80P firmware-ZH_CN To build a European multi-language firmware for the Pinecil with as many simultaneous jobs as there are logical processors on Linux: make -j$(nproc) model=Pinecil firmware-multi_European To build a Cyrillic compressed multi-language firmware for the Pinecil with as many simultaneous jobs as there are logical processors on macOS: make -j$(sysctl -n hw.logicalcpu) model=Pinecil firmware-multi_compressed_Belorussian+Bulgarian+Russian+Serbian+Ukrainian To build a custom multi-language firmware including English and Simplified Chinese for the TS80: make -j8 model=TS80 custom_multi_langs=\"EN ZH_CN\" firmware-multi_Custom To build a custom compressed multi-language firmware including German, Spanish, and French for the TS100 (note if model is unspecified, it will default to TS100 ): make -j8 custom_multi_langs=\"DE ES FR\" firmware-multi_compressed_Custom To build a release instead, run the build.sh script. This will update translations and also build every language for all device models. For macOS users, replace make -j$(nproc) in the script with make -j$(sysctl -n hw.logicalcpu) before running.","title":"Examples"},{"location":"Development/#updating-languages","text":"To update the language translation files and their associated font maps, execute the make_translation.py code from the Translations directory. If you edit the translation definitions or the English translation, please also run gen_menu_docs.py to update the settings menu documentation automatically.","title":"Updating languages"},{"location":"Development/#building-pinecil-v1","text":"I highly recommend using the command line tools and using Docker to run the compiler. It's a bit fussier on setup than the STM tooling, and this is by far the easiest way. If you need an IDE I have used Nuclei's IDE . Follow the same idea as the STM Cube IDE notes above.","title":"Building Pinecil V1"},{"location":"Development/#building-pinecil-v2","text":"To build the Pinecil V2 firmware, you can use a Docker container that provides a consistent development environment across different operating systems, including Windows with WSL2. Here's how to do it:","title":"Building Pinecil V2"},{"location":"Development/#prerequisites","text":"Docker Desktop: Install the latest version of Docker Desktop for your operating system from the official website. On Windows follow the instructions on the official documentation to install 'Windows Subsystem for Linux' (WSL2).","title":"Prerequisites"},{"location":"Development/#building-steps","text":"Clone the repository, initialize and update submodules: sh git clone --recurse-submodules https://github.com/Ralim/IronOS.git Start the Docker container with the development environment: sh cd IronOS ./scripts/deploy.sh This script will build a Docker image and run a container with the necessary tools to build the firmware. Build the firmware for Pinecil V2: sh cd source/ ./build.sh -l EN -m Pinecilv2 This command will compile the firmware with English language support for Pinecil V2 board. Find the firmware artifacts: After the build completes successfully, you can find the firmware artifacts in the source/Hexfile directory.","title":"Building Steps"},{"location":"GettingStarted/","text":"Getting Started Getting started with IronOS on your Pinecil/TS80/TS80P/TS100. If your device did not come with IronOS already installed, or if you need to update to the latest version; please see the flashing guide for your device: MHP30 Pinecil V1 Pinecil V2 TS80 / TS80P TS100 It is recommended to update to the newest stable release when you first receive your device to ensure you are up to date. Once your Iron has been flashed, on first power on it may warn you about the system settings being reset. Do not panic ; this is 100% completely normal. This is here to note to you that they have been reset to handle the internal structure changing. If you receive a warning about the accelerometer or USB-PD not being detected, please see here . The Home screen (or idle screen) This is the landing page of the firmware, from here you can choose to either go into the settings menu or go into soldering mode . By default this will show a screen similar to the one below: Note that this may be drawn mirrored depending on the orientation of your screen (detailed mode shows a different home screen). The soldering iron symbol on the screen will appear near the tip. This is here to indicate that pressing the button closest to the front of the iron will enter soldering mode. And naturally, the slider controls icon (or spanner icon in older versions) represents that pressing the button near the rear of the soldering iron will enter the settings menu. In the settings, you can turn on a detailed idle screen instead. The buttons still function the same, however, the image will be swapped for a text telling you the current status of the iron with extra details. Depending on how your device is being powered, at right side of the screen, the firmware will either show the voltage your unit is being provided with, a battery icon (if battery mode is enabled) or a power plug icon. If you see an ( X ) where the soldering iron should be, this indicates that the firmware can't see the tip connected. This could indicate a problem with the iron or tip. First, try removing the tip screw and tip and gently reinstalling both; ensure that the tip is seated all the way back. If the issue persists please see the hardware issues section . This OLED screen features burn-in protection; if no buttons or movement have been detected for a while it will automatically blank the screen to reduce burn-in when the iron is left unattended. Any movement or button press will wake the screen. Hidden Extras Additionally to the two icons shown, there are two \"hidden\" actions that can be performed on this menu. On devices that do not support profile mode, if you press and hold the button near the tip ( +/A ), this enters the temperature adjustment screen. Normally this is not required; but if you would like to adjust the set temperature before the tip starts to heat, this can be useful. If you press and hold the button near the rear of the iron ( -/B ), it will take you into the debug menu . Soldering Mode When you press the button to enter the soldering mode, the iron will instantly start to heat up the tip. The firmware defaults to 320 \u00b0C as the set point for the soldering mode, however on this screen you can enter into the adjustment screen by pressing either button. Pressing and holding the button near the tip will enter Boost mode. This allows a temporary override of the set temperature to a higher (or lower) value. This can be useful as a way to force the tip to a higher temperature to drive more wattage into a large joint when the thermal connection is not ideal. Pressing and holding the rear button will exit soldering mode and land you back at the home screen. You can also do this by pressing both buttons at once and this will also work, this is a bit harder to do but is kept for compatibility with the Miniware firmware. Pressing and holding both buttons at once will enter locked mode, which will prevent the buttons from doing anything. You can in the settings allow boost mode in locked mode optionally. This can be useful if you find yourself hitting the buttons and entering into the temperature adjustment screen by accident. Idle Sleep If the iron detects a period of time without any significant movement, it will enter sleep mode. This is indicated with a screen graphic similar to Zzzz (or text in detailed mode). In Sleep mode, the temperature of the iron automatically lowers to 150 \u00b0C (default), which is just below the melting point of the solder. This helps reduce rate of oxidation and damage to the iron tip. In general, when not using the iron, unplug it or let it sleep to increase the longevity of replaceable tips. The default sleep temperature can be customized. Simply picking up or moving the iron will wake it back up into soldering mode. You can also press any button and this will also wake the iron up. Optional Hall Effect Feature (Pinecil only): Pinecil has an unpopulated footprint (U14) for a hall effect sensor (Si7210-B-00-IV). Adding the sensor and placing a neodymium magnet on the holder stand will trigger Pinecil to sleep after it enters the stand, and Zzzz will appear on-screen. The magnet is positioned on the stand in proximity to the sensor/handle which then activates one of 10 user defined settings (0=off, 1=lowest sensitivity, 9=highest sensitivity). Read the Hall Sensor document for details on installation . Idle Shutdown If, after entering sleep mode, the iron still does not see movement for a much longer time (default=10 minutes); it will shut down and return to the home screen. Profile Mode (MHP30 only) On devices that support it, a long press on (+/A) takes you into profile mode, which initiates the profile selected in the relevant settings. Profile mode plays out as follows: Check if the temperature is below 55C. If not, you will get a warning and cannot enter profile mode. Preheat by raising the target temperature to the configured preheat temperature with the configured preheat speed. Wait for the device to reach the preheat temperature. Gradually move the target temperature to the configured end temperature of the first phase over the configured duration. Wait for the device to reach the end temperature. Repeat steps 4 and 5 for the next phases until there are no more phases configured. Cool down by lowering the target temperature to 0 with the configured cooldown speed. Once the temperature is below 55C, sound the buzzer (if available) and exit profile mode. You can manually exit profile mode manually in the same way as the soldering mode, by pressing and holding the rear button or pressing both buttons at once. Settings Menu The settings menu is the most evolving aspect of the firmware, so each option is not documented here. However, do not panic, as every menu option has an on-screen description so you don't need to come back here to figure them all out. To navigate the menu, the two buttons act separately. The rear button ( -/B ) is pressed to enter the menu and scrolls down the main options, and the other front button ( +/A ) will enter and change the current option. To see a description of an option, just wait, and after a few seconds, it will scroll across the screen. The menu is comprised of a 'main menu' of categories and then sub-items that allow you to adjust parameters. You can long hold buttons to change through options faster, and there is some acceleration when holding the buttons. There is a small scrollbar that appears along the right edge of the screen to indicate how far through the current list you are (looks like a dot). Additionally, this scrollbar will blink rapidly when you are on the last value in a range of a sub-menu. For example, if you are in Motion Sensitivity, which has a range of 0 - 9, it will blink when you are at 9. I highly recommend taking a few minutes to go through all of the options in the menu to get a feel for what you can change, almost every aspect of the internal system is adjustable to suit your needs. If you want to start over, simply go to Advanced settings > Restore default settings, confirm using the front ( +/A ) button. This sets all menu items to defaults, and keeps the same version firmware.","title":"Getting Started"},{"location":"GettingStarted/#getting-started","text":"Getting started with IronOS on your Pinecil/TS80/TS80P/TS100. If your device did not come with IronOS already installed, or if you need to update to the latest version; please see the flashing guide for your device: MHP30 Pinecil V1 Pinecil V2 TS80 / TS80P TS100 It is recommended to update to the newest stable release when you first receive your device to ensure you are up to date. Once your Iron has been flashed, on first power on it may warn you about the system settings being reset. Do not panic ; this is 100% completely normal. This is here to note to you that they have been reset to handle the internal structure changing. If you receive a warning about the accelerometer or USB-PD not being detected, please see here .","title":"Getting Started"},{"location":"GettingStarted/#the-home-screen-or-idle-screen","text":"This is the landing page of the firmware, from here you can choose to either go into the settings menu or go into soldering mode . By default this will show a screen similar to the one below: Note that this may be drawn mirrored depending on the orientation of your screen (detailed mode shows a different home screen). The soldering iron symbol on the screen will appear near the tip. This is here to indicate that pressing the button closest to the front of the iron will enter soldering mode. And naturally, the slider controls icon (or spanner icon in older versions) represents that pressing the button near the rear of the soldering iron will enter the settings menu. In the settings, you can turn on a detailed idle screen instead. The buttons still function the same, however, the image will be swapped for a text telling you the current status of the iron with extra details. Depending on how your device is being powered, at right side of the screen, the firmware will either show the voltage your unit is being provided with, a battery icon (if battery mode is enabled) or a power plug icon. If you see an ( X ) where the soldering iron should be, this indicates that the firmware can't see the tip connected. This could indicate a problem with the iron or tip. First, try removing the tip screw and tip and gently reinstalling both; ensure that the tip is seated all the way back. If the issue persists please see the hardware issues section . This OLED screen features burn-in protection; if no buttons or movement have been detected for a while it will automatically blank the screen to reduce burn-in when the iron is left unattended. Any movement or button press will wake the screen.","title":"The Home screen (or idle screen)"},{"location":"GettingStarted/#hidden-extras","text":"Additionally to the two icons shown, there are two \"hidden\" actions that can be performed on this menu. On devices that do not support profile mode, if you press and hold the button near the tip ( +/A ), this enters the temperature adjustment screen. Normally this is not required; but if you would like to adjust the set temperature before the tip starts to heat, this can be useful. If you press and hold the button near the rear of the iron ( -/B ), it will take you into the debug menu .","title":"Hidden Extras"},{"location":"GettingStarted/#soldering-mode","text":"When you press the button to enter the soldering mode, the iron will instantly start to heat up the tip. The firmware defaults to 320 \u00b0C as the set point for the soldering mode, however on this screen you can enter into the adjustment screen by pressing either button. Pressing and holding the button near the tip will enter Boost mode. This allows a temporary override of the set temperature to a higher (or lower) value. This can be useful as a way to force the tip to a higher temperature to drive more wattage into a large joint when the thermal connection is not ideal. Pressing and holding the rear button will exit soldering mode and land you back at the home screen. You can also do this by pressing both buttons at once and this will also work, this is a bit harder to do but is kept for compatibility with the Miniware firmware. Pressing and holding both buttons at once will enter locked mode, which will prevent the buttons from doing anything. You can in the settings allow boost mode in locked mode optionally. This can be useful if you find yourself hitting the buttons and entering into the temperature adjustment screen by accident.","title":"Soldering Mode"},{"location":"GettingStarted/#idle-sleep","text":"If the iron detects a period of time without any significant movement, it will enter sleep mode. This is indicated with a screen graphic similar to Zzzz (or text in detailed mode). In Sleep mode, the temperature of the iron automatically lowers to 150 \u00b0C (default), which is just below the melting point of the solder. This helps reduce rate of oxidation and damage to the iron tip. In general, when not using the iron, unplug it or let it sleep to increase the longevity of replaceable tips. The default sleep temperature can be customized. Simply picking up or moving the iron will wake it back up into soldering mode. You can also press any button and this will also wake the iron up.","title":"Idle Sleep"},{"location":"GettingStarted/#optional-hall-effect-feature-pinecil-only","text":"Pinecil has an unpopulated footprint (U14) for a hall effect sensor (Si7210-B-00-IV). Adding the sensor and placing a neodymium magnet on the holder stand will trigger Pinecil to sleep after it enters the stand, and Zzzz will appear on-screen. The magnet is positioned on the stand in proximity to the sensor/handle which then activates one of 10 user defined settings (0=off, 1=lowest sensitivity, 9=highest sensitivity). Read the Hall Sensor document for details on installation .","title":"Optional Hall Effect Feature (Pinecil only):"},{"location":"GettingStarted/#idle-shutdown","text":"If, after entering sleep mode, the iron still does not see movement for a much longer time (default=10 minutes); it will shut down and return to the home screen.","title":"Idle Shutdown"},{"location":"GettingStarted/#profile-mode-mhp30-only","text":"On devices that support it, a long press on (+/A) takes you into profile mode, which initiates the profile selected in the relevant settings. Profile mode plays out as follows: Check if the temperature is below 55C. If not, you will get a warning and cannot enter profile mode. Preheat by raising the target temperature to the configured preheat temperature with the configured preheat speed. Wait for the device to reach the preheat temperature. Gradually move the target temperature to the configured end temperature of the first phase over the configured duration. Wait for the device to reach the end temperature. Repeat steps 4 and 5 for the next phases until there are no more phases configured. Cool down by lowering the target temperature to 0 with the configured cooldown speed. Once the temperature is below 55C, sound the buzzer (if available) and exit profile mode. You can manually exit profile mode manually in the same way as the soldering mode, by pressing and holding the rear button or pressing both buttons at once.","title":"Profile Mode (MHP30 only)"},{"location":"GettingStarted/#settings-menu","text":"The settings menu is the most evolving aspect of the firmware, so each option is not documented here. However, do not panic, as every menu option has an on-screen description so you don't need to come back here to figure them all out. To navigate the menu, the two buttons act separately. The rear button ( -/B ) is pressed to enter the menu and scrolls down the main options, and the other front button ( +/A ) will enter and change the current option. To see a description of an option, just wait, and after a few seconds, it will scroll across the screen. The menu is comprised of a 'main menu' of categories and then sub-items that allow you to adjust parameters. You can long hold buttons to change through options faster, and there is some acceleration when holding the buttons. There is a small scrollbar that appears along the right edge of the screen to indicate how far through the current list you are (looks like a dot). Additionally, this scrollbar will blink rapidly when you are on the last value in a range of a sub-menu. For example, if you are in Motion Sensitivity, which has a range of 0 - 9, it will blink when you are at 9. I highly recommend taking a few minutes to go through all of the options in the menu to get a feel for what you can change, almost every aspect of the internal system is adjustable to suit your needs. If you want to start over, simply go to Advanced settings > Restore default settings, confirm using the front ( +/A ) button. This sets all menu items to defaults, and keeps the same version firmware.","title":"Settings Menu"},{"location":"HallSensor/","text":"Hall Effect Sensor Sleep Mode Menu In sleep mode, the iron automatically lowers the temperature to 150\u00b0C (default). This default setting was chosen as it is just below the melting point of a wide range of solders. A lower standby temperature helps reduce the oxidation rate and prevent damage to the soldering tips. As a general rule, when not in use, unplug the unit or let it go into sleep mode to extend the life of the replaceable tips. The default sleep temperature can be adjusted to your preference. Simply moving the iron or pressing any button will wake it back up into soldering mode. The sensitivity is adjustable. It is recommended to adjust this to suit your environment so that it reliably stays in sleep mode when not in use, but does not go into sleep mode when in use. (This may vary depending on the amount of movement during soldering.) Optional Hall Effect Feature (Pinecil (v1/v2) only): Inside the Sleep Menu is an additional type of sleep setting. Pinecil has an unpopulated footprint ( U14 ) for a hall effect sensor, Silicon Labs Si7210-B-00-IV . After installing the hall effect sensor (HES), it is possible to auto-trigger Pinecil to enter sleep mode when it enters the stand, and Zzzz will appear (or text in detailed mode). This could be a fun enhancement for any Pinecil and adds a feature typically only found in more expensive high-end irons. The HES is available at many electronic stores for ~$2-$6. After installing the HES on the PCB, place a magnet on the stand close enough to the sensor to activate one of ten user selectable settings. 0=off, 1=1000, 2=750, 3=500, 4=250, 5=150, 6=100, 7=75, 8=50, 9=25 (9 has the highest sensitivity to magnets) Setting of 1 might be used if you solder on PCBs with magnets and do not wish Pinecil to auto-sleep constantly. A very strong/large magnet would be required on the stand to activate the sleep mode if you use setting 1. Setting of 9 would be useful if you only had a small magnet and are not concerned about Pinecil falsely triggering sleep mode near magnetized items/tools. Actively watch the hall number change while you slowly move the magnet around to seek the best locations & whether you have too many or too few magnets. Position the magnet(s) where you have the highest hall number will ensure consistent sleep mode when you place the iron in the stand. This requires some experimenting. See debug menu for how to display the Hall number Note that the sensor is physically located near the copper contacts for the tip at the front of the handle. Reference Schematics U14 . Neodymium magnets are recommended. If using small magnets, 2-3 may be required, but too many could also be detrimental. Positioning/type/quantity of magnets is important for best results. Sometimes too many magnets breaks the effect by distorting the magnetic field as seen in this demo video . The video shows magnets at the top of the stand, and the pinecil goes correctly into Zzzz with only those magnets. When more magnets are added at the side, the Pinecil did not go to sleep, which is contrary to the goal. See the PDF below for details on magnetic fields with SI7210-B. Orientation of North and South faces of magnets is important to increase reaction of the hall sensor see data sheet SI7210-B-00-IV .","title":"Hall Sensor (Pinecil)"},{"location":"HallSensor/#hall-effect-sensor","text":"","title":"Hall Effect Sensor"},{"location":"HallSensor/#sleep-mode-menu","text":"In sleep mode, the iron automatically lowers the temperature to 150\u00b0C (default). This default setting was chosen as it is just below the melting point of a wide range of solders. A lower standby temperature helps reduce the oxidation rate and prevent damage to the soldering tips. As a general rule, when not in use, unplug the unit or let it go into sleep mode to extend the life of the replaceable tips. The default sleep temperature can be adjusted to your preference. Simply moving the iron or pressing any button will wake it back up into soldering mode. The sensitivity is adjustable. It is recommended to adjust this to suit your environment so that it reliably stays in sleep mode when not in use, but does not go into sleep mode when in use. (This may vary depending on the amount of movement during soldering.)","title":"Sleep Mode Menu"},{"location":"HallSensor/#optional-hall-effect-feature-pinecil-v1v2-only","text":"Inside the Sleep Menu is an additional type of sleep setting. Pinecil has an unpopulated footprint ( U14 ) for a hall effect sensor, Silicon Labs Si7210-B-00-IV . After installing the hall effect sensor (HES), it is possible to auto-trigger Pinecil to enter sleep mode when it enters the stand, and Zzzz will appear (or text in detailed mode). This could be a fun enhancement for any Pinecil and adds a feature typically only found in more expensive high-end irons. The HES is available at many electronic stores for ~$2-$6. After installing the HES on the PCB, place a magnet on the stand close enough to the sensor to activate one of ten user selectable settings. 0=off, 1=1000, 2=750, 3=500, 4=250, 5=150, 6=100, 7=75, 8=50, 9=25 (9 has the highest sensitivity to magnets) Setting of 1 might be used if you solder on PCBs with magnets and do not wish Pinecil to auto-sleep constantly. A very strong/large magnet would be required on the stand to activate the sleep mode if you use setting 1. Setting of 9 would be useful if you only had a small magnet and are not concerned about Pinecil falsely triggering sleep mode near magnetized items/tools. Actively watch the hall number change while you slowly move the magnet around to seek the best locations & whether you have too many or too few magnets. Position the magnet(s) where you have the highest hall number will ensure consistent sleep mode when you place the iron in the stand. This requires some experimenting. See debug menu for how to display the Hall number Note that the sensor is physically located near the copper contacts for the tip at the front of the handle. Reference Schematics U14 . Neodymium magnets are recommended. If using small magnets, 2-3 may be required, but too many could also be detrimental. Positioning/type/quantity of magnets is important for best results. Sometimes too many magnets breaks the effect by distorting the magnetic field as seen in this demo video . The video shows magnets at the top of the stand, and the pinecil goes correctly into Zzzz with only those magnets. When more magnets are added at the side, the Pinecil did not go to sleep, which is contrary to the goal. See the PDF below for details on magnetic fields with SI7210-B. Orientation of North and South faces of magnets is important to increase reaction of the hall sensor see data sheet SI7210-B-00-IV .","title":"Optional Hall Effect Feature (Pinecil (v1/v2) only):"},{"location":"Hardware/","text":"Notes on the various supported hardware Below are short summaries / notes around the hardware. This is not an in-depth comparison of the features of the units. Please do your own research before purchasing. Due to descisions out of our control, Miniware no longer provides source-code/schematics/support for any open source firmware on their devices. This does mean that only (TS100/TS80/TS80P) are \"open\" to any extent. TS80P is pushing that as it was never open at all but just happens to be very close to the TS80. While this generally shouldn't affect the performance of the device, it does mean that their newer products can be slow to be supported or some issues are harder to resolve. Sequre has so far been supportive of the S60 by providing schematics. The Pine64 units (Pinecil) are schematics-available (i.e you can download them on the Pine64 Wiki). They are currently the only vendor that has provided financial support of the project. They are also the only vendor that allows contact directly to the engineering teams for hardware issues. This results in generally better support for these devices. It does not mean that this firmware is designed around them, but it does help however that they are designed with this firmware in mind as Ralim talks to them. Where possible features are designed to work across all devices but the time for support may vary depending on the hardware and its quirks. A quick note on power supplies For all devices listed except the MHP30: These soldering irons do NOT contain DC/DC converters. This means that your power at the tip is a function of the supplied voltage. Just because the iron \"supports\" running at a wide range of voltages, you should always use a voltage near the upper limit where possible. It is highly recommended to use a PD adapter where possible as this allows the iron to know the limitations of your supply. The marked irons can only turn the tip on and off in software, this means that they can't control the maximum power drawn from the supply. This is why when using PD the iron may select a lower voltage than your power supplies maximum. This is to prevent your power supply failing from over current. For more information about power management underhood, please, see the related documentation section . For the MHP30, it contains a buck DC/DC, which means it can utilise most power supplies fairly well, but you should still aim for highest voltage that is reasonable to use. TS100 The TS100 was the first supported soldering iron, and is generally a very capable device. Its now generally not reccomended to buy new as other devices have all of its features and more, and can often be the same price or cheaper. It's still fully supported though, nothing will be taken away from it. can run from 9-25V DC; provides a power range that is determined by the input voltage; voltages below 12V don't overly work well for any substantial mass; the original firmware can be found here ( mirror backup ). TS101 The TS101 is the direct replacement of the TS100 with the same tip compatibility. It adds a spring pressure tip holding mechanism instead of using a screw so tips are easier to swap on the fly (But are held less securely and can pull out depending on the use case). It adds USB-C PD support and the hardware is compatible with 28V EPR power supplies (under both IronOS and official firmware). It unfortunately uses an STM32 clone MCU with quirks, so performance of the screen isn't as good as it could be but its perfectly usable. The bootloader for programming is the biggest weakness of this device and programming can be a pain. Fortunately, IronOS is relatively stable feature wise, so you shouldn't need to update the device often. The Miniware bootup logo is burned into their bootloader, so IronOS cant remove this. IronOS can show your own logo when it starts however. There are quirks to loading a logo on this device, so be sure to read the documentation if you are coming from other devices. TS80 TS80 is a successor to TS100, it moves to custom smaller tips that perform better at lower wattages. It is optimised for a 9V/2A Quick Charge 3.0 power supply. This is commonly found on older power banks on the USB-A port. It does not support USB-PD and will not work when powered from a USB-C power supply in most cases. uses Quick Charge 3.0 / QC3 capable charger only (18W max); doesn't support PD as it is not designed on the hardware level; the original firmware can be found here ( mirror backup ). TS80P The TS80P is the direct successor to the TS80 and essentially what the TS80 should have been from its debut. It is nearly identical except it adds USB-PD support for far better compatibility with modern power banks as well as a faster tip removal method. supports Quick Charge 3.0 ( QC3 : 9V/2A,12V/1.5A 18W max); supports Power Delivery ( PD : 9V/3A & 12V/3A, 30W max)**; the original firmware can be found here ( mirror backup ). **: use valid PD device that supports 12V/3A as power source to get full 30W potential, otherwise the iron will fall back to 9V/18W power mode. MHP30 MHP30 is a M ini H ot P late: accelerometer is the MSA301, this is mounted roughly in the middle of the unit; USB-PD is using the FUSB302; the hardware I2C bus on PB6/7 is used for the MSA301 and FUSB302; the OLED is the same SSD1306 as everything else, but it\u2019s on a bit-banged bus; the original firmware can be found here ( mirror backup ). Pinecil Pincecil: first model of soldering iron from PINE64; the default firmware can be found here .","title":"Hardware Notes"},{"location":"Hardware/#notes-on-the-various-supported-hardware","text":"Below are short summaries / notes around the hardware. This is not an in-depth comparison of the features of the units. Please do your own research before purchasing. Due to descisions out of our control, Miniware no longer provides source-code/schematics/support for any open source firmware on their devices. This does mean that only (TS100/TS80/TS80P) are \"open\" to any extent. TS80P is pushing that as it was never open at all but just happens to be very close to the TS80. While this generally shouldn't affect the performance of the device, it does mean that their newer products can be slow to be supported or some issues are harder to resolve. Sequre has so far been supportive of the S60 by providing schematics. The Pine64 units (Pinecil) are schematics-available (i.e you can download them on the Pine64 Wiki). They are currently the only vendor that has provided financial support of the project. They are also the only vendor that allows contact directly to the engineering teams for hardware issues. This results in generally better support for these devices. It does not mean that this firmware is designed around them, but it does help however that they are designed with this firmware in mind as Ralim talks to them. Where possible features are designed to work across all devices but the time for support may vary depending on the hardware and its quirks.","title":"Notes on the various supported hardware"},{"location":"Hardware/#a-quick-note-on-power-supplies","text":"For all devices listed except the MHP30: These soldering irons do NOT contain DC/DC converters. This means that your power at the tip is a function of the supplied voltage. Just because the iron \"supports\" running at a wide range of voltages, you should always use a voltage near the upper limit where possible. It is highly recommended to use a PD adapter where possible as this allows the iron to know the limitations of your supply. The marked irons can only turn the tip on and off in software, this means that they can't control the maximum power drawn from the supply. This is why when using PD the iron may select a lower voltage than your power supplies maximum. This is to prevent your power supply failing from over current. For more information about power management underhood, please, see the related documentation section . For the MHP30, it contains a buck DC/DC, which means it can utilise most power supplies fairly well, but you should still aim for highest voltage that is reasonable to use.","title":"A quick note on power supplies"},{"location":"Hardware/#ts100","text":"The TS100 was the first supported soldering iron, and is generally a very capable device. Its now generally not reccomended to buy new as other devices have all of its features and more, and can often be the same price or cheaper. It's still fully supported though, nothing will be taken away from it. can run from 9-25V DC; provides a power range that is determined by the input voltage; voltages below 12V don't overly work well for any substantial mass; the original firmware can be found here ( mirror backup ).","title":"TS100"},{"location":"Hardware/#ts101","text":"The TS101 is the direct replacement of the TS100 with the same tip compatibility. It adds a spring pressure tip holding mechanism instead of using a screw so tips are easier to swap on the fly (But are held less securely and can pull out depending on the use case). It adds USB-C PD support and the hardware is compatible with 28V EPR power supplies (under both IronOS and official firmware). It unfortunately uses an STM32 clone MCU with quirks, so performance of the screen isn't as good as it could be but its perfectly usable. The bootloader for programming is the biggest weakness of this device and programming can be a pain. Fortunately, IronOS is relatively stable feature wise, so you shouldn't need to update the device often. The Miniware bootup logo is burned into their bootloader, so IronOS cant remove this. IronOS can show your own logo when it starts however. There are quirks to loading a logo on this device, so be sure to read the documentation if you are coming from other devices.","title":"TS101"},{"location":"Hardware/#ts80","text":"TS80 is a successor to TS100, it moves to custom smaller tips that perform better at lower wattages. It is optimised for a 9V/2A Quick Charge 3.0 power supply. This is commonly found on older power banks on the USB-A port. It does not support USB-PD and will not work when powered from a USB-C power supply in most cases. uses Quick Charge 3.0 / QC3 capable charger only (18W max); doesn't support PD as it is not designed on the hardware level; the original firmware can be found here ( mirror backup ).","title":"TS80"},{"location":"Hardware/#ts80p","text":"The TS80P is the direct successor to the TS80 and essentially what the TS80 should have been from its debut. It is nearly identical except it adds USB-PD support for far better compatibility with modern power banks as well as a faster tip removal method. supports Quick Charge 3.0 ( QC3 : 9V/2A,12V/1.5A 18W max); supports Power Delivery ( PD : 9V/3A & 12V/3A, 30W max)**; the original firmware can be found here ( mirror backup ). **: use valid PD device that supports 12V/3A as power source to get full 30W potential, otherwise the iron will fall back to 9V/18W power mode.","title":"TS80P"},{"location":"Hardware/#mhp30","text":"MHP30 is a M ini H ot P late: accelerometer is the MSA301, this is mounted roughly in the middle of the unit; USB-PD is using the FUSB302; the hardware I2C bus on PB6/7 is used for the MSA301 and FUSB302; the OLED is the same SSD1306 as everything else, but it\u2019s on a bit-banged bus; the original firmware can be found here ( mirror backup ).","title":"MHP30"},{"location":"Hardware/#pinecil","text":"Pincecil: first model of soldering iron from PINE64; the default firmware can be found here .","title":"Pinecil"},{"location":"HardwareIssues/","text":"Hardware Issues While we would love everything to work perfectly, sometimes that just doesn't happen. Please do not email maintainers directly, these will generally be ignored. Keep issue discussions to GitHub issues or the discussions page so that the whole community can help and work together. No Accelerometer detected If your iron was previously working, this could be a bug (and we are very sorry). Please check the currently open and recently closed issues to check if anyone else has run into this. You can try going back to a release on the firmware to test if this is a new issue before opening an issue. If this is a new iron, also feel free to open an issue if you don't see any; a vendor could have changed the model of the accelerometer on us without warning again . In which case, support should come shortly. If your iron is new, there is a slim chance your accelerometer may be DOA and need replacement. Note this warning will only be shown the first few times until settings are reset No USB-PD IC detected Generally, this means either something went very awry in the firmware, or the chip is not answering as would normally be expected. Try rolling back to an earlier release to confirm if the issue still persists then the device may need repair. If you have some form of seller protection/support, you most likely want to reach out to this to be safe. If you don't, you can always attempt to replace the IC yourself. As of writing both the TS80P and Pinecil use the FUSB302. Note this warning will only be shown the first few times until settings are reset No tip detected If your tip is not being detected, the most likely cause is that the heater element inside the tip has been damaged from over-temperature, being dropped or bad luck. As the heater coil is part of the temperature measurement circuit neither will work if it's damaged. The best way to see if this is the case is to measure the resistance across the contacts to the tip using a multimeter. you are expecting to see measurements in the range of 4-10 ohms. Anything higher than 10 ohms is generally an issue. Iron will not heat up and displays a high temperature Check the Rtip and CHan numbers ( see debug menu ). Extremly high CHan is suspect to a problem with the cold junction compensation temperature sensor. For Pinecil V1, inspect near U10 which is the TMP36 sensor ( see issue here ). You may be able to reflow/resolder the TMP36 chip at U10 to correct a weak solder joint. If it worked on older firmware, but not on 2.16+, weak solder joints are suspect. The newer firmware runs the ADC a bit faster to keep tighter control of the tip temperature. Normally this wont cause an issue as the output from the TMP36 is powerful enough to keep up without any issue. But if you have a weak or cold solder joint this could cause issues. If the CHan is extremely high, and reflowing the temperature sensor does not resolve the issue; inspect the pins in the main MCU, possibly try giving them a light squeeze to the board while watching CHan. If you have a different device, follow the same logic and locate the temperature sensor on your device.","title":"Known Hardware Issues"},{"location":"HardwareIssues/#hardware-issues","text":"While we would love everything to work perfectly, sometimes that just doesn't happen. Please do not email maintainers directly, these will generally be ignored. Keep issue discussions to GitHub issues or the discussions page so that the whole community can help and work together.","title":"Hardware Issues"},{"location":"HardwareIssues/#no-accelerometer-detected","text":"If your iron was previously working, this could be a bug (and we are very sorry). Please check the currently open and recently closed issues to check if anyone else has run into this. You can try going back to a release on the firmware to test if this is a new issue before opening an issue. If this is a new iron, also feel free to open an issue if you don't see any; a vendor could have changed the model of the accelerometer on us without warning again . In which case, support should come shortly. If your iron is new, there is a slim chance your accelerometer may be DOA and need replacement. Note this warning will only be shown the first few times until settings are reset","title":"No Accelerometer detected"},{"location":"HardwareIssues/#no-usb-pd-ic-detected","text":"Generally, this means either something went very awry in the firmware, or the chip is not answering as would normally be expected. Try rolling back to an earlier release to confirm if the issue still persists then the device may need repair. If you have some form of seller protection/support, you most likely want to reach out to this to be safe. If you don't, you can always attempt to replace the IC yourself. As of writing both the TS80P and Pinecil use the FUSB302. Note this warning will only be shown the first few times until settings are reset","title":"No USB-PD IC detected"},{"location":"HardwareIssues/#no-tip-detected","text":"If your tip is not being detected, the most likely cause is that the heater element inside the tip has been damaged from over-temperature, being dropped or bad luck. As the heater coil is part of the temperature measurement circuit neither will work if it's damaged. The best way to see if this is the case is to measure the resistance across the contacts to the tip using a multimeter. you are expecting to see measurements in the range of 4-10 ohms. Anything higher than 10 ohms is generally an issue.","title":"No tip detected"},{"location":"HardwareIssues/#iron-will-not-heat-up-and-displays-a-high-temperature","text":"Check the Rtip and CHan numbers ( see debug menu ). Extremly high CHan is suspect to a problem with the cold junction compensation temperature sensor. For Pinecil V1, inspect near U10 which is the TMP36 sensor ( see issue here ). You may be able to reflow/resolder the TMP36 chip at U10 to correct a weak solder joint. If it worked on older firmware, but not on 2.16+, weak solder joints are suspect. The newer firmware runs the ADC a bit faster to keep tighter control of the tip temperature. Normally this wont cause an issue as the output from the TMP36 is powerful enough to keep up without any issue. But if you have a weak or cold solder joint this could cause issues. If the CHan is extremely high, and reflowing the temperature sensor does not resolve the issue; inspect the pins in the main MCU, possibly try giving them a light squeeze to the board while watching CHan. If you have a different device, follow the same logic and locate the temperature sensor on your device.","title":"Iron will not heat up and displays a high temperature"},{"location":"History/","text":"Version Changes v2.22 New Hardware Support Sequre S60 The Sequre S60 uses JBC tips, which makes it quite useful for the smaller tip types and extra options available. TS101 The TS101 is the evolution of the TS100, picking up USB-PD. It has otherwise similar tip support to the TS100/Pinecil/PinecilV2. Absolutely massive kudos goes to @VioletEternity for her work on the reverse engineering of this. If you at all are helped by IronOS running on this device more credit goes to her than to I. Also big thanks to @whitequark for organising + supporting + magic. Features & changes PinecilV2 notes BLE is fixed on all devices. Bootup Logo support is finalised and working. Improved the tip control, improving accuracy and remove most oscillations. Profile heating mode for MHP30 This lets you define a heat profile and run this profile akin to a proper reflow device. This can be used on the MHP30 by long-holding the A button (aka start button). Profile can be edited in settings. Note on newer OLED's To prevent this release being held up forever, the TS101 and S60 are being released with a limitation on the OLED screen. The current code will only draw to the upper left corner of the screen. Assets have been made for rendering this at full size, but the code is not complete yet. Smaller updates Filtering added to MHP tilt-exit to make it less sensitive Warning if a tip is detected to be shorted (TS101 + PinecilV2) Translation updates \u2764\ufe0f Documentation updates Lots of tooling and code cleanups v2.21 Features & changes Bluetooth Low Energy support for PinecilV2 Large cleanup of translation files; and refactor of how we handle fonts for translations Fixes for I2C corruption on PinecilV2 Option for using adjustable profiles on USB-PD or not Cleanups and improvements to the generated documents website PinecilV2 notes For Pinecil V2 users blisp is currently my recommended CLI tool for updating the device. It is built for all main OS's automatically. This does not apply to V1 devices. If your iron came with a blue grip, its a V1 and update the same as always. If your device came with a green silicone grip its a V2 device. Alternatively you can use Spagett1's PineFlash tool that should provide a GUI interface for PinecilV1 & PinecilV2. For a small number of V2 Pinecil devices there appears to be an interference issue between the Bluetooth Low Energy and some devices; more information here. If this occurs to you, please let us know in the issue and rollback to 2.20 for now. v2.20 First \"full\" release for PinecilV2 Loots of documentation updates Documentation is now nicely readable as a site A fair collection of bugfixes for PinecilV2 Cold Junction Calibration was reworked and now occurs at next boot to make it easier to perform when the device is cold v2.19 Bug-fix Infinite Boot Logo Shutdown settings for MHP30 Accelerometer sensitivity for MHP30 Allow showing unique device ID Bug-fix chance of a power pulse at device boot Updated translations Improved documents, added features table v2.18 Support for animated bootup logo's Bootup logo's moved to their own IronOS-Meta repo New Vietnamese translation (limited due to screen size) Fixes for SC7A20 in TS80(P) Updated translations Better Instructions/documents v2.17 Features & changes Indicate status of VBus for modding Pinecil (debug menu) Better hall effect sensor sensitivity adjustment (larger range with more steps) Temperature increment will \"round\" to nearest multiple of increase amount Build setup migrated to Alpine (You can now build in docker easily, and on PinePhone/PinePhonePro) -> Removed proprietary compiler for Pinecil RISCV now all uses normal gcc -> Removed using the arm specific build of gcc for the one that alpine ships (Miniware devices) Logo generator python script creates .dfu files for ease of use with Pinecil Upgrades to translations Support for new GD32103 based TS100 units turning up on the market Raw hall effect reading now shows in the Pinecil debug menu Fixed automatic orientation for newer TS80P's with the SC7 accelerometer User interface slight changes New metadata.zip file to allow the Pine Updater to automatically fetch information on releases Notes VBus mod detection may not play well with all PPS chargers. If your iron reboots when you view this in the debug menu its not a fault. ( #1226 ) metadata.zip is only designed for use by automatic software, ignore it for normal use More details on Pinecil VBus mod coming via other channels. Hall effect sensor is not fitted to Pinecil's by default, you have to fit this yourself if you want the feature Tweaks to the Accelerometer code means the drivers are slightly more fussy. If you run into any issues let us know in the discussion or issues. -> Release has been updated to build e065be3 after one bug with the BMA223 was found. v2.16 Overhaul of the Timer+ADC setup with help from @sandmanRO Overhaul of the PID with help from @sandmanRO Settings should now upgrade in place to future versions, with resets only happening to new/changed settings Shows error if tip runaway (failed temperature sensor) is detected USB-PD now has a timeout, to allow forcing QC3 negotiation to start faster QC3 Voltages are now adjustable to user desired setpoint Added a small tolerance to allow \"overvoltage\" on QC3 above unit specifications. Please note: Doing this is entirely at your own risk! New Advanced view that is much nicer to use and a very good daily driver option from @Mel-kior OLED brightness and contrast thanks to @alvinhochun Scrollbar is fixed so it doesnt jump around when menus are shown/hidden Moved to .dfu files from .bin to make flashing commands easier Every language had translation updates I believe Romanian language added v2.15 Features & changes MHP30 support Multi-lingual firmware combinations now exist for Pinecil More fine grained voltage controlled options USB-PD improvements (version one and two) More configuration options for power pulse All font / character encoding has been very reworked More translation updates than one can count More languages \ud83d\ude31 MHP30 support The MHP30 is a small reflow station from Miniware. Thanks to a massive amount of help from @g3gg0 this firmware brings the beginnings of support for this unit. Also kudo's to @Vinigas and @GoJian for helping with testing. This is not a final version I'm sure, but this is a working, usable version of firmware support. Programs the same as any one Miniware unit using drag and drop. Note: The boot logo scripts will need updates for this unit, so not supported yet. The flood doors are now open for feature requests for this unit :) v2.14 Fixing auto rotation bug in the LIS accelerometer in the TS80/TS80P Adds support for two new accelerometers -- SC7A20 (Future Pinecil batch) #786 -- MSA301 (Newer TS80P) #761 Add warnings if accelerometer or USB-PD IC's are not detected #752 -- Only shows for first few boots, to help catch unsupported models Fixed cooling down blink to be sane speed #769 Cleanup of threads and slightly faster power negotiation #790 Updates to flashing scripts #775 Documentation updates all over the place (and the wiki was given a cleanup)| Updates to makefile #792 #787 Cleanup the folder name of the source code #800 clang-format spec setup #801 v2.13 First official Pinecil release All of the wire for Pinecil releases added Updated Translations Delay accelerometer to help with entering sleep on startup Dual speed PWM to help with power limit control Improve heat up time Adds locking mode Improved docs all over the place Repo rename occured TS100 -> IronOS Hall effect sensor support added (not fitted in Pinecil but optional) QC 20V support for Pinecil CI upgrades for faster builds Fixed bug with accelerometer model on Pinecil Rework of all of the temperature curves for better accuracy v2.12 Only released as pre-release [TS80P] Improvements to the PD negotiation to handle a few more adapters cleanly Pause on the last item in a list Clean up the menu (removed both enables and settings, so that you can turn things off easier) Removing the very old single line menu style. v2.11 First TS80P support Added in a USB-PD driver stack for the FUSB302 Fixed some graphical glitches v2.10 GUI polish (animations and scroll bars) Power pulse to keep power supplies alive Adjustable tip response gain v2.09 Adjustable steps in temperature adjustment Git hash now in build string Adjustable language to set if US units are available or not Some minor QC3 improvements v2.08 Fixes auto start in sleep mode Power limiters v2.07 QC fixes Cosmetic fixes for leading 0's v2.06 Warning on settings reset Temp temp re-write Display calibration offset Hide some leading 0's Menu timeouts v2.05 Language updates v2.04 GUI updates v2.03 Support for new accelerometers v2.02 Adds small font v2.01 Newer settings menu v2.00 Complete re-write of the low layer system to use the STM32 HAL for easier development This allowed easier setup for the new ADC auto measuring system Better tip PWM control Moved to FreeRTOS for scheduling Complete re-write from blank Added detailed screen views Added smaller font for said screen views v1.17 Added blinking cooldown display Allowed smaller sleep timeout values New font! Automatic startup option v1.16 Added automatic rotation support Added power display graph v1.15 Added support for a custom bootup logo to be programmed via the DFU bootloader v1.14 Changed input voltage cutoff to be based on cell count rather than voltage v1.13 Swapped buttons for menu to prevent accidentally changing first menu item Added auto key repeat v1.12 Increases sensitivity options to be 1*9 with 0 off state Fixes issue where going from COOL *> soldering can leave screen off v1.11 Boost mode Change sensitivity options to be 1*8 v1.10 Adds help text to settings Improves settings for the display update rate v1.09 Adds display modes, for slowing down or simplifying the display v1.08 Fix settings menu not showing flip display v1.07 Adds shutdown time to automatically shutdown the iron after inactivity v1.06 Changes H and C when the iron is heating to the minidso chevron like images v1.05 Adds ability to calibrate the input voltage measurement v1.04 Increased accuracy of the temperature control Improved PID response slightly Allows temperature offset calibration Nicer idle screen v1.03 Improved Button handling Ability to set motion sensitivity DC voltmeter page shows input voltage v1.02 Adds hold both buttons on IDLE to access the therometer mode Changes the exit soldering mode to be holding both buttons (Like original firmware)","title":"Changelog"},{"location":"History/#version-changes","text":"","title":"Version Changes"},{"location":"History/#v222","text":"","title":"v2.22"},{"location":"History/#new-hardware-support","text":"","title":"New Hardware Support"},{"location":"History/#sequre-s60","text":"The Sequre S60 uses JBC tips, which makes it quite useful for the smaller tip types and extra options available.","title":"Sequre S60"},{"location":"History/#ts101","text":"The TS101 is the evolution of the TS100, picking up USB-PD. It has otherwise similar tip support to the TS100/Pinecil/PinecilV2. Absolutely massive kudos goes to @VioletEternity for her work on the reverse engineering of this. If you at all are helped by IronOS running on this device more credit goes to her than to I. Also big thanks to @whitequark for organising + supporting + magic.","title":"TS101"},{"location":"History/#features-changes","text":"","title":"Features & changes"},{"location":"History/#pinecilv2-notes","text":"BLE is fixed on all devices. Bootup Logo support is finalised and working. Improved the tip control, improving accuracy and remove most oscillations.","title":"PinecilV2 notes"},{"location":"History/#profile-heating-mode-for-mhp30","text":"This lets you define a heat profile and run this profile akin to a proper reflow device. This can be used on the MHP30 by long-holding the A button (aka start button). Profile can be edited in settings.","title":"Profile heating mode for MHP30"},{"location":"History/#note-on-newer-oleds","text":"To prevent this release being held up forever, the TS101 and S60 are being released with a limitation on the OLED screen. The current code will only draw to the upper left corner of the screen. Assets have been made for rendering this at full size, but the code is not complete yet.","title":"Note on newer OLED's"},{"location":"History/#smaller-updates","text":"Filtering added to MHP tilt-exit to make it less sensitive Warning if a tip is detected to be shorted (TS101 + PinecilV2) Translation updates \u2764\ufe0f Documentation updates Lots of tooling and code cleanups","title":"Smaller updates"},{"location":"History/#v221","text":"","title":"v2.21"},{"location":"History/#features-changes_1","text":"Bluetooth Low Energy support for PinecilV2 Large cleanup of translation files; and refactor of how we handle fonts for translations Fixes for I2C corruption on PinecilV2 Option for using adjustable profiles on USB-PD or not Cleanups and improvements to the generated documents website","title":"Features & changes"},{"location":"History/#pinecilv2-notes_1","text":"For Pinecil V2 users blisp is currently my recommended CLI tool for updating the device. It is built for all main OS's automatically. This does not apply to V1 devices. If your iron came with a blue grip, its a V1 and update the same as always. If your device came with a green silicone grip its a V2 device. Alternatively you can use Spagett1's PineFlash tool that should provide a GUI interface for PinecilV1 & PinecilV2. For a small number of V2 Pinecil devices there appears to be an interference issue between the Bluetooth Low Energy and some devices; more information here. If this occurs to you, please let us know in the issue and rollback to 2.20 for now.","title":"PinecilV2 notes"},{"location":"History/#v220","text":"First \"full\" release for PinecilV2 Loots of documentation updates Documentation is now nicely readable as a site A fair collection of bugfixes for PinecilV2 Cold Junction Calibration was reworked and now occurs at next boot to make it easier to perform when the device is cold","title":"v2.20"},{"location":"History/#v219","text":"Bug-fix Infinite Boot Logo Shutdown settings for MHP30 Accelerometer sensitivity for MHP30 Allow showing unique device ID Bug-fix chance of a power pulse at device boot Updated translations Improved documents, added features table","title":"v2.19"},{"location":"History/#v218","text":"Support for animated bootup logo's Bootup logo's moved to their own IronOS-Meta repo New Vietnamese translation (limited due to screen size) Fixes for SC7A20 in TS80(P) Updated translations Better Instructions/documents","title":"v2.18"},{"location":"History/#v217","text":"","title":"v2.17"},{"location":"History/#features-changes_2","text":"Indicate status of VBus for modding Pinecil (debug menu) Better hall effect sensor sensitivity adjustment (larger range with more steps) Temperature increment will \"round\" to nearest multiple of increase amount Build setup migrated to Alpine (You can now build in docker easily, and on PinePhone/PinePhonePro) -> Removed proprietary compiler for Pinecil RISCV now all uses normal gcc -> Removed using the arm specific build of gcc for the one that alpine ships (Miniware devices) Logo generator python script creates .dfu files for ease of use with Pinecil Upgrades to translations Support for new GD32103 based TS100 units turning up on the market Raw hall effect reading now shows in the Pinecil debug menu Fixed automatic orientation for newer TS80P's with the SC7 accelerometer User interface slight changes New metadata.zip file to allow the Pine Updater to automatically fetch information on releases","title":"Features & changes"},{"location":"History/#notes","text":"VBus mod detection may not play well with all PPS chargers. If your iron reboots when you view this in the debug menu its not a fault. ( #1226 ) metadata.zip is only designed for use by automatic software, ignore it for normal use More details on Pinecil VBus mod coming via other channels. Hall effect sensor is not fitted to Pinecil's by default, you have to fit this yourself if you want the feature Tweaks to the Accelerometer code means the drivers are slightly more fussy. If you run into any issues let us know in the discussion or issues. -> Release has been updated to build e065be3 after one bug with the BMA223 was found.","title":"Notes"},{"location":"History/#v216","text":"Overhaul of the Timer+ADC setup with help from @sandmanRO Overhaul of the PID with help from @sandmanRO Settings should now upgrade in place to future versions, with resets only happening to new/changed settings Shows error if tip runaway (failed temperature sensor) is detected USB-PD now has a timeout, to allow forcing QC3 negotiation to start faster QC3 Voltages are now adjustable to user desired setpoint Added a small tolerance to allow \"overvoltage\" on QC3 above unit specifications. Please note: Doing this is entirely at your own risk! New Advanced view that is much nicer to use and a very good daily driver option from @Mel-kior OLED brightness and contrast thanks to @alvinhochun Scrollbar is fixed so it doesnt jump around when menus are shown/hidden Moved to .dfu files from .bin to make flashing commands easier Every language had translation updates I believe Romanian language added","title":"v2.16"},{"location":"History/#v215","text":"","title":"v2.15"},{"location":"History/#features-changes_3","text":"MHP30 support Multi-lingual firmware combinations now exist for Pinecil More fine grained voltage controlled options USB-PD improvements (version one and two) More configuration options for power pulse All font / character encoding has been very reworked More translation updates than one can count More languages \ud83d\ude31","title":"Features & changes"},{"location":"History/#mhp30-support","text":"The MHP30 is a small reflow station from Miniware. Thanks to a massive amount of help from @g3gg0 this firmware brings the beginnings of support for this unit. Also kudo's to @Vinigas and @GoJian for helping with testing. This is not a final version I'm sure, but this is a working, usable version of firmware support. Programs the same as any one Miniware unit using drag and drop. Note: The boot logo scripts will need updates for this unit, so not supported yet. The flood doors are now open for feature requests for this unit :)","title":"MHP30 support"},{"location":"History/#v214","text":"Fixing auto rotation bug in the LIS accelerometer in the TS80/TS80P Adds support for two new accelerometers -- SC7A20 (Future Pinecil batch) #786 -- MSA301 (Newer TS80P) #761 Add warnings if accelerometer or USB-PD IC's are not detected #752 -- Only shows for first few boots, to help catch unsupported models Fixed cooling down blink to be sane speed #769 Cleanup of threads and slightly faster power negotiation #790 Updates to flashing scripts #775 Documentation updates all over the place (and the wiki was given a cleanup)| Updates to makefile #792 #787 Cleanup the folder name of the source code #800 clang-format spec setup #801","title":"v2.14"},{"location":"History/#v213","text":"First official Pinecil release All of the wire for Pinecil releases added Updated Translations Delay accelerometer to help with entering sleep on startup Dual speed PWM to help with power limit control Improve heat up time Adds locking mode Improved docs all over the place Repo rename occured TS100 -> IronOS Hall effect sensor support added (not fitted in Pinecil but optional) QC 20V support for Pinecil CI upgrades for faster builds Fixed bug with accelerometer model on Pinecil Rework of all of the temperature curves for better accuracy","title":"v2.13"},{"location":"History/#v212","text":"Only released as pre-release [TS80P] Improvements to the PD negotiation to handle a few more adapters cleanly Pause on the last item in a list Clean up the menu (removed both enables and settings, so that you can turn things off easier) Removing the very old single line menu style.","title":"v2.12"},{"location":"History/#v211","text":"First TS80P support Added in a USB-PD driver stack for the FUSB302 Fixed some graphical glitches","title":"v2.11"},{"location":"History/#v210","text":"GUI polish (animations and scroll bars) Power pulse to keep power supplies alive Adjustable tip response gain","title":"v2.10"},{"location":"History/#v209","text":"Adjustable steps in temperature adjustment Git hash now in build string Adjustable language to set if US units are available or not Some minor QC3 improvements","title":"v2.09"},{"location":"History/#v208","text":"Fixes auto start in sleep mode Power limiters","title":"v2.08"},{"location":"History/#v207","text":"QC fixes Cosmetic fixes for leading 0's","title":"v2.07"},{"location":"History/#v206","text":"Warning on settings reset Temp temp re-write Display calibration offset Hide some leading 0's Menu timeouts","title":"v2.06"},{"location":"History/#v205","text":"Language updates","title":"v2.05"},{"location":"History/#v204","text":"GUI updates","title":"v2.04"},{"location":"History/#v203","text":"Support for new accelerometers","title":"v2.03"},{"location":"History/#v202","text":"Adds small font","title":"v2.02"},{"location":"History/#v201","text":"Newer settings menu","title":"v2.01"},{"location":"History/#v200","text":"Complete re-write of the low layer system to use the STM32 HAL for easier development This allowed easier setup for the new ADC auto measuring system Better tip PWM control Moved to FreeRTOS for scheduling Complete re-write from blank Added detailed screen views Added smaller font for said screen views","title":"v2.00"},{"location":"History/#v117","text":"Added blinking cooldown display Allowed smaller sleep timeout values New font! Automatic startup option","title":"v1.17"},{"location":"History/#v116","text":"Added automatic rotation support Added power display graph","title":"v1.16"},{"location":"History/#v115","text":"Added support for a custom bootup logo to be programmed via the DFU bootloader","title":"v1.15"},{"location":"History/#v114","text":"Changed input voltage cutoff to be based on cell count rather than voltage","title":"v1.14"},{"location":"History/#v113","text":"Swapped buttons for menu to prevent accidentally changing first menu item Added auto key repeat","title":"v1.13"},{"location":"History/#v112","text":"Increases sensitivity options to be 1*9 with 0 off state Fixes issue where going from COOL *> soldering can leave screen off","title":"v1.12"},{"location":"History/#v111","text":"Boost mode Change sensitivity options to be 1*8","title":"v1.11"},{"location":"History/#v110","text":"Adds help text to settings Improves settings for the display update rate","title":"v1.10"},{"location":"History/#v109","text":"Adds display modes, for slowing down or simplifying the display","title":"v1.09"},{"location":"History/#v108","text":"Fix settings menu not showing flip display","title":"v1.08"},{"location":"History/#v107","text":"Adds shutdown time to automatically shutdown the iron after inactivity","title":"v1.07"},{"location":"History/#v106","text":"Changes H and C when the iron is heating to the minidso chevron like images","title":"v1.06"},{"location":"History/#v105","text":"Adds ability to calibrate the input voltage measurement","title":"v1.05"},{"location":"History/#v104","text":"Increased accuracy of the temperature control Improved PID response slightly Allows temperature offset calibration Nicer idle screen","title":"v1.04"},{"location":"History/#v103","text":"Improved Button handling Ability to set motion sensitivity DC voltmeter page shows input voltage","title":"v1.03"},{"location":"History/#v102","text":"Adds hold both buttons on IDLE to access the therometer mode Changes the exit soldering mode to be holding both buttons (Like original firmware)","title":"v1.02"},{"location":"Logo/","text":"Startup Logo / Animation When the device starts, you can have it optionally show either a static image or an animation. You can also set if these should stay on the screen or dismiss after some amount of time. These can be an elegant way to personalise your device or just mark it as your one at a meetup where there may be multiple. All devices supported by IronOS support this logo, and follow a similar process for setting one up. Please read the below general information as well as any model specific notes. Bootup logos are stored at the end of the flash storage in the Iron; next to the user settings. By locating them at the end of storage they are not erased during the normal firmware upgrade process. Once a logo is set it should stay (unless we need to change things in the main firmware); so to erase your logo you will also find that we generate an erase file. Alternatively your method of flashing may support doing a full erase flash which will also work for this. Generating the Logo files Because logos are stored at a fixed location in the device's internal flash; we can use the same method to flash these as you would normal firmware. This does also mean that we need to convert the image/animation file into the format that IronOS understands. IronOS uses a pre-processed file format to dramatically reduce the amount of space required to store the image; allowing for animations and saving space. In the IronOS-Meta repository is a python script to convert images into this pre-processed file format. Additionally, memebers of the community have contributed back their logo images as well. We provide these pre-converted for all models and ready to use in IronOS-Meta/releases . Download the zip for Pinecil or Miniware and then install using the instructions in the Flashing section below. If you want to make custom art then it needs to be converted with the Python script. You can checkout the repository or use the download-as-zip button in the Github web interface to download the code. Inside the download code is a Boot Logos folder, inside here is the python script required for logo conversion. It is easiest if you copy your logo file to be converted into this folder too, in order to keep commands shorter. The image can be in color and any size, but it will be resized and converted to 1-bit color. However, it looks best if you create a 96x16 image ( png or bmp ) in any image editor and color the pixels black & white manually. The thresholding used for converting colour to B&W may not always work as well as one would hope. The converter requires at least Python3 and Pillow apps. Follow online instructions for installing Python and Pillow on your machine. Any reasonably recent version should work well. When running the script on the Windows operating system; it is recommended to use Powershell rather than the old Command Prompt . For installing pillow; you can install it via your package manager (Debian and similar distros) or via pip. To install via pip the command should be python -m pip install pillow . In your shell you can now execute python img2logo.py input.png out -m ${model} to convert the file input.png and create output files in the folder out . The model should be replaced by one of the following options: miniware for older Miniware Irons -> TS100, TS80, TS80P pinecilv1 for the Pinecil V1 pinecilv2 for the Pinecil V2 ts101 for the Miniware TS101 [^1] [^2] s60 for the Squire S60 [^1] mhp30 for the Miniware MHP30 Different models are used for different flash locations for the image storage. This means that files are not interchangeable between devices. If you are flashing multiple devices you will need to create a different file for different models. After processing its expected to have a .hex and .dfu file created to be used. Which one to use will depend on your device. Note: make sure your image file is in the same folder as script files (img2logo.py, output_dfu.py, output_hex.py). [^1] Note that these devices have larger resolution screens that the logo system supports right now. Fixes are coming for this soon, roughly scheduled for 2.23. [^2] The TS101 requires extra steps, see below. TS101 Quirks When Miniware designed the TS101 they cut cost by using an STM32 clone with some odd quirks. They also re-wrote their USB bootloader, which has introduced new bugs for us to deal with. Their bootloader appears to have kept the existing limit of not being able to flash small hex files, but they no longer fall for the older \"just repeat the content\" trick and instead reject the file. Additionally, while the MCU in use has 128K of flash, their bootloader (at least for me) fails to write to anything above 99K. It looks like a watchdog reset or hard crash. Unsure. This has flow on effects, where the settings can still be located in the upper ~28K of flash, but it cant be used for anything we flash over USB. Of that 100K we can use, they waste 32K of it for their bootloader (Old bootloaders were 16K). This means the main \"app\" of IronOS is limited to around 67K (100K-32K for bootloader, -1K for logo). For this device the Logo is not located at the end of flash but instead at the last writable page (99K). Additionally, as we need to do a large write, to avoid having to waste more flash space; the logo is merged with the normal firmware. This means that the firmware and logo are flashed together once. Future updates can be done without merging as it will leave the logo data there as normal firmware doesnt touch that area of flash. To do this, download the latest version of IronOS and merge it with the logo using the --merge command line argument. To create the logo file for a TS101 the full command looks like python3 img2logo.py