aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--Documentation/DebugMenu.md31
-rw-r--r--Documentation/Flashing.md34
-rw-r--r--Documentation/GettingStarted.md12
-rw-r--r--Documentation/HallSensor.md26
-rw-r--r--Documentation/History.md41
-rw-r--r--Documentation/Menu.md59
-rw-r--r--Documentation/Temperature.md20
-rw-r--r--Documentation/Troubleshooting.md17
-rw-r--r--README.md21
9 files changed, 156 insertions, 105 deletions
diff --git a/Documentation/DebugMenu.md b/Documentation/DebugMenu.md
index 6b5318f0..7b573faa 100644
--- a/Documentation/DebugMenu.md
+++ b/Documentation/DebugMenu.md
@@ -1,12 +1,11 @@
# Debugging Menu
-In this firmware there is extra debugging information hidden under an extra menu.
-This is accessed by holding the rear (-/B) button on the iron while it is on the home screen.
-
+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.
-To move through the menu, use the front (+/A) button.
-To exit, use the rear (-/B) button again.
+- Access by pressing the rear (``-/B``) button on the iron while it is on the home screen.
+- To scroll through the menu, use the front (``+/A``) button.
+- To exit, use the rear (``-/B``) button again.
## Menu items
@@ -63,7 +62,7 @@ This may change during power up as the sources are negotiated in turn.
### 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 BL706, which enables generating a unique ID/Serial number to every iron. This can be used to verify your Pinecil authenticity [here](https://pinecil.pine64.org/).
+- The new Pinecil V2 released Aug. 2, 2022 now uses BL706, which enables generating a unique ID/Serial number to every iron. This can be used to [verify your V2 authenticity here](https://pinecil.pine64.org/).
### Max
@@ -85,22 +84,22 @@ This indicates the high water mark for the stack for the PID thread. The smaller
### Hall
-This appears if your device is capable of having a magnetic hall effect sensor installed (Pinecil).
-This shows the current field strength reading from the sensor. It can be used to check if the sensor is operational, and measure how strong the magnetic field is for diagnostics and optimal placement of magnets on a stand.
+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).
# PD Debug menu
-On the Pinecil; if the iron is booted up while holding the front button (+); it will show an extra menu for inspecting USB-PD power adapters. 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 any PD message when Pinecil is powered by DC port, QC, or USB 5V (non-PD).
+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.
-The menu navigates like the debug menu, where pressing (+) cycles through elements, and (-) will exit the menu.
+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; the other screens will show the advertised readings for voltage and current of the proposals.
+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.
-Warning (do this at your own risk, read everything in this debug document, and go to the Pine64 chat if you need tips). If you do the cut incorrectly, you could render the Pinecil non-working.
+#### Below is a method for user modification to convert some early models of Pinecil V1 to safely support 24V on the DC5525 barrel.
+⚠️ Warning: do this at your own risk, read everything in this document, and go to the [Pine64 community chat](https://wiki.pine64.org/wiki/Pinecil#Community_links) if you desire advice. An incorrect cut of the trace could render the Pinecil non-working.
-A simple user modification to the PCB on some models of V1 allows it to safely use DC24V 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 the PD debug menu. After a few seconds or after PD negotiates (state above 5) it will show [No VBus] if the VBus modification is performed correctly or not needed (i.e., late model V1) or it shows [VBus] if the mod has not been done and there is still a connection to the Vbus.
+Background: a simple user modification to the PCB on some models of original V1 allows it to safely use DC24V 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 the PD debug menu. After a few seconds or after PD negotiates (state above 5) it will show `[No VBus]` if the VBus modification is performed correctly or 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 (and Vbus connection limits you to 21V).
-The mod method is shown in the February 2022 Pine64 community [Updates](https://www.pine64.org/2022/02/15/february-update-chat-with-the-machine/). Early Pinecil V1 models required cutting a trace. Late model V1 made sometime in 2022 came with [No Vbus] already displayed, and no mod required.
+The mod method is shown in the February 2022 [PINE64 community updates](https://www.pine64.org/2022/02/15/february-update-chat-with-the-machine/). Early Pinecil V1 models required cutting a trace. Late model V1 made sometime in 2022 came with '[No Vbus]' already displayed, and no mod is required.
-The V2 model released Aug. 2, 2022 is an overhauled PCB with all relevant components capable of 28V. V2 requires no mods to support use of 24V DC Barrel port charger.
+The 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.
diff --git a/Documentation/Flashing.md b/Documentation/Flashing.md
index 761b9d7c..b5b50ba7 100644
--- a/Documentation/Flashing.md
+++ b/Documentation/Flashing.md
@@ -86,8 +86,12 @@ rmdir /tmp/mntdfu
Device will reboot and automount will rerun if not disabled.
Check the extension of your firmware, it should be `.RDY` now.
+# Pinecil V2 (Pine64)
+- The MCU in V2 is Bouffalo BL706 and does *not* use usb-dfu for flashing as the previous MCU did.
+- The current firmware (2.18) is very fresh and no upgrade is available/needed.
+- When an update is released for V2, then IronOS will also include an update method to follow.
-# Pinecil (Pine64)
+# Pinecil V1 (Pine64)
- The MCU used in Pinecil supports usb-dfu. Reference [Pinecil Wiki](https://wiki.pine64.org/wiki/Pinecil).
- Recommended Updater: the [Pine64 Updater](https://github.com/pine64/pinecil-firmware-updater/releases), is an easy-to-use GUI app. It is fast and works in several types of OS, i.e. Windows/Mac. It will automatically fetch the newest stable version of IronOS from GitHub.
@@ -101,15 +105,15 @@ Check the extension of your firmware, it should be `.RDY` now.
### Steps
-⛔ Do not use the DC power jack while updating firmware or you may destroy your PC. ⛔
+⛔ Do not use the DC barrel jack while updating firmware or you may destroy your PC. ⛔
-1. Download and extract the firmware package from GitHub [IronOS Releases](https://github.com/Ralim/IronOS/releases).
-2. Highly recommend updating `dfu-util` to the newest version.
-3. Enter DFU mode: press and hold (-) button at the back of the iron (do not release).
-4. Connect USB to PC, and USB-C to back of Pinecil, keep holding (-) button down.
-5. The screen will stay **black/off** to indicate the Pinecil is in DFU mode. This is normal.
-6. Once the USB cable is connected at two ends, wait 10 seconds more, then release the (-) button.
-7. Using `dfu-util` you can flash the firmware using a command line like this:
+1. Highly recommend updating `dfu-util` to the newest version before starting.
+2. Download and extract the firmware package from GitHub [IronOS Releases](https://github.com/Ralim/IronOS/releases).
+4. Enter DFU mode: press and hold (`-`) button at the back of the iron before you connect the USB-C cable.
+5. Connect USB to PC, and USB-C to back of Pinecil, keep holding (`-`) button down.
+6. Once the USB cable is connected at two ends, wait ~10 seconds more, then release the (`-`) button.
+7. The screen will stay **black/off** to indicate the Pinecil is in DFU mode. This is normal.
+8. Using `dfu-util` you can flash the firmware using a command line like this:
```
dfu-util -D Pinecil_EN.dfu
@@ -167,7 +171,7 @@ Two Options for Windows
### Steps
-⛔ Do not use the DC power jack while updating firmware or you may destroy your PC. ⛔
+⛔ Do not use the DC barrel jack while updating firmware or you may destroy your PC. ⛔
1. Using command line `dfu-util` is similar to above for Linux / Mac.
2. Highly recommend updating `dfu-util` to the newest version.
@@ -190,7 +194,7 @@ dfu-util -D Pinecil_EN.dfu
### Steps
-⛔ Do not use the DC power jack while updating firmware or you may destroy your PC. ⛔
+⛔ Do not use the DC barrel jack while updating firmware or you may destroy your PC. ⛔
1. If you are uncomfortable with the command line, then this chip vendor supplied GUI tool/drivers is an option.
2. Download and extract the firmware package from GitHub [IronOS Releases](https://github.com/Ralim/IronOS/releases).
@@ -199,21 +203,21 @@ dfu-util -D Pinecil_EN.dfu
- GD32 DFU Drivers [here](http://www.gd32mcu.com/en/download?kw=GD32+Dfu+Drivers&lan=en). If the link breaks, search for "GD32 Dfu Drivers" at this [link](http://www.gd32mcu.com/en/download/).
- Check properties of both downloads, tick Unblock if needed, then Unzip
4. Install the drivers and the GD32 DFU tool (ignore prompts to update the tool).
-5. Enter DFU mode: press and hold (-) button at the back of Pinecil (do not release).
-6. Connect Pinecil to a PC via USB cable (do not release the (-) yet).
+5. Enter DFU mode: press and hold (`-`) button at the back of Pinecil (do not release).
+6. Connect Pinecil to a PC via USB cable (do not release the (`-`) yet).
7. Screen will stay **black/off** to indicate the Pinecil is in DFU mode. This is normal.
8. You may hear a beep from Windows as it connects to Pinecil in DFU mode.
9. If you see windows notification that it `does not recognize USB device`, then you didn't connect, repeat step 3-8.
10. Open the GD32 DFU Tool (ignore prompts to update tool).
11. At the top of the DFU tool, you should see `GD DFU DEVICE 1` appear if you successfully connected Pinecil.
12. If DFU Device box at top is blank, then Pinecil is not connected in DFU mode, repeat steps 3-11.
-13. If it has been more than 10 seconds since you connected the USB cable, Release the (-) button. (don't use Upload from Device section)
+13. If it has been more than 10 seconds since you connected the USB cable, Release the (`-`) button. (don't use Upload from Device section)
14. Select `Download to device` > Open > Browse to folder you unzipped in step 2.
15. Select the `hex` file for language. English is Pinecil_EN.hex , tick `Verify after download`.
16. Click `OK` at bottom. After a few minutes you will see 0-100%, Download successfully! Click `Leave DFU` at the top.
17. Disconnect Pinecil cable from PC, plug it into a power supply.
18. Do not need to press any buttons, a new screen should appear.
-19. To confirm upgrade, hold the minus (-) button down for a few seconds, it then shows new firmware version v2.xx.x....date
+19. To confirm upgrade, hold the minus (`-`) button down for a few seconds, it then shows new firmware version v2.xx.x....date
- If you have errors, see Troubleshooting [above](/Documentation/Flashing.md#troubleshooting).
diff --git a/Documentation/GettingStarted.md b/Documentation/GettingStarted.md
index 4ce36fda..7e5ce057 100644
--- a/Documentation/GettingStarted.md
+++ b/Documentation/GettingStarted.md
@@ -72,16 +72,16 @@ If, after entering sleep mode, the iron still does not see movement for a much l
The settings menu is the most often 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 button that you pressed to enter the menu (rear) scrolls down the options, and the other button (front) will enter and change the current option.
+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 little time, it will scroll across the screen.
+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 allows you to adjust parameters.
+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 will be shown along the edge of the screen to indicate how far through the current list you are.
+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 item in a menu choice.
+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.
+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 factory settings, confirm using the front (`+/A`) button. This sets all menu items to defaults, and keeps the same version firmware.
diff --git a/Documentation/HallSensor.md b/Documentation/HallSensor.md
index a6e02ba7..52e6391d 100644
--- a/Documentation/HallSensor.md
+++ b/Documentation/HallSensor.md
@@ -2,19 +2,21 @@
## Sleep Mode Menu
-In Sleep mode, the temperature of the iron automatically lowers to 150 °C (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.
+In Sleep mode, the iron automatically lowers the temperature to 150 °C (default). This default was chosen as it is just below the melting point of many solders. A stand-by lower temperature helps reduce the rate of oxidation and prevents damage to iron tips. 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 moving the iron will wake it back up into soldering mode. You can also press any button and this will also wake-up the iron.
+Simply moving the iron or pressing any button will wake it back up into soldering mode.
-### Optional Hall Effect Feature (Pinecil v1/v2 only):
+### Optional Hall Effect Feature (Pinecil only):
-Inside the Sleep Menu is an additional type of sleep setting. Pinecil has an unpopulated footprint (U14) for a hall effect sensor (Si7210). It is possible with the hall sensor to trigger Pinecil to go to sleep after it enters the stand, and Zzzz will appear on the screen. After installing the hall sensor, a magnet is positioned on the stand close enough to the sensor to activate one of ten user selectable settings.
+Inside the [Sleep Menu](https://github.com/Ralim/IronOS/blob/dev/Documentation/Settings.md#setting-sleep-temp) is an additional type of sleep setting. Pinecil has an unpopulated footprint (**U14**) for a hall effect sensor (**Si7210**). After installing the hall sensor, 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 sensor is available at many electronic stores for ~$2-$6.
-- 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. And a very strong/large magnet would be required on the stand to activate the sensor sleep mode.
-- 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.
-- Neodymium magnets are recommended. If using small magnets, 2-3 may be required, but too many can also be detrimental.
-- Actively watch the hall number change (in [debug menu](/Documentation/DebugMenu.md)) while you slowly move the magnet around to seek the best locations & whether you have too many or too few magnets. Positioning the magnet where you have the highest hall number will ensure consistent sleep mode when you place the iron in the stand. This requires some experimenting.
-- Sensor is physically located near the copper contacts for the tip at the front of the handle. Reference [Schematics U14](https://files.pine64.org/doc/Pinecil/Pinecil_schematic_v1.0a_20201120.pdf).
-- Positioning/type/quantity of magnets is important for best results. Sometimes [too many magnets](https://www.youtube.com/shorts/afkqKwCX00I) breaks the effect by distorting the magnetic field.
-- Orientation of North and South faces of magnets is important to increase reaction of the hall sensor [SI7210-B-00-IV](https://www.silabs.com/documents/public/application-notes/an1018-si72xx-sensors.pdf).
+After installing the hall sensor, a magnet is positioned 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.
+ - Neodymium magnets are recommended. If using small magnets, 2-3 may be required, but too many can also be detrimental.
+ - Actively watch the hall number change ([see debug menu](/Documentation/DebugMenu.md)) while you slowly move the magnet around to seek the best locations & whether you have too many or too few magnets. Positioning 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.
+ - Note that the sensor is physically located near the copper contacts for the tip at the front of the handle. [Reference Schematics U14](https://files.pine64.org/doc/Pinecil/Pinecil_schematic_v1.0a_20201120.pdf).
+ - 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](https://www.youtube.com/shorts/afkqKwCX00I). 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.
+ - Orientation of North and South faces of magnets is important to increase reaction of the hall sensor [see data sheet SI7210-B-00-IV](https://www.silabs.com/documents/public/application-notes/an1018-si72xx-sensors.pdf).
+ \ No newline at end of file
diff --git a/Documentation/History.md b/Documentation/History.md
index e61745d5..af4f753f 100644
--- a/Documentation/History.md
+++ b/Documentation/History.md
@@ -1,5 +1,46 @@
# Version Changes
+## 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
+### Big 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](https://github.com/Ralim/IronOS/issues/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
diff --git a/Documentation/Menu.md b/Documentation/Menu.md
index 8bb02edd..d1d6ba67 100644
--- a/Documentation/Menu.md
+++ b/Documentation/Menu.md
@@ -1,29 +1,30 @@
# Menu System
-In this firmware for these soldering irons, all settings are adjustable on the device itself. This means you do **not** require a computer to change any settings.
+In this firmware for these soldering irons, all settings are adjustable on the device itself. This means a computer is **not** required to change any setting.
## Soldering mode
In this mode the iron works as you would expect, pressing either button will take you to a temperature change screen.
-Use each button to go up and down in temperature. Pressing both buttons will exit you from the temperature menu (or wait 3 seconds and it will time out).
-Pressing both buttons or holding the button near the USB will exit the soldering mode.
-Holding the button at the front of the iron will enter boost mode (if enabled).
+- Use each button to go up/down in temperature. Pressing both buttons exits the temperature menu (or wait 3 seconds and it will time out).
+- Pressing both buttons or holding the rear button (`-/B`) will exit Soldering Mode.
+- Holding the front button (`+/A`) will enter [Boost mode](/Documentation/Menu.md#boost-mode) (if enabled).
-## Settings Menu
-
-This menu allows you to cycle through all the options and set their values.
-The button near the USB cycles through the options, and the one near the tip changes the selected option.
-Note that settings are not saved until you exit the menu.
-If you leave the unit alone (i.e., don't press any buttons) on a setting, after 3 seconds the screen will scroll a rough description of the setting.
+## Settings mode
+This mode allows you to cycle through all the options and set custom values.
The menu is arranged so that the most often used settings are first.
-With submenus being selected to enter using the front button (as if you were going to change the setting).
-Scrolling through the submenu will return you back to its entry location after you scroll through all of the options.
+
+- The rear button (`-/B`) cycles through the main options.
+- The front button (`+/A`) changes the selected option.
+- Note that settings are not saved until you exit the menu.
+- If you idle on a setting (i.e., don't press any buttons), after 3 seconds, the screen scrolls a brief description (mini help guide).
+- Enter submenus using the front button (`+/A`) if you are going to change it or wish to view it.
+- Scrolling through the all options of a submenu will return you back to its entry location.
### Calibrating input voltage
Due to the tolerance on the resistors used for the input voltage divider, some irons can be up to 0.6 V out on the voltage measurement.
-Please calibrate your iron if you have any issues with the cutoff voltage.
+Please calibrate your iron if you have any issues with the cutoff voltage. This calibration is not required if you have no issues.
Note that cutoff messages can also be triggered by using a power supply that is too weak and fails under the load of the iron.
To calibrate your iron:
@@ -31,29 +32,29 @@ To calibrate your iron:
1. Measure the input voltage with a multimeter and note it down.
2. Connect the input to your iron.
3. Enter the settings menu
-4. Under the advanced submenu
+4. Under the Advanced submenu
5. Select the calibrate voltage option
6. Use the front and back buttons to adjust the displayed voltage to minimize the error to your original measurement
-7. Press both buttons at the same time to save and exit to the menu
+7. Press both buttons at the same time to Save and Exit to the menu
### Calibrating tip offset (Set tip model)
-
-Some tips will have an offset on their readings, to calibrate this out perform the following steps:
+This is normally not needed unless you have an issue with your temperature or your tips are wearing out prematurely. Changing tip lengths does not necessarily mean a calibration is needed. If the method below is not followed, the iron could be worse than before calibration, repeat the method.
+Some tips have an offset on their readings which causes issues, i.e., the actual temperature of the tip is much higher than displayed. To calibrate this out, perform the following steps:
1. Connect power to your iron
-2. Make sure the tip is at room temperature (i.e., wait for a fair while after using the iron before calibration)
-3. Enter the settings menu
-4. Scroll down to the advanced menu, and then the temperature calibration
-5. Press the button to change the option (tip button)
-6. The display will start to scroll a warning message to check that the tip is at ambient temperature!
-7. Press the button near the tip of the iron to confirm
-8. The display will go to "...." for a short period of time as the unit measures the tip temperature and the handle temperature and compares them
-9. The display will then go back to *TMP CAL* and it will display a number, this is your offset number. You generally don't need it unless debugging issues
-10. Calibration is done, just exit the settings menu as normal
-11. You're done, enjoy your iron!
+2. **Critical: make sure the tip & handle is at room temperature** (wait a good while after using the iron before calibration)
+3. Using (`-/B`) scroll down to Advanced settings > press (`+/A`) to select > then (`-/B`) to scroll to Calibrate temperature? > press (`+/A`)
+4. Important warning message is shown: *Please ensure the tip is at room temperature before proceeding!*
+5. Press the (`+/A`) button to confirm (tip/handle are at ambient temperature).
+6. Display shows **`....`** for a short time as the unit measures and compares the tip and handle temperatures.
+7. The display then goes back to *TMP CAL* and displays your *Offset number*. You generally don't need this offset unless debugging issues.
+8. After you see an Offset number, calibration is done, just exit the settings menu normally, use (`-/B`).
+9. You're done, enjoy your iron!
+
+Note: offsets are dependant on your tip, temperature sensor, and the MCU. It's the culmination of tolerances at rest. Typical values are 700-1000 range. This is only designed to be used at boot while cold (ambient room temperature), as temperatures drift apart as soon as power is connected. Doing this reading repeatedly could result in wide varience of the offset number and/or incorrect calibration.
### Boost mode
-This allows you to change the front key (one near the tip) to become a boost button when you hold it for > 2 seconds. This allows you to set this button to change the soldering temperature for short periods. For example, when soldering a big joint and you want to boost the temperature a bit.
+This allows you to change the front button (`+/A`) to become a boost button when you hold it for > 2 seconds. A boost button changes the soldering temperature for short periods. For example, when soldering a big joint and you need a much higher temperature, hold the (`+/A`) button down and it will temporarily increase the temperature to your 'boost' setting. When you release the button, the temperature will gradually go back to the normal set temperature.
-The boost temperature is set in the settings menu.
+The boost temperature is set in Soldering settings.
diff --git a/Documentation/Temperature.md b/Documentation/Temperature.md
index 91fba63d..1d3aed26 100644
--- a/Documentation/Temperature.md
+++ b/Documentation/Temperature.md
@@ -9,7 +9,7 @@ The downsides of this are twofold; one, it is made using non-optimal metals and
## How a thermocouple works (brief)
-A thermocouple uses a junction of two dissimilar metals to create a very small amount of power (microvolts). This can then be measured and used with a known transfer function to derive the temperature of the junction.
+[Thermocouples use a junction of two dissimilar metals](https://www.youtube.com/watch?v=v7NUi88Lxi8) to create a very small amount of power (microvolts). This can then be measured and used with a known transfer function to derive the temperature of the junction.
This has some fairly large limitations, but it also has the benefit of being extremely cheap.
Conventionally a thermocouple is created using two dissimilar metals that join, and then the other ends of these metals are terminated to copper contacts. These copper contacts are also part of the construction of the thermocouple and are referred to as the cold junction.
@@ -17,7 +17,7 @@ As there are these extra two joins between the thermocouple wires and the copper
If the cold junction is held at 0 degrees Celsius, then their effect is considered to be null, and so they can be ignored. However, in the real world the joins to copper are often at room temperature, and as such the measured voltage from the thermocouple must be compensated to remove the influence of these joints. This process is often called cold junction compensation.
-Every time in the circuit there is a join between two different metals, there is a small thermocouple created, this means that _every_ soldered connection is also one.
+Every time in the circuit there is a join between two different metals, then a small thermocouple is created, this means that _every_ soldered connection is also one.
## How these irons implement the temperature reading
@@ -27,32 +27,34 @@ This consists of an op-amp that is connected directly across the heating connect
When the iron is **not** heating the tip, the microcontroller uses the ADC to read the output from the op-amp. This produces a voltage that _should_ be linear to the temperature of (tip-handle). This value is then offset compensated (to remove ADC+op-amp offsets), and then converted into a temperature delta in °C/K. This temperature delta can then be added to the handle temperature to derive the tip temperature in degrees Celsius.
-Depending on the construction of the tip, the lookup values used for converting the tip reading in µV into °C/K varies. It is worth noting, however, that TS100 and Pinecil tips are approximately the same as the Hakko T12 tips. (In @Ralim's testing, to within measurement error). This makes sense as these tips are cheap and would have made an excellent design for Miniware to have cloned in making the TS100 in the first place.
+Depending on the construction of the tip, the lookup values used for converting the tip reading in µV into °C/K varies. It is worth noting, however, that TS100 and Pinecil tips are approximately the same as the Hakko T12 tips. (In @Ralim's testing, to within measurement error). This makes sense as the T12 tips are an excellent and cheap design for Miniware to mimic in making the TS100 in the first place.
## Implications of this
### Reading accuracy vs Heating performance tradeoff
-Because the tip can only be measured when the unit is not heating, the more often the tip is measured (for finer temperature control) the less time the unit can spend heating up the tip. This means that for fast heat up and fine temperature control the firmware now implements two speeds to the controller loop. During heating up the system runs fewer temperature measurements and instead allows the tip to spend more time burning power. Once the unit is up to temperature the rate of taking temperature readings is doubled to allow for faster reaction times.
+Because the tip can only be measured when the unit is not heating, the more often the tip is measured (for finer temperature control) the less time the unit can spend heating up the tip. This means that for fast heat up and fine temperature control the firmware now implements two speeds to the controller loop. During heating up the system runs fewer temperature measurements and instead allows the tip to spend more time burning power. Once the unit is up to temperature, the rate of taking temperature readings is doubled to allow for faster reaction times.
### Tip heat up lag time
As the temperature sensor is a part of the heater coil inside of the tip (or very close by, not entirely certain); the temperature reading is of the _inside_ of the tip, rather than the outside. The outside temperature is the most critical for the user as this is where the solder is actually melting and performing work.
-The PID controller in the firmware is tuned to be slightly underdamped and thus more "jumpy" than some people would expect. This is based on the theory that if the inside of the tip is seeing the temperature droop; the outside temperature has dropped more and so we should overcompensate until they equalise.
+The PID controller in the firmware is tuned to be slightly underdamped and thus more "jumpy" than some people would expect. This is based on the theory that if the inside of the tip is seeing the temperature drop; the outside temperature has dropped more and so we should overcompensate until they equalise.
This is why sometimes the temperature may flick around a little during use but the tip temperature itself is quite stable. The thermal mass of the tip smooths these small amounts out nicely for the user. Though seeing larger jumps on some tips than others _may_ indicate that the tip does not have optimal internal thermal bonding between the heater coil and the tip itself.
-The firmware uses the theory that these irons are more towards the power users territory than most, so it tries to not hide the actual temperature. What some soldering iron controllers do is that they hide the actual measurement once you are within a certain tolerance of this. For example, on a digital Weller unit Ralim has to hand, if set to 350 °C, it will regulate to within around +-3 °C but not indicate you are outside of this bad until you exceed +-5 °C. This gives the illusion that it's holding the temperature perfectly when in actuality it's moving around as well.
+The firmware uses the theory that these irons are aimed more to the power users territory than most, so it tries to _not_ hide the actual temperature. Some soldering iron controllers hide the actual measurement once you are within a certain tolerance of this. For example, on a digital Weller unit that Ralim has, if set to 350 °C, it will regulate to within around +/- 3°C but not indicate you are outside of the margin of error until you exceed +/- 5°C. This gives the illusion that it's holding the temperature perfectly when in actuality it's moving around as well.
Given enough time (3-5 seconds) with no external cooling, the inside and outside temperatures of the tip will be equal. When testing the tip temperature accuracy try to allow time for the system to stabilise.
### Complexity of measurement
-The firmware in these irons does a best-effort of calculating an accurate temperature, but as always there is a tradeoff between perfect accuracy and firmware complexity and setup. As these irons are built down to a cost, expecting accuracy greater than 1% is not really an option as the voltage reference is only 1% accurate at best. So _all_ measurements are affected by its accuracy. And the low-cost chips used in the irons do not come calibrated from the factory so we do not have an internal calibration we can use to try and measure this inaccuracy.
+The firmware in these irons does a *best-effort* of calculating an accurate temperature. As always there is a tradeoff between perfect accuracy and firmware complexity and setup. These irons are built down to a cost; expecting accuracy greater than 1% is not really an option as the voltage reference is only 1% accurate at best. So _all_ measurements are affected by its accuracy. The low-cost chips used in the irons do not come calibrated from the factory so we do not have an internal calibration we can use to try and measure this inaccuracy.
-The firmware only accounts for cold junction compensation and then treats the remaining error as being a constant offset.
+The firmware only accounts for [cold junction compensation](https://www.tegam.com/what-exactly-is-cold-junction-compensation/) and then treats the remaining error as being a constant offset.
While the error is small, it is actually composed of both a constant offset as well as an offset that is linear to the handle temperature.
-This offset that is linear to handle temperature is as of current not modelled into the firmware and there is assumed to be constant. This is generally "close enough" as once the unit is in use, the handle temperature is usually within 10 °C as the components inside warm-up from use. This means that this error is "relatively" constant once the unit is being used. However, this can cause odd behaviour when the tip temperature ~= room temperature. And can cause some jumping and movement in the readings when attempting to control the tip to sub 100 °C.
+This offset that is linear to handle temperature is as of current not modelled into the firmware and is assumed to be constant. This is generally *close enough* as once the unit is in use, the handle temperature is usually within 10 °C as the components inside warm-up from use. This means that this error is "relatively" constant once the unit is being used.
+
+`However, this can cause odd behaviour when the tip temperature ~= room temperature. It can cause some jumping and movement in the readings when attempting to control the tip to sub 100 °C.`
This is a known tradeoff that is made as the irons intended use case means that it will spend most of its time above 150 °C, at which point these errors are no longer the dominant error sources in the system.
diff --git a/Documentation/Troubleshooting.md b/Documentation/Troubleshooting.md
index 58b4af29..5c708a4f 100644
--- a/Documentation/Troubleshooting.md
+++ b/Documentation/Troubleshooting.md
@@ -8,10 +8,11 @@ Alongside all of these, issues with the soldering of the main MCU could cause al
The tip is important for the operation of your iron. T100 and Pinecil tips are around 8 ohms, and TS80(P) tips are around 4.5 ohms.
-You are welcome to open discussions about issues as well, or if you bought your Pinecil from an official store; use the Pinecil community chat for support.
+You are welcome to open discussions about issues as well, or if you bought your Pinecil from an official store; use the [Pinecil community chat](https://wiki.pine64.org/wiki/Pinecil#Community_links) for support.
But it is helpful to do some basic diagnostics first just in case the issue is easily fixed.
+
The **VAST** majority of issues are poor soldering or cold solder joints.
-If you can open up your iron, give it a good look at all the connection points, and use another iron to reflow any suspicious ones, can fix most issues.
+If you can open up your iron, give it a good look at all the connection points, and use another iron to reflow any suspicious ones, this can fix most issues.
## High tip temp reading when the tip is cool
@@ -28,16 +29,16 @@ If `RTip` is overreading, you may have one of the following:
- Partially stuck on main MOSFET
- Slow reacting main MOSFET driver transistor
-- Damaged op-amp
-- Poor soldering on the op-amp circuitry
+- Damaged Op-Amp
+- Poor soldering on the Op-Amp circuitry
- No tip inserted or tip that is not connecting correctly
-If `RTip` is under-reading you most likely have issues with the op-amp or the tip. The signal should be pulled high by hardware (reading hot), so this often means the MCU is not reading the signal correctly. Check MCU soldering.
+If `RTip` is under-reading you most likely have issues with the Op-Amp or the tip. The signal should be pulled high by hardware (reading hot), so this often means the MCU is not reading the signal correctly. Check MCU soldering.
### CHan is out of spec
CHan reading comes directly from the cold junction compensation temperature sensor.
-This is usually a TMP36, or an NTC thermistor (MHP30, TS80P).
+This is usually a TMP36 (Pinecil V1), or an NTC thermistor (MHP30, TS80P, Pinecil V2).
If `CHan` is reading low:
@@ -54,13 +55,13 @@ If `CHan` is reading higher
## No display OR dots on the display
If when you power up your iron you get no display, the first test is to (carefully) attempt to heat the tip.
-Press the front button on your device and check if the tip heads up.
+Press the front button (`+/A`) on your device and check if the tip heats up.
If the tip does not heat up, it is worth trying to reflash the firmware first in case it is corrupted.
The main failure mode of the OLED display module is usually poor soldering on the OLED display cable to the main PCB.
As this is soldered by hand generally, it's the most prone to failures.
-If you have a poor connection or a floating pin, you can end up with a state where the screen works _sometimes_ and then freezes or only works on some power cycles.
+If you have a poor connection or a floating pin, you can end up with a state where the screen works _sometimes_ and then freezes or only works on some power cycles. It might work on very old versions of IronOS but not the newest ones. You could try to reflow the pins for the OLED. On 96x16 screens, carefully peel it back from the adhesive and reflow the solder on the pins. If needed, replacement Oled screens are common and low cost.
As the OLED runs on an I2C bus, there are pull up resistors on the SDA and SCL pins. It is worth checking these as well, while they don't often fail, issues with these can cause _weird_ display issues.
diff --git a/README.md b/README.md
index 506bc213..2b7beeb1 100644
--- a/README.md
+++ b/README.md
@@ -11,7 +11,7 @@ Originally conceived as an alternative firmware for the TS100, this firmware has
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 (QC and PD), the firmware supports settings around the negotiated power and voltage.
+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.
There are 30 languages currently supported. When downloading the firmware for your soldering iron, take note of the language code in the file name.
@@ -20,16 +20,17 @@ This project is considered feature complete for use as a soldering iron, _so ple
_This firmware does **NOT** support the USB port while running for changing settings. This is done through the onscreen menu only. Logos are edited using the tool or python script and uploaded in DFU mode._
-| Device | DC | QC | PD | EPR | BLE | Battery | Recommended |
-| --------: | :-: | :-: | :-: | :-: | :-: | :-----: | :---------: |
-| MHP30 | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ✔️ |
-| Pinecil | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ✔️ | ✔️ |
-| Pinecil 2 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
-| TS100 | ✔️ | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ |
-| TS80 | ❌ | ✔️ | ❌ | ❌ | ❌ | ✔️ | ❌ |
-| TS80P | ❌ | ✔️ | ✔️ | ❌ | ❌ | ✔️ | ✔️ |
-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_.
+| Device | DC | QC | PD | EPR | BLE | Battery | Recommended |
+|-----------:|:--:|:--:|:--:|:---:|:---:|:-------:|:-----------:|
+| MHP30 |❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ✔️ |
+| Pinecil V1 |✔️ | ✔️ | ✔️ | ❌ | ❌ | ✔️ | ✔️ |
+| Pinecil V2 |✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
+| TS100 |✔️ | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ |
+| TS80 |❌ | ✔️ | ❌ | ❌ | ❌ | ✔️ | ❌ |
+| TS80P |❌ | ✔️ | ✔️ | ❌ | ❌ | ✔️ | ✔️ |
+
+*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