When an unconfigured (new or fully reset) controller starts, an initial setup screen will be shown to setup the system language and the tip profile.
Currently, these are the available languages:
- Bulgarian
- Chinese
- English
- German
- Russian
- Swedish
- Turkish
You can select between the following profiles:
- Hakko T12 (T15 Series in North America & EU) This is the handle normally used with these controllers.
- JBC C210
- JBC C245
Changes are made using the rotary encoder and its push button.
The power supply voltage is shown upper left.
The internal temperature is on the upper right.
The current selected tip appears on the bottom left.
A bar graph of relative power going to the tip is shown on the bottom.
While in normal operation, shake sensor activity will be shown briefly in the bottom center.
In normal mode, the setpoint is shown in the upper center, otherwise, the current mode will be shown (sleep, standby, boost).
To operate the menus, rotate to scroll to the desired selection, quick press to select it, rotate to change.
Quick press again to stop editing the setting.
While editing the widget, moderate rotation speed will make fine adjustement, a fast rotation will do coarse adjustment (big steps).
For some actions you might be instructed to issue a Drag rotation.
This means clicking the button (Helding down) and rotating at the same time.
The time between pressing and rotating must be short, i.e. don't keep the button down for two seconds before rotating, doesn't need to be blazing fast either, just done in a natural way.
After a drag-rotation was detected, release the button and use the encoder normally (Don't keep pressing to move, etc).
Before covering the settings, it is useful to understand how it works.
Tip temperature is measured by using an ADC (Analog-Digital Converter) to measure the voltage output by a thermocouple in the tip.
The voltage generated by the sensor is proportional to the difference between tip temperature and the "cold side" (Measured by the internal sensor).
The controller uses PWM (Pulse Width Modulation) to control the tip temperature.
PWM basically varies the amount of time that the tip is powered.
By default, PWM uses a 200 ms (5 times per second) period.
If the tip is too hot, the controller will turn on power to the tip little or not at all during each cycle.
If the tip is too cold, it will turn the power on for more of the period.
The time the tip is powered on during each period is called the duty cycle.
|<------ PWM PERIOD ------>| | POWER |____ no power ____|
The PID (Proportional, Integral, Derivative) algorithm determines the PWM duty cycle based on the difference between desired and measured tip temperatures.
-
Temperature display modes
Issue a counter-clockwise drag-rotation to switch between numeric and graph display.
The graph update rate is the same as the ADC reading frequency.
The numerical display uses a noise supression filter to show smooth values. Once the setpoint was reached, variations of +-5ºC will be ignored (Can be adjusted).
The plot graph always uses real time readings. -
Temperature setpoint adjustment
Rotate the encoder, the setpoint will be shown, continue rotating to adjust it.
After 1 second of inactivity it will return to normal mode. -
Sleep/Standby modes
You can manually enter lower power modes by clicking in the main screen.
The sequence would be [run/boost mode]->[standby mode]->[sleep mode].
If button wake is enabled, encoder activity will resume normal mode, otherwise only the display brightness will be restored.
Wake-up sources are the enconder (If enabled) or handle wake input sensor (If shake wake is enabled or in stand mode).
The encoder only resumes normal mode when adjusting the setpoint or clicking in the temperature screen (Not when selecting tips or navigating in the menu) -
Boost mode
Rotate the encoder to show up the setpoint adjustment and click within 1 second to trigger boost mode.
If more than 1 second has passed, boost mode won't be triggered, this is to prevent accidental triggering when adjusting the temperature.
While boost mode is enabled, clicking or rotating the encoder will return to normal mode. -
Tip selection
Issue a clockwise drag-rotation to show the tip selection. The tip name label will be highlighted.
Rotate to change the selected tip, click or wait 2 seconds to select and return to normal mode. Long-click to enter the tip settings.
When inserting a new tip, this setting will be enabled automatically for 5 seconds.
To avoid unintended behaviour, at least 3 seconds must pass between tip changes, lower than that will be considered noise or momentary connection break. -
Profile selection
Issue a drag-rotation while in Tip selection mode to show the profile selection.
Rotate to change the selected profile (T12, C210, C245), click or wait 2 seconds to select and return to normal mode. -
System menu
A long click will enter the system menu (Except while in tip selection/setpoint adjustment).
Most screens will return to main screen after 15 seconds of inactivity.
Long-clicking will have the same effect.
In most menus, issue an anti-clockwise drag-rotation to quickly return to previous screen.
Iron settings control the operation of the handle/tips. The settings here apply only for the currently selected profile. In other words, each profile has its own dataset.
- Profile
You can also change the current profile here. The display will instantly reload the new profile settings. - Max temperature
Upper adjustable temperature limit. - Min temperature
Lower adjustable temperature limit. - Dflt. temperature
Boost mode run time before resuming normal mode. - Boost temperature
Temperature offset applied in boost mode. It's added to the current temperature and limited to system maximum temperature. - Wake mode
How to detect activity. SHAKE or STAND.
SHAKE uses a motion sensor present in T12 handles, shake or hold the handle tip up to wake.
STAND uses the same input, but disconnected from the handle. Must be shorted to gnd when the handle is in the stand.
(Stand mode operation operation: Shorted to gnd = sleep/standby, open = run ). - Filter
Filters the wake input to make it less sensitive, so it doesn't get waken by any little noise or slight movement.
This option is disabled in stand mode. - Stand mode
Sets the mode that will be applied when the handle is put in the stand (STANDBY or SLEEP).
This option is disabled in shake input mode. - (Stand) Delay
Configures the Stand delay, so the station doesn't enter low power mode inmediately when placing the handle.
This option is only enabled in stand input mode, default setting is 0 (Sleep inmediately). - Standby time
If there is no soldering activity for this period, the controller will reduce the temperature to extend the tip life and reduce power waste.
Setting this option to 0 will disable standby mode, the station will switch to sleep state. - Standby temperature
Temperature applied in standby mode. - Sleep time
If there is no soldering activity for this period, the controller will "sleep" and stop providing power to the tip.
This helps increase tip lifetime reduce power waste. Activity (e.g. shaking the handle for a T12) will wake it up and heating will resume.
This timer cannot be disabled. - Boost time
Boost mode run time before resuming normal mode. - Boost increase
Temperature increase applied in boost mode. It's added to the current temperature and limited to system maximum temperature. - Cold boost
Activated when inserting a tip. Meant to speed up heating on cheap iron tips, as the heat needs more time to spread over the metal body.
Genuine T12 / JBC tips shouldn't need this! - Cold boost threshold
If [target temperature - current temperature] surpasses this threshold, boost is automatically triggered.
This option is only enabled when Cold Boost is active. - Cold boost timeout
How much time the automatic boost will be applied.
This option is only enabled when Cold Boost is active. - Wake mode
WAKE input working mode (SHAKE or STAND).
SHAKE uses a motion sensor present in T12 handles, the station will keep working while motion is detected.
STAND uses the same input, but disconnected from the handle. Must be shorted to gnd when the handle is in the stand.
(Stand mode operation operation: Shorted to gnd = sleep/standby, open = run ). - Wake Filter
Filters the wake input to make it less sensitive, so it doesn't get waken by any little noise or slight movement.
This option is disabled in stand wake mode. - Stand mode
Sets the mode that will be applied when the handle is put in the stand (STANDBY or SLEEP).
This option is disabled in shake wake mode. - Smart Active
Enables or disables Smart Active mode. This functionality tries to detect the load on the tip and resets the timeout automatically.
Works only in active modes, Run and Boost.
Needs stable readings to work properly, might not work as intended with noisy controllers or tips (Specially new tips!).
When working mode starts, the functionality will be delayed for 10 seconds to give the tip some time to heat up.
Detection works by keeping track of the temperature drops of the last 6 seconds, trying to detect small changes.
On detection, the shake icon blinks to provide some feeback. - Smart Active Load
Adjust the Smart sensitivity. The lower the value, the higher the sensitivity.
The sensitivity will be affected by the tip type, the PID response, the working temperature and the soldering target.
Lower the value until it triggers randomly without soldering anything, then increase slightly until you don't get any false triggering.
If your soldering station is really well tuned, you might be able to lower it to 3...4.
A wrong value here might keep the station working forever, so be careful!
This option is only enabled when Smart is active. - Power
The maximum power which will be delivered to the tip.
The limit is done by adjusting the maximum PWM duty cycle based on the power supply voltage and the heater resistance. - Heater (resistance)
The resistance of the tip's heating element in ohms, used for the power limitation. There is normally no need to change this from the default. - ADC Time
Sets the ADC reading period. The controller disables the power and runs the ADC at this frequency. Default 200 ms.
It also sets the base PWM frequency. The PWM multiplier uses this base. - (ADC) Delay
After turning off the power, a small delay is required to get a clean signal before the ADC reads the temperature. If the delay is too low, it will read switching noise and be very unstable.
If you get random spikes in the temperature, try increasing this value. 20mS is usually more than enough.
There are other factors that could cause unstability, like poor circuit design, power supply noise or bad quality parts.
Default 20 ms.
|<-------------- ADC TIME --------------->| ___ ___ ___|<- DELAY ->[ READ ] ___ ___ PWM |___| |___| |_____________________| |___| |___
- PWM multiplier
Sets the PWM period, using the formula ADC Time/multiplier.
Default: x1. - No iron
Sets the ADC reading threshold that detects when there's no iron present.
When the iron is not inserted, usually the reading will be close to the maximum ADC range(4095).
Values >4095 will disable "no iron" detection.
Default 4000, max 4096. - Error timeout
Time to wait after an error has gone before resuming normal operation.
This is also useful to provide additional time when inserting a new tip, so the power is delayed. - Error resume
Set the mode the station will be set after errors are no longer present: Sleep, Run, Last mode. - FILTER SETTINGS
Here you can adjust the different the filtering settings.
The firmware uses Exponential Moving Average (EMA) to filter the noise from the ADC readings.
Keep in mind that wrong settings will cause a lot of trouble, PID is heavily affected by the signal noise.
- Filter
Coefficient normally applied. The filtering will be heavier as the value increases. - Threshold
Defines the limit in the amplitude of the changes from the last average. Exceeding this will increase the threshold counter, while resetting it if under the limit. - Count limit
If the threshold detection counter becomes greater than this limit, the coefficient will start to be throttled down to improve response. - Step down
This is the value that will be subtracted to the coefficient each time after the threshold counter was exceeded.
Every new reading exceeding the threshold will subtract this value in an acumulative way, until reaching the min value if the condition doesn't stabilize. - Min
This is the minimum filtering coefficient that the system will be allowed to use. - Reset limit
Exceeding this limit will instantly reset the filter and use the current reading.
This is used for huge differences, usually when the tip is removed or plugged in, to allow instant response from the system.
- Filter
- NTC MENU
Adjust NTC settings:
-
Enable NTC
ON: Try external NTC, fallback to internal STM32 sensor if not detected.
OFF: Always use internal STM32 sensor. -
Pull mode
Adjust as your circuit: Pull up or pull down. -
Pull resistance
Pull resistance value in the board, often 4.7K or 10K, might need tweaking for different or custom boards. -
NTC Detect
Enables or disables automatic switching between two NTC values (For example, handles with different NTCs).
This will only work if the NTC values are very different (Typically 10K and 100K), will fail to differentiate closer values.OFF: Fixed NTC values:
- NTC resistance
Nominal resistance at 25ºC. - NTC beta coefficient
Beta coefficient of the NTC. Common values range from 3000 to 5000.
ON: Two NTC values, detected automatically.
- Higher NTC value
- Higher NTC Beta
- Lower NTC value
- Lower NTC Beta
- NTC resistance
-
Back
Return to iron menu.
-
- Back
Return to system menu.
General global settings for the controller.
- Language
Sets the display language. - Boot
Operation mode when powered on (RUN, STANDBY or SLEEP).
This option is disabled in stand mode. - Button Wake
Selects what modes can be waken with encoder activity.
[None] [Standby only] [Sleep only] [All]
This option is disabled when Wake mode is set to Stand. - Shake Wake
Selects what modes can be waken with shake activity.
[None] [Standby only] [Sleep only] [All]
This option is disabled when Wake mode is set to Stand. - Encoder
Invert the encoder direction. - Buzzer
Buzz/beep when notable conditions occur.
- Changing operating mode (sleep, standby, run, boost)
- Temperature reached after the setpoint was changed
- Alarm when no iron is detected or system error happens
- Changing operating mode (sleep, standby, run, boost)
- Temperature unit
Sets the system temperature in Celsius or Fahrenheit. - Step
Step for adjusting tip temperature in the main screen. - Big Step
Big step for adjusting tip temperature in the main screen, when the encoder is rotated fast. - Threshold for widget de-noiser
The screen widget will ignore the real temperature and show the setpoint if the deviation is lower than this value.
Ex. Using value of 5, the screen will ignore changes of ±5°(C/F). Useful if your controller readings are noisy.
A value of 0 will disable the threshold, always showing the real remperature.
This is not applied to the plot graph. - LVP
Adjust Low voltage protection. - Active detection
Use iron active detection by leaving the PWM slightly on all the time. If your amp has a pullup resistor it can be disabled. - GUI Time
To offer maximum responsiveness, the screen is updated as fastest as possible when the cpu is idling.
It depends on the MCU used and display interface, it can reach more than 100 fps in DMA SPI mode.
If the display readings were updated at the same speed, it would be impossible to read anything.
This setting defines the time in mS where the main screen readings are updated (voltage, temperatures).
The effective update rate will be limited by the ADC read frequency.
Use a higher setting for less "flickery" display (more steady values). - Battery
If your board has the RTC batery installed, enabling this option will store temperature, tip and profile in the RTC SRAM, reducing flash wear. - DEBUG
Enable debugging menu. - RESET MENU
Reset various configuration sections:
- Settings
Reset Settings menu items to default. - Profile
Reset the current profile (iron/tips) to default. - Profiles
Reset all profiles to default. - All
Reset everything.
- Settings
- DISPLAY
Adjust the display settings:
- Contrast
Screen Contrast/brightness. - X (Offset)
This adjustment will modify the horizontal position.
Some screens have different internal layout, shifting the picture position, this will fix it. - Y (Offset)
This adjustment will modify the vertical position.
As the previous setting, some screens have different internal layout, shifting the picture position. - X flip
Toggles screen horizontal flip. - Y flip
Toggles screen vertical flip. - Dimmer
Fades the display after a timeout.- OFF: Never dim the screen.
- SLP: Dim only in low power modes (Standby, Sleep, Error).
- ALL: Dim also in run mode.
- OFF: Never dim the screen.
- Dimmer Delay
Sets the dimmer timeout. This option is disabled when the dimmer is set to OFF. - Dimmer, in sleep mode
Allows to turn off the screen in sleep or error modes. This option is disabled when the dimmer is set to OFF.
For safety reasons,the screen will only turn off when the iron temperature is below 100°C.
- OFF: In sleep mode, the screen turns off after dimming.
- ON: The screen stays on at low brightness.
- OFF: In sleep mode, the screen turns off after dimming.
- ADVANCED
Additional low-level display tweaking.
Refer to the SH1106 / SSD1306 / SSD1309 datasheet for more information about these commands.
- CLK: Cmd 0xD5 "Display Clock Divide Ratio/Oscillator Frequency".
- PRE: Cmd 0xD9 "Set Pre-charge Period".
- VCOM: Cmd 0xDB "Set VCOMH Deselect Level".
- RESET: Load defaults (You still need to click SAVE to store changes).
- SAVE: Save changes.
- CANCEL: Discard changes.
- CLK: Cmd 0xD5 "Display Clock Divide Ratio/Oscillator Frequency".
- Back
Return to settings menu.
- Contrast
- SW:
Displays the current software version. Actually, it's the build date. - HW:
Displays the controller model. - Back
Return to system menu.
Different tips may have different characteristics. Tips may be added or edited here.
Select a tip to enter tip settings edit screen, or select Add New to create a new tip.
The new tip will be created by copying the PID/calibration settings from the first in the system.
Each profile (T12, C245, C210) can store up to 85 tips.
You can also set the working tip by long-clicking over it.
Tips will be automatically sorted by name after adding/removing/modifying.
This menu allows Tip name editing, copying, deleting, PID tuning and adjustment of stored tip calibration values.
PID tuning is an advanced topic, incorrect settings here can result in instability and erratic response.
Kp, Ki, Kd, Imax, Imin are the coefficients which control the PID's behavior.
Calibration values are not meant for doing manual calibrations, only to restore a previous calibration result.
Use calibration for optimal results.
- TIP NAME
Shows the tip name, click on it to edit the name.
Keep clicking to switch to the next characters, it will exit editing mode when clicking in the last character.
Additionally, you can navigate to any position using drag-rotation method. - PID Kp
The proportional term, changes the PWM duty cycle based on how far the measured temperature is from the desired temperature. - PID Ki
The integral term, changes the duty cycle based on how long the temperatures have been different. - PID Kd
PID differential term, changes the duty cycle based on how fast the measured temperature has changed. - PID Imax
The integral accumulator higher limit. - PID Imin
The integral accumulator lower limit. As the system can't do anything to actively cool down the tip, it's usually set to 0. - Cal250
The stored value for 250ºC calibration. - Cal400
The stored value for 400ºC calibration. - SAVE
Save the tip settings.
This option will be disabled if the tip name is empty or already exists.
If this is a new tip then it is automatically selected as the active one. - RESET
Resets values to default, keeping existing name.
You still need to save for changes to be applied. - ADD NEW
Copy this tip into a new slot, loading the default name.
This option will be disabled if already copying the tip or when there are no free slots left. - COPY
Copy this tip into a new slot, keeping the name.
This option will be disabled if already copying the tip or when there are no free slots left. - DELETE
Delete the current tip.
This option will be disabled if this is a new tip or when there's only one tip in the system. - SAVE
Save changes. This option will be disabled if other tip in the system has the same name. - CANCEL
Discard any changes and return.
When entering this menu, the power is removed from the tip. For best calibration results, insert a cold tip now (Before entering any sub-menu).
You can start your station without tip to prevent it from heating up, then enter CALIBRATION, insert the tip and calibrate it.
Using a cold tip is only critical for the amplifier offset calibration (SETTINGS). If normal calibration works (START) or zero set is already adjusted, it's not required.
START and SETTINGS menus will show warning message if the tip was removed or not detected and then return to main calibration menu.
-
START
Requires a tip thermometer (e.g. Hakko FG-100 or similar). Calibrates the current tip at temperatures of 250 and 400°C.
Wait for tip temperature to settle (When the thermomether reading stops moving), it can take up to 20 seconds in some cases.
Then enter temperature as measured by the thermometer for each step.
If the entered temperature is more than 50ºC away from the target, the process will be aborted and you will have to adjust it manually.
This values have nothing to do with the Tip Settings calibration values! These are for the tip, while this ones are only used for the calibration process.
You can cancel the process at any time by clicking the STOP button. -
SETTINGS
Here you can manually adjust the default calibration values, normally this needs to be done only once.
Cal 250 depends on Zero set, and Cal 400 depends on Cal 250, so if you're changing this, you must follow the correct order:
Zero set (Sampling->Captured) -> Cal 250 -> Cal 400 -> Save
If by any means the 250°C calibration needs to go higher than 400°C value, increase 400°C value carefully and repeat 250°C calibration.
For best accuracy, always calibrate 250°C if CAL_Zero value was changed, and always calibrate 400°C if 250°C value was changed.- Zero set
Calibrates the offset of the amplifier. You must have inserted a completely cold tip, or the calibration result will be wrong.
This widgets has 3 states than change when clicking on it:
- Zero set: Shows the current value in the system (No changes).
- Sampling: Shows the ADC value in real time.
- Captured: Shows the captured value and applies it.
To calibrate the zero offset, you must set this mode before moving to the next step.
Zero set value is applied system-wide, not per-tip calibrated.
If you already know your tip calibration values, you can adjust only this parameter and save, then restore the tip calibration values.
- Zero set: Shows the current value in the system (No changes).
- Cal 250ºC
- Cal 400ºC
Adjusts the value for 250/400°C. When editing this widget, the power is enabled and the value applied in real time.
Move in small steps until the thermometer matches the target temperature- SAVE
Return to calibration menu saving changes. - CANCEL
Return to calibration menu discarding changes.
- SAVE
- Zero set
-
BACK
Return to system menu.
This menu will provide the list of settings related to the addons/extras. Each of these has to be enabled in the board configuration. These settings applies to all profiles.
This addon provides automatic switch on/off for a connected fume extractor. To enable this addon define the ENABLE_ADDON_FUME_EXTRACTOR macro in the board.h file and in the MCU configuration create a digital output pin named "EXTRACTOR". A high level will be present if the extractor needs to operate.
- Mode
- OFF - The extractor is never switched on.
- AUTO - Enable the extractor if the iron is not in sleep or standby.
- ON - The extractor is always switched on when the station is powered.
- OFF - The extractor is never switched on.
- After Run (only in AUTO mode)
Keep the extractor on after leaving the run mode (entering standby) for the given amount of time. - BACK
Return to the addons screen.
This addon provides a reminder to switch off the station (remove power) if its left in the sleep state for longer than the set amount of time. To enable this addon define the ENABLE_ADDON_SWITCH_OFF_REMINDER macro in the board.h file.
- Reminder
Enable/disable the reminder. - Delay
Start beeping if the station is in sleep mode longer than this amount of time. - Period
Repeat the reminder after this amount of minutes. - Beep len.
Length of the beep. - BACK
Return to the addons screen.
This is a menu to help debugging the controller, showing real-time readings.
Clicking will switch between general and PID debug screens.
Long-click will return to main screen.
General debugging screen shows the following:
- P, I, D (Current PID output)
- Current temperature reading
- Current setpoint (adjustable)
- AVG (ADC value from iron tip temperature, filtered)
- RAW (ADC value from iron tip temperature, unfiltered)
- SET (Setpoint, converted to ADC value)
- ERR (PID Error, difference between setpoint and average)
- PWM (PWM duty value)
- PWR (Power in %)
PID debugging screens shows 3 plots, representing:
- P (Proportional)
- I (Integral)
- D (Derivative)
A lot of effort was done to protect the tips from overheating.
Any detected error will disable PWM and show a message on the display.
To recover from an error, simply press the button and it will reboot.
There are multiple error types:
- Iron warning
For non critical errors, a warning will be shown: iron not detected, supply voltage too low, ambient temperature too high or too low, failsafe mode enabled. - Iron runaway
If by any means the iron temperature is higher than requested and the system is still powering the tip, it will trigger a timer depending on the temperature diference.
The condition must dissapear within the specified time, otherwise it will trigger a critical runaway error, shutting down the power stage.
This is very useful to protect the tip from wrong PID adjustments (Ex. excessive Integral values). - Internal function errors
If any internal function detects an undefined or not expected state, it will lock the station and show a message trying to show where the error happened (File, line).
If this happens open a git hub ticket or a message in eevblog forum with the details. - Hardware exceptions
If a hardware exception happens, the station will lock up and display an error message about the exception.
The CPU registers will be printed, the failure can be debugged out by searching the addresses in the listing file (.list) provided with the binaries.
Fake stm32s cause lots of issues when writing data to flash, so additional information was added to hardfault screen:
- Format is
HARD FAULT, AA, BB
, for exampleHARD FAULT, 9, 10
. AA
is the Previous saving state.BB
is the Last saving state. If 0, then it didn't happen when saving.- Those numbers can be found in settings.c, searching
DBG_SAVE(n)
, wheren
is the number.
- Format is
- Data error detection
The data is stored as separate blocks: System settings, profile 1(T12), profile 2(C245) and profile 3(C210).
Each one has it's own CRC checksum. When a block is read, the checksum is computed and compared.
If a mismatch occurs, the block will be erased and resetted to defaults, trying to preserve the rest of the data.
An error will be shown, detailing if the error detected was on the system settings data, or in any of the profiles.
Also, the flash storage is checked carefully before and after writes, any issue will trigger a flash error message.
If for any reason the station is unable to boot, you can't access the reset menu or you want to wipe everything up quickly, there's a hard reset method.
Power the station off, push and hold the encoder button, and turn on the power.
A message will appear in the screen. "Hold button to restore defaults".
Keep pressing the button for another 5 seconds, until the next message appears, "Release button now".
Release the button, the station will wipe everything and reboot.
If you accidentally pushed the button, just release it before the 5 second timeout to resume the boot process.