

HEAT
An open-source STM32 SMD assembly station for precision soldering. Uses a custom Smart Pulse & Coast algorithm to drive 400W mains heaters via SSR. Features OLED UI, NTC feedback, and safety cooling.
- Size
- 99.1 × 58.4 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 57
- Nets
- 61
- Pads
- 170
- Tracks, vias
- 261, 25
- Pours
- 3
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 30 Dec 2025
- Updated
- 5 Sep 2026
Overview
HEAT is an open-source printed circuit board by milar111, from the milar111/HEAT repository on GitHub. It is a 2-layer board of 99.1 × 58.4 mm with 57 parts on 61 nets, routed with 261 tracks and 25 vias.
It is built around the STM32F103C8T6, BTA16-600B and HLK-PM01, with the AMS1117-3.3, MOC3063M and LS-601 among its other parts. Its parts include 16 capacitors, 13 resistors, 7 connectors, 4 switches and 3 ICs. It belongs with the STM32 boards of this library.
Main components
9STM32F103C8T6
LQFP-48(7x7)-40℃~+85℃ 12bit 20KB 2V~3.6V 32 Bit 37 64KB 72MHz ARM Cortex-M3 Built-in FLASH LQFP-48(7x7) Microcontrollers (MCU/MPU/SOC) ROHSSTMicroelectronicsMicrocontrollers (MCU/MPU/SOC)BTA16-600B
TO-220A-40℃~+125℃ 1 TRIAC 1.5V 160A@20ms 16A 1V 500mW 50mA 600V 60mA TO-220A Thyristors (SCR)/Modules ROHSKTPThyristors (SCR)/ModulesHLK-PM01
DIP,34x24mm0.1W 100mVp-p 15mm 20mm 34mm 3W 3kV 5V 700mA 73% 85VAC~265VAC AC-DC Short Circuit Protection、Over Current Protection、Fault self-recovery ±0.2% 插件,34x20mm AC-DC Power Modules ROHSHI-LINKAC-DC Power ModulesAMS1117-3.3
SOT-223-40℃~+125℃ 0.003%Vout 1 1.1V@(800mA) 15V 1A 3.3V 5mA 72dB@(120Hz) Fixed Over Current Protection、Short Circuit Protection、Thermal shutdown Positive SOT-223 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSAdvanced Monolithic SystemsVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsMOC3063M
DIP-6-40℃~+85℃ 1 1.5V 250mW 30mA 6 600V 600V/us 7.5kV TRIAC Yes DIP-6 Triac, SCR Output Optoisolators ROHSonsemiTriac, SCR Output OptoisolatorsLS-601
插件,P=7.5mm15A 250V 32mm 6.35mm Clip Cylindrical 插件,P=7.5mm Fuseholders ROHSShenzhen lanson ElecFuseholders10D561K
插件,P=7.5mm180pF@1kHz 2.5kA 350V 460V 504V~616V 70J 925V 插件,P=7.5mm Varistors ROHSSURGINGVaristors1N5819W
SOD-12313A 350mA 40V 5uA@30V 600mV@200mA Standalone SOD-123 Schottky Diodes ROHSJSMSEMISchottky DiodesIRLML2502TRPBF
SOT-23-55℃~+150℃ 1 N-channel 1.25W 1.2V 12nC 20V 4.2A 45mΩ@4.5V 66pF 740pF 90pF N-Channel SOT-23 MOSFETs ROHSInfineon TechnologiesMOSFETs
README
README.mdHEAT – Smart Hot Plate Controller
⚠️ HIGH‑VOLTAGE WARNING
This project operates directly from mains AC voltage (110–240 VAC) and drives a high‑power resistive heater through a solid‑state relay (SSR).
Building, modifying, or operating this project is inherently dangerous.
- Mains voltage can cause serious injury or death.
- Fire risk exists if wiring, insulation, grounding, or firmware safety logic is incorrect.
- By building or using this project, you take full responsibility for all risks.
The author provides this project for educational purposes only and assumes no liability for damages, injuries, or losses of any kind.
1. Project Overview
HEAT is a microcontroller‑based smart hot‑plate / reflow heater controller designed for electronics work such as SMD soldering, thermal experiments, and controlled heating tasks.
The system combines:
- A STM32F103C8T6 microcontroller
- A zero‑cross AC SSR for safe mains switching
- A 100 kΩ NTC thermistor for temperature feedback
- A Smart Pulse & Coast control algorithm (not classical PID)
- An SSD1306 OLED UI with buttons
- A forced‑cooling fan with safety logic
- Persistent settings storage in internal flash
2. System Architecture (High Level)
2.1 Functional Blocks
-
Power Input
- AC mains → AC‑DC module → 5 V → LDO → 3.3 V
-
Control Core
- STM32F103C8T6 running a cooperative main loop
-
Sensing
- NTC thermistor read via ADC
-
Actuation
- SSR for heater control (time‑proportional)
- DC fan via MOSFET with software PWM
-
User Interface
- SSD1306 OLED (I²C)
- Three buttons
-
Non‑Volatile Storage
- Internal Flash (last page)
3. Hardware Design
|
|
|
3.1 MCU Core
- MCU: STM32F103C8T6
- Supply: 3.3 V
Key reasons for choosing this MCU:
- Mature HAL support
- Adequate ADC performance
- Flash storage capability
- Simple debugging (SWD)
|
|
|
3.2 Power Supply
AC-DC Conversion and Protection
- AC-DC Module: HLK-PM01 (isolated offline SMPS)
- Input Voltage: 110–240 VAC
Input-side protection and conditioning (mains side):
- Fuse (1 A): protects wiring and PCB against catastrophic faults and shorts.
- MOV (varistor): clamps high-voltage transients and spikes from the mains.
- Bulk capacitor (220 nF, X2-rated): reduces conducted EMI and high-frequency noise on the AC line.
Output-side conditioning (low-voltage side):
- Electrolytic capacitor (220 µF, polarized): provides bulk energy storage, reduces ripple, and stabilizes load transients from the MCU, fan, and SSR drive.
Regulation:
- AMS1117-3.3 LDO: drops 5 V to 3.3 V for the MCU and logic domain.
|
|
|
3.3 Heater & SSR Stage
Electrical Structure
- Optotriac: MOC3063M (zero-cross)
- Power Triac: BTA16-600B
- Heater Power: up to ~400 W resistive load
- AC Fuse: 3.15 A, standard 6.3 × 32 mm (3AG) cartridge
Fuse Placement and Purpose
The 3.15 A slow-blow fuse on the heater line protects against:
- Triac failure (shorted MT1–MT2)
- Heater short circuits
- Wiring or connector faults
The slow-blow characteristic tolerates inrush current while still providing reliable fault protection.
How the SSR Works (Step-by-Step)
- MCU GPIO drives the LED inside the MOC3063M
- At the next AC zero crossing, the optotriac turns on
- The optotriac triggers the gate of the BTA16 triac
- The triac conducts AC current to the heater until the next zero crossing
- Firmware decides when to enable or disable the optotriac
Time-Proportional Control
Instead of switching at mains frequency, the firmware uses windowed control:
- Fixed window: 250 ms
- Heater ON for a percentage of that window
This approach is:
- SSR-safe
- Thermally smooth
- Simple and predictable
Interactive Simulation
Falstad simulaiton:
Why Zero-Cross Switching Matters for Heaters
The MOC3063M is a zero-cross optotriac, meaning it will only trigger the power triac when the AC waveform crosses approximately 0 V. Even if the MCU enables the optocoupler at an arbitrary time, the output remains inactive until a zero crossing occurs.
This behavior is critical for resistive heater loads:
- Switching at the voltage peak causes large instantaneous current steps
- These steps generate EMI, audible noise, and electrical stress
- Zero-cross turn-on ensures minimum dv/dt and di/dt at conduction start
The waveforms shown in the images demonstrate that random turn-on injects sharp current spikes, while zero-cross switching produces smooth sinusoidal current flow.
Why Phase-Angle Control Was Avoided
Phase-angle control deliberately turns the triac on mid-cycle. While useful for lamp dimming or motor speed control, it is unsuitable for thermal systems:
- Introduces significant EMI and harmonic distortion
- Increases thermal stress on the triac
- Requires complex timing logic synchronized to mains
- Provides no thermal benefit for a slow system like a heater
For heaters, only the average power over time matters—not instantaneous waveform shaping.
Zero-Cross + Time-Proportional Control
Because zero-cross optotriacs cannot modulate within a half-cycle, power is controlled using time-proportional (windowed) control:
- The firmware defines a fixed window (e.g. 250 ms)
- The heater is enabled for a percentage of that window
- Each ON event starts at a zero crossing
This results in:
- Clean switching behavior
- Stable thermal output
- SSR-safe operation
- Predictable power delivery
The heater naturally integrates the power due to its thermal mass, eliminating the need for high-frequency modulation.
3.4 Thermistor Input
- Type: 100 kΩ NTC
- Beta: 3950
- Divider: 100 kΩ series resistor
- ADC Reference: 3.3 V
The firmware:
- Averages 16 ADC samples
- Applies a low‑pass filter
- Uses the Beta equation to convert resistance → temperature
3.5 Fan Driver
- Fan type: 5 V, 2-wire DC fan
- MOSFET: IRLML2502 (logic-level)
- Flyback diode: 1N5819
Because the fan is a 2-wire fan (no tach, no PWM pin), speed control is implemented entirely in firmware using software PWM.
The PWM logic controls:
- Airflow rate
- Cooling aggressiveness
- Noise level
The firmware enforces:
- A minimum duty cycle where the fan reliably spins
- A short 100% startup boost to overcome static friction
- Full-speed override during cooling or fault conditions
3.6 OLED Display
- Controller: SSD1306
- Resolution: 128×64
- Interface: I²C @ 400 kHz
Pull‑ups:
- 2.2 kΩ on SDA/SCL
3.7 Buttons
- 3 momentary buttons
- Internal pull‑ups
- Active‑low
Used for:
- Start / Stop
- Navigation
- Editing values
PCB Fabrication Notes
For PCB fabrication, the following stack-up has been tested and works reliably for this project:
- Base material: FR-4 S1000H (TG150)
- Copper thickness: 1 oz
- Surface finish: HASL (lead-free)
- Board thickness: 1.6 mm
If you want the best no-compromise option, especially for improved thermal stability, mechanical rigidity, and long-term reliability, I recommend:
- Base material: S1000-2M (TG170)
- Copper thickness: 2 oz
- Surface finish: ENIG
- Solder mask: Black
- Board thickness: 2.0 mm (optional but recommended)
This configuration improves heat spreading, reduces copper resistance, and provides superior pad durability during repeated high-temperature operation.
Electrical Safety Notice – Live Heatsink
⚠️ IMPORTANT
The heatsink attached to the triac is electrically live and is directly connected to mains voltage.
- Do not touch the heatsink while the device is powered.
Improper handling can result in serious injury or electric shock.
4. Firmware Architecture
4.1 File Structure
firmware/
├── main.c / main.h
├── control.c / control.h
├── heater.c / heater.h
├── fan.c / fan.h
├── thermistor.c / thermistor.h
├── ssd1306.c / ssd1306.h
├── ui.c / ui.h
├── storage.c / storage.h4.2 Execution Model
- Single main loop
- No RTOS
- Deterministic timing via HAL_GetTick()
- ISR only used for fan PWM timing
Main loop order:
Control_Update()Heater_Update()UI_Task()
4.3 Control Module (control.c)
This module is the central decision-making unit of the entire system. All other subsystems react to values produced here.
Responsibilities
- Read raw temperature from the thermistor module
- Filter temperature readings
- Detect sensor failures
- Enforce absolute safety limits
- Execute the heating state machine
- Output a heater power percentage (0–100%)
No hardware is driven directly from this module. Instead, it produces intent values that other modules act upon.
Control Timing
- Update period: 100 ms
- Time base:
HAL_GetTick()
Each control cycle performs the following steps in strict order:
- Read raw temperature
- Validate sensor range
- Apply low-pass filtering
- Check over-temperature cutoff
- Run the heating state machine
- Compute heater power percentage
If any safety condition fails, the module immediately:
- Sets heater power to 0%
- Forces the system into IDLE
Why PID Was Abandoned
Early versions of the firmware used a classic PID controller with extensive tuning.
Despite significant tuning effort, the best achievable result still produced ~25 °C overshoot.
Root causes:
- Heater power: ~400 W
- Plate mass: ~30 g
- Extremely fast thermal rise
- Significant thermal delay between heater and NTC
The thermistor simply could not observe the temperature rise quickly enough, causing the PID to react too late.
This led to the current solution: Smart Pulse & Coast, which is slower by design but far more precise and repeatable.
| State | Meaning |
|---|---|
| IDLE | Waiting |
| HEATING | Rising to setpoint |
| HOLDING | Maintaining temperature |
| COOLING | Forced cooldown |
| DONE | Cycle finished |
4.4 Smart Pulse & Coast Algorithm
This control method explicitly accounts for thermal inertia and delay.
Instead of continuously adjusting output, the heater is driven in full-power pulses, followed by observation periods.
Core Idea
- Apply a controlled heat pulse
- Turn the heater fully off
- Observe how temperature continues to rise
- Decide the next pulse based on real thermal response
This prevents the controller from "chasing" delayed measurements.
Pulse Zones
Pulse width is selected based on the ratio:
current_temperature / setpoint| Zone | Ratio | Pulse Width |
|---|---|---|
| Far | < 70% | 2000 ms |
| Mid | 70–85% | 500 ms |
| Near | > 85% | 250 ms |
Coast Phase Logic
During the coast phase:
-
Heater is guaranteed OFF
-
The firmware tracks the peak temperature
-
A new pulse is allowed only after:
- A minimum wait time has passed and
- Temperature has begun to fall
This ensures the full thermal effect of each pulse is observed.
4.5 Heater Power, Mass, and Thermal Reality
To understand why the control strategy must be conservative, it helps to look at the physics of the heater–plate system.
Ideal Electrical Power Calculation
Even thoough the heater is listed as 400W, it was measured to have an approximate cold resistance of 340 Ω.
Using Ohm’s law:
P = V² / RFor a 230 V RMS mains supply:
P = (230 V)² / 340 Ω ≈ 155 WThis calculation is electrically correct and provides a useful order-of-magnitude estimate.
Why This Value Is Not Reliable in Practice
Although the formula is correct, it is not something the control system can rely on precisely, for several reasons:
-
Resistance changes with temperature Heating elements increase resistance as they get hotter. The 340 Ω value is a cold measurement and rises significantly during operation.
-
Mains voltage is not constant Real-world mains can vary by ±10% or more, directly affecting power.
-
Thermal coupling dominates behavior The system response is governed by how fast heat flows into the plate, not by instantaneous electrical power.
-
Plate mass is very small The aluminum plate mass is approximately 30 g, which means:
- Temperature rises extremely fast
- Small energy pulses produce large temperature changes
Energy Perspective (Why Overshoot Happens)
The temperature rise of the plate is governed by:
ΔT = Q / (m · c)Where:
Q= heat energy (J)m= mass (kg)c= specific heat capacity (J/kg·K)
With:
m ≈ 0.03 kg- Aluminum
c ≈ 900 J/kg·K
Even a short, high-power pulse injects enough energy to raise the temperature dramatically before the thermistor can respond.
This is the fundamental reason why:
- PID control overshot by ~25 °C
- Slower, observation-based control is required
The Smart Pulse & Coast approach deliberately limits energy per pulse, making the system predictable even when electrical power and resistance vary.
4.5 Heater Module (heater.c)
- Implements time‑windowed SSR control
- Enforces immediate OFF on any error
Return behavior:
- No return value
- Acts directly on GPIO
4.6 Fan Module (fan.c)
- Software PWM via TIM2
- Emergency override logic
Conditions forcing 100%:
- Cooling phase
- Sensor error
- Over‑temperature
- Temperature freeze detection
4.7 Thermistor Module (thermistor.c)
- ADC averaging
- Beta equation
Thermistor_ReadTemperatureC() returns:
- Temperature in °C
- Raw (unfiltered)
4.8 UI Module (ui.c)
Provides three screens:
-
Status
- Current temp
- Target
- Heater power
- Fan power
-
Settings
- Setpoint
- PID values (future‑proofing)
- Max temperature
- Hold time
-
Graph
- Live temperature plot
- Setpoint overlay
4.9 Storage Module (storage.c)
- Uses last flash page (0x0800FC00)
- Stores struct with magic number
Saved parameters:
- Setpoint
- PID values
- Max temperature
- Hold time
5. File Interaction Graph
To visualize module interactions, generate a graph using:
- Graphviz
- Doxygen with call graphs
Example idea:
control → heater
control → fan
control → ui
ui → storage
storage → control
thermistor → control6. Cable Length & Wiring (As Built)
The following cable lengths reflect the actual physical implementation of the current build.
| Connection | Cable Length |
|---|---|
| Thermistor → PCB | ~160 cm |
| OLED (I²C) → PCB | ~51 mm |
| Buttons → PCB | ~130 mm |
| Fan → PCB | ~120 mm |
| AC inlet → PCB | ~75 mm |
| AC inlet Earth → PCB | ~115 mm |
7. Enclosure, Printing, and Mechanical Assembly
|
|
|
Enclosure Material and Printing
The enclosure is 3D printed from ASA.
ASA was chosen because:
- It has much better heat resistance than PLA
- It is dimensionally stable near warm electronics and heater-adjacent areas
- It offers good mechanical strength while remaining printable on consumer printers
- It is UV- and heat-resistant, making it suitable for long-term use
PLA was intentionally avoided because it softens at relatively low temperatures and would deform over time in this application.
Print settings used:
- Layer height: 0.2 mm
- Material: ASA
- Infill / walls: standard structural settings (not critical to functionality)
Optional Embedded Nut Reinforcement
|
|
|
|
At layer 155 (optional), the print can be paused to insert M4 nuts directly into the enclosure.
- Nut type: M4 hex nut
- Across flats: 6.9 mm
- Height: 3 mm
- Orientation: inserted from side to side into the printed cavities
This reinforcement:
- Significantly increases mechanical rigidity
- Improves long-term durability
- Makes the enclosure feel substantially more solid
If You Do Not Insert Nuts
The enclosure is designed so that:
- The heater mounting holes are placed slightly inward
- This creates mechanical tension that can hold the heater assembly even without screws
This approach:
- Works, and the device can be assembled without embedded nuts
- Is not ideal, as the structure:
- Feels less rigid
- Is more prone to loosening or disassembly over time
For best results, inserting the nuts is strongly recommended.
Fasteners and Hardware Used
| Application | Fastener Used |
|---|---|
| Heater mounting | M4 × 60 mm bolts + M4 lock nuts |
| Fan mounting | M3 × 30 mm bolts + M3 lock nuts |
| Power inlet mounting | M3 × 16 mm screws + M3 lock nuts |
| Triac → heatsink connection | M3 × 10 mm bolt |
| Protective earth (ground) connection | Wire to heater bolt using 2× M4 lock nuts + 2× M4 washers |
The grounding wire needs to be stripped and bent into a hook shape so that it can later be inserted under one of the heater’s legs (the M4 bolt).
Quick assembly
- Solder Peripherals: Before mounting the PCB, solder the wires for the thermistor, fan, OLED display, and buttons to their respective pads on the board.
- Place PCB in Enclosure: Insert the PCB into the bottom of the case. Pro Tip: If you soldered the button wires to the bottom side of the PCB (highly recommended), the tension created by the wires will allow the PCB to "snap" perfectly into position and hold itself securely without needing hot glue.
- Connect AC Inlet: Solder the wires from the AC Power Socket to the AC IN pads on the PCB. ⚠️ IMPORTANT: Perform this soldering with the PCB in a vertical position (lifted out of the case). If you try to solder these pads from above while the PCB is sitting flat inside, the heat will melt and destroy the 3D-printed enclosure walls.
- Secure UI Components: OLED: Use a small amount of glue to secure the display to the front panel. Buttons: Push the tactile buttons into their housing. If you used the specific 5.5mm x 6mm buttons listed, they should fit snugly without needing glue.
- Protective Grounding: Connect the Earth/Ground wire from the AC inlet directly to one of the heater's m4 bolts. Secure it tightly with washers and lock nuts to ensure the heater plate is grounded.
- Secure the Fan Mount the fan into its dedicated slot in the enclosure and secure it with M3 screws.
- Mount the Heater Insert the four M4 × 60mm bolts into the heater block and lower it onto the enclosure. If you used the embedded nuts method during printing, simply screw the bolts into the case.
- Install Thermistor Tuck the NTC thermistor head into the small hole on the heater block.
8. Parts and External Resources
The table below contains links to the main components used in this project.
| Component / Resource | Description | Link |
|---|---|---|
| Heater | AC resistive heater (400 W - 220V) | LINK |
| Thermistor | 100 kΩ NTC, Beta ≈ 3950 | LINK |
| OLED Display | SSD1306, 128×64, I²C | LINK |
| Fan | 5 V, 2-wire DC fan | LINK |
| Buttons | 5.5mm x 6mm | |
| 3.15 A, standard 6.3 × 32 mm (3AG) cartridge | FUSE |
Interactive BOM (iBOM)
This project includes an interactive Bill of Materials (iBOM) generated directly from the PCB design.
The iBOM allows you to:
- Inspect all components directly on the PCB
- Click a part to see its reference, value, and footprint
- Highlight parts on the board from the BOM list
- Better understand component placement and assembly
You can access the interactive BOM here:
9. Licensing
License
Documentation in this repository, including this README, is licensed under
Creative Commons Attribution–NonCommercial–ShareAlike 4.0 (CC BY-NC-SA).
Hardware design files are located in /hardware and are licensed under
the same license.
Firmware source code is located in /firmware and licensed under GNU GPL v3.Parts
57| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | 100n | Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C2, C3, C4, C5, C7 |
| 4 | Conn_01x01_Socket | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | J1, J2, J3, J4 |
| 3 | SW_Push_45deg | TS-1088R-02026:SW-SMD_L3.9-W3.0-P4.45 | SW2, SW3, SW4 |
| 2 | 10k | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R4, R14 |
| 2 | 10n | Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C11, C14 |
| 2 | 10p | Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C6, C8 |
| 2 | 1u | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C9, C10 |
| 2 | 22 | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R1, R3 |
| 2 | 22u | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C15, C16 |
| 2 | 2k2 | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R2, R5 |
| 2 | 360 | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R6, R9 |
| 2 | LS-601 | LS-601:FUSE-TH_LS-601 | FH1, FH2 |
| 1 | 100 | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R13 |
| 1 | 100k | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R12 |
| 1 | 10D561K | 10D561K:RES-TH_L9.0-W5.5-P7.50-D0.6-S4.00 | RV1 |
| 1 | 10u | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C1 |
| 1 | 120R/100MHz | Inductor_SMD:L_0603_1608Metric_Pad1.05x0.95mm_HandSolder | FB1 |
| 1 | 16MHz/9pF | Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm | Y1 |
| 1 | 1A | JDTfuse JFC2410-1100TS:F2410 | F1 |
| 1 | 1N5819W | Diode_SMD:D_SOD-123 | D2 |
| 1 | 1k5 | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R11 |
| 1 | 220nF | MKP224K275VAC(X2-224K)-B:CAP-TH_L18.0-W7.5-P15.00-D0.8 | C12 |
| 1 | 220uF | Capacitor_THT:CP_Radial_D6.3mm_P2.50mm | C13 |
| 1 | 39 | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R7 |
| 1 | 430 | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R8 |
| 1 | AMS1117-3.3 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U3 |
| 1 | BLUE | LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | D1 |
| 1 | BTA16-600B | Package_TO_SOT_THT:TO-220-3_Vertical | Q1 |
| 1 | Conn_01x02_Socket | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J5 |
| 1 | Conn_01x04_Socket | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J6 |
| 1 | Fan | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | M1 |
| 1 | HLK-PM01 | Converter_ACDC:Converter_ACDC_HiLink_HLK-PMxx | PS1 |
| 1 | HeatSink | XSD309-067:HEATSINK-TH_L16.5-W16.0-P10.00-D1.5 | HT1 |
| 1 | IRLML2502TRPBF | Package_TO_SOT_SMD:SOT-23 | Q2 |
| 1 | MOC3063M | MOC3063M:DIP-6_L8.5-W6.4-P2.54-LS7.6-BL | U2 |
| 1 | OLED_128x64 | ScottoKeebs_Components:OLED_128x64 | J7 |
| 1 | STM32F103C8T6 | Package_QFP:LQFP-48_7x7mm_P0.5mm | U1 |
| 1 | SW_Push | TS-1088R-02026:SW-SMD_L3.9-W3.0-P4.45 | SW1 |
The 56 most common of 57 parts.
Questions
How big is the HEAT PCB?
It measures 99.1 × 58.4 mm and has 2 copper layers, 1.6 mm thick.
What parts does the HEAT use?
57 parts, built around the STM32F103C8T6, BTA16-600B, HLK-PM01 and AMS1117-3.3. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the HEAT KiCad files?
From the milar111/HEAT repository on GitHub, at the commit this page was made from: the board is hardware/pcb/pcb.kicad_pcb and its schematic hardware/pcb/pcb.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the HEAT design in my own project?
Its repository states no licence, so its author keeps all rights: ask milar111 before reusing the design.
Similar boards
- 2 layers56.6 × 85.1 mm

- 2 layers

ESP32+DH11
duronxp/ESP32_DTH22_termo
Mini project for a remote-controlled heater with temp and humidity sensors
27 parts - 2 layers71.4 × 66.2 mm

- 2 layers98 × 50 mm

- 2 layers217 × 116 mm

Board nhiet
NguyenThanhHuy-debug/PCB-Liquid-Dispensing-Cabinet
PCB-Liquid-Dispensing-Cabinet — a software project built with modern tooling.
191 parts4 - 2 layers95 × 105 mm

- 2 layers100.6 × 207.3 mm

- 2 layers93 × 191.5 mm
