Skip to the content
PCBKitNew board
2 layers34 × 96 mmGem solder, the printed circuit board in 3D

💎 DIY soldering iron controller

Size
34 × 96 mm
Copper layers
2
Thickness
1.6 mm
Parts
114
Nets
96
Pads
361
Tracks, vias
416, 99
Pours
16
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
24 Jun 2026
Updated
5 Nov 2026

Overview

Gem solder is an open-source printed circuit board by arlenko, from the arlenko/gem-solder repository on GitHub, published under the CERN-OHL-S-2.0 licence. It is a 2-layer board of 34 × 96 mm with 114 parts on 96 nets, routed with 416 tracks and 99 vias.

It is built around the STM32F103C8T6, AD8629ARZ-REEL7 and MIC5219-3.3YM5-TR, with the HS91L02W2C01, FRC0603F5101TS and FRC0603F1501TS among its other parts. Its parts include 37 resistors, 26 capacitors, 12 diodes, 7 ICs and 6 connectors. It belongs with the STM32 boards of this library.

Main components

12

README

README.md

💎 Gem Solder

Firmware build status Firmware release Hardware revision

Overview

Gem Solder is an STM32-powered soldering iron controller for general-purpose C245 tips. It runs from a PD-compatible USB-C power source or from a DC power source of up to 24V, including 3S–6S battery packs. USB-C power delivery negotiates up to 20V.

The user interface features a 128×32 OLED display and two buttons. An RGB status LED gives visual feedback on the current operating mode.

The firmware is a fork of IronOS. It ships with the IronOS feature set including a UI available in 35 languages.

The firmware measures the heater resistance of the fitted tip to compute how much power it can handle — up to 140W from DC and up to 100W over USB-C. The delivered power therefore stays accurate across tips from different manufacturers.

Handle connector built into the 3D-printed housing. The housing carries the connector body, and a matching PCB piece drops into it, so the pins and wires are soldered to that piece instead of a special-purpose handle connector having to be sourced.

Check out the releases page!

Firmware and hardware are released separately, with tags prefixed fw- and hw-. A firmware release ships every compiled firmware language plus the bootloader. A hardware release ships the PCB fabrication files, the bill of materials for sourcing components and cost estimation, the interactive BOM for convenient PCB assembly by hand, and the STL files for 3D printing the enclosure.

Get help and share your ideas on the discussions page!

Gem Solder

Table of contents

Features

  • Compact, DIY-friendly, two-layer 80×34 mm PCB.
  • Current sensing feature measures the heater element's resistance to derive an accurate power estimate, so the iron works correctly with aftermarket tips whose resistance differs from the 2.4Ω of a genuine C245 tip.
  • Resting the metal ring of the handle on a metal plate pulls the stand-sense input low and drops the iron to the sleep temperature, slowing tip oxidation. A quick tap on the plate toggles sleep when Tap to sleep is enabled in the settings menu.
  • An adjustable timeout setting returns the iron to the home screen and lets the tip cool down if it stays in sleep mode for too long.
  • RGB status LED colour by mode:
    • 🟩 green - standby
    • 🟥 red pulse - heating
    • 🟥 red static - at setpoint
    • 🟦 cyan pulse - cooling, still hot
    • 🟪 violet - sleeping
  • Once the DFU bootloader has been flashed to the device, all later firmware updates can be done over a USB data cable.
  • PID temperature control, adjustable power limit, power pulse to keep power banks awake and more from IronOS.
  • PD debug menu to read the power source capabilities.
  • USB-C PD and an XT60 connector make it workable from a power bank or battery pack, for soldering away from the workbench.
  • 20 kHz heater PWM keeps the switching noise of the high-current drive above the audible range.

Schematic

Gem Solder schematic

Hardware

Gem Solder PCB was designed in KiCad. It's a two-layer board with a breakaway panel for a handle connector.

The heart of the device is the STM32F103C8T6 — an ARM Cortex-M3 MCU with 20 KB RAM and 64 KB flash. The STUSB4500QTR is a standalone PD sink controller, responsible for PD negotiation and VBUS management. It communicates with the MCU via I²C.

The AD8629ARZ is a high-precision, zero-drift operational amplifier that amplifies the microvolt-level signal from the tip thermocouple.

The tip heater power stage consists of a P-channel MOSFET and a discrete push-pull driver with a zener diode for maintaining the gate voltage at a safe operating level.

The AP63300WU-7 buck converter provides 4.6 V for biasing the WS2812 RGB LED, then a 3.3 V LDO regulator steps that down to supply the MCU, the OLED, the op-amp, and the ambient temperature sensor.

A 5 mΩ current sense resistor enables current measurement for accurate PWM duty calculation and tip presence detection.

Here's a photo of the assembled and bare PCBs: PCB

Enclosure

Print the enclosure in a semi-transparent material to keep the status LED visible.

The 3D-printed enclosure has a built-in handle connector. Insert the connector PCB piece and plug in the handle before soldering the pins and wires.

The image below shows how the connector needs to be wired to the screw terminal:

Enclosure

Firmware flashing

The STM32F103 has no built-in USB bootloader, so the first flash needs an SWD programmer such as ST-LINK or DAPLink, wired to the 5-pin SWD header on the board.

Once the DFU bootloader has been flashed, all later updates run over a USB data cable using dfu-util.

Flashing via SWD

The flashing instructions depend on the tool and software being used. A genuine ST-LINK can be used with STM32CubeIDE. DAPLink can be used with the OpenOCD CLI utility:

sh
sudo openocd -f interface/cmsis-dap.cfg -c "adapter usb vid_pid 0x1a86 0x8012" \
          -f target/stm32f1x.cfg \
          -c "program Firmware/Gem_EN.hex verify reset exit"

Flashing via USB

Once the DFU bootloader has been flashed to the device using SWD, firmware can be flashed over a USB cable. To enter the DFU bootloader, click and hold button A and connect the USB cable. The IronOS splash logo should appear on the display, followed by a message reading "DFU bootloader". Then use dfu-util to upload the firmware:

sh
sudo dfu-util -a 0 -D Firmware/Gem_EN.dfu -R

User interface

Two buttons control the device:

Buttons

Their functions are as follows:

  • On device power-up: click and hold button A to enter the DFU bootloader if that was flashed to the device. Click and hold button B to enter factory bootloader mode.
  • On the home screen: click button A to enter soldering mode. Click button B to enter device settings. Click and hold button A to adjust the set temperature. Click and hold button B to enter the debug menu.
  • In the settings menu: use button B to scroll and button A to select.
  • In the debug menu: use button A to scroll and button B to exit. Click and hold button B while in the debug menu to enter the PD debug menu.
  • In soldering mode: click either button to adjust the temperature. Click and hold button B to exit to the home screen.

Power supply recommendations

If an SMPS DC power supply is chosen as a power source, a SELV power supply with a floating output is required. Do not use power supply units whose DC output is connected to mains earth. Due to how the C245 tips are internally constructed, they provide a low-impedance path between the RED terminal, to which positive voltage is applied, and the GREEN terminal, which is connected to mains earth. While the Gem Solder's high-impedance path between the tip body and the earth terminal should not cause a short circuit, PELV power supplies are not recommended anyway.

⚠️ Do not connect USB-C and DC power sources simultaneously! USB and DC power paths are internally joined on the board, so one power source ends up connected straight to another.

License

Gem Solder PCB and enclosure designs are licensed under CERN Open Hardware Licence Version 2. Firmware code is covered by the GNU General Public License v3.0 license unless noted elsewhere.

Parts

114
QtyValueFootprintReferences
10100nCapacitor_SMD:C_0603_1608MetricC6, C12, C14, C16, C17, C20, C25, C26, C27, C28
95k1Resistor_SMD:R_0603_1608MetricR12, R13, R24, R26, R29, R32, R37, R38, R39
71.5kResistor_SMD:R_0603_1608MetricR1, R2, R9, R10, R19, R31, R34
71uCapacitor_SMD:C_0603_1608MetricC8, C9, C11, C21, C22, C23, C24
4MountingHoleMountingHole:MountingHole_2.7mm_M2.5_DIN965H1, H2, H3, H4
3100RResistor_SMD:R_0603_1608MetricR18, R23, R25
310kResistor_SMD:R_0603_1608MetricR8, R28, R30
31nCapacitor_SMD:C_0603_1608MetricC2, C10, C18
320kResistor_SMD:R_0603_1608MetricR17, R20, R35
3FiducialFiducial:Fiducial_0.75mm_Mask1.5mmFID1, FID2, FID3
210RResistor_SMD:R_0603_1608MetricR7, R16
210uCapacitor_SMD:C_1206_3216MetricC4, C7
2130kResistor_SMD:R_0603_1608MetricR22, R27
21N4148WSF-7Diode_SMD:D_SOD-323_HandSolderingD10, D11
222uCapacitor_SMD:C_0603_1608MetricC13, C15
2240kResistor_SMD:R_0603_1608MetricR14, R15
2390kResistor_SMD:R_0603_1608MetricR5, R6
2AO4435Package_SO:SOIC-8_3.9x4.9mm_P1.27mmQ2, Q4
2BAT54SWPackage_TO_SOT_SMD:SOT-323_SC-70D7, D8
2BAV199.215Package_TO_SOT_SMD:SOT-23D1, D2
2BSR14Package_TO_SOT_SMD:SOT-23Q3, Q5
2Conn_01x01_PinConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalJ3, J4
2SMAJ24CADiode_SMD:D_SMAD4, D5
2SW_Omron_B3FSButton_Switch_SMD:SW_SPST_Omron_B3FS-100xPSW1, SW2
11MResistor_SMD:R_0603_1608MetricR4
1220uCapacitor_SMD:CP_Elec_8x10.5C5
14.7u 10VCapacitor_Tantalum_SMD:CP_EIA-3216-18_Kemet-AC19
147uHInductor_SMD:L_APV_APH0630L1
14k3Resistor_SMD:R_0603_1608MetricR21
15.1kResistor_SMD:R_0603_1608MetricR33
17AFootprints:0154100DRF1
1AD8629ARZPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU1
1AP63300WU-7Package_TO_SOT_SMD:TSOT-23-6U3
1BLM18AG331SN1DInductor_SMD:L_0603_1608MetricFB1
1BZV55-B12.115Diode_SMD:D_MiniMELFD9
1Conn_01x05_SocketConnector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_VerticalJ5
1ESDA6V1SC5Package_TO_SOT_SMD:SOT-23-5D3
1LOGOLOGOG***
1MCP9700AT-ETTPackage_TO_SOT_SMD:SOT-23U8
1MIC5219-3.3YM5Package_TO_SOT_SMD:SOT-23-5U5
1MouseBitePanelization:MouseBite-Slot_2.0x2.0mm_outset_D0.5mm_P0.85mm_3hB1
1OLED0.91_128x32_I2CFootprints:OLED_128x32_0.91U6
1PMEG6010CEH.115Diode_SMD:D_SOD-123FD6
1RMF2512FTR005Resistor_SMD:R_2512_6332MetricR11
1STM32F103C8T6Package_QFP:LQFP-48_7x7mm_P0.5mmU7
1STUSB4500QTRFootprints:QFN-24-1EP_4x4mm_P0.5mm_EP2.65x2.65mmU4
1Screw_Terminal_01x06Footprints:TerminalBlock_DG350-3.5-07P-14-00AH_1x07_P3.50mmJ1
1TP_3V3TestPoint:TestPoint_Pad_D1.0mmTP5
1TP_CURRENTTestPoint:TestPoint_Pad_D1.0mmTP4
1TP_GNDTestPoint:TestPoint_Pad_D1.0mmTP1
1TP_GPIO1TestPoint:TestPoint_Pad_D1.0mmTP6
1TP_GPIO2TestPoint:TestPoint_Pad_D1.0mmTP7
1TP_GPIO3TestPoint:TestPoint_Pad_D1.0mmTP8
1TP_PWMTestPoint:TestPoint_Pad_D1.0mmTP2
1TP_TIP_TEMPTestPoint:TestPoint_Pad_D1.0mmTP3
1USB4105-GF-A-060Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_HorizontalJ2
1WS2812B-2020Footprints:RGB_LED_WS2812B-2020_2.0x2.0mmD12
1~Footprints:Connector_Hirose_RPC1-12RB-6P(72)J6

Questions

How big is the Gem solder PCB?

It measures 34 × 96 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Gem solder use?

114 parts, built around the STM32F103C8T6, AD8629ARZ-REEL7, MIC5219-3.3YM5-TR and HS91L02W2C01. 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 Gem solder KiCad files?

From the arlenko/gem-solder repository on GitHub, at the commit this page was made from: the board is hardware/Gem-solder.kicad_pcb and its schematic hardware/Gem-solder.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Gem solder design in my own project?

Its repository publishes it under the CERN-OHL-S-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 4 layers230 × 84.9 mmDrunkDashboard v2, the printed circuit board in 3D

    DrunkDashboard v2

    drunkbatya/DrunkDashboard

    STM32 powered pixel automotive dashboard

    223 parts1GPL-3.0
  • 2 layers101.8 × 57.8 mmSc64v2, the printed circuit board in 3D

    Sc64v2

    Polprzewodnikowy/SummerCart64

    SummerCart64 - a fully open source N64 flashcart

    96 parts1.2kGPL-3.0
  • 2 layers35.4 × 25.6 mmPowerTimer, the printed circuit board in 3D

    PowerTimer

    jfm92/powerTimer

    Module to jump from miliAmperes to nanoAmperes on Idle mode.

    33 parts49
  • 2 layers101.8 × 57.8 mmSc64v2.1, the printed circuit board in 3D

    Sc64v2.1

    Epicjoy/SC64

    This project's hardware and casing are modified based on the SummerCart64 project.

    97 parts15
  • 4 layers62 × 107 mmMSolder, the printed circuit board in 3D

    MSolder

    JX5S/JxSolder

    154 parts1
  • 2 layers39 × 82.5 mmAxxSolder, the printed circuit board in 3D

    AxxSolder

    holoindustry/AxxSolder_modded

    Interested in purchasing an AxxSolder 3.2? On my website 5Dimensions you can purchase assembled and tested AxxSolder 3.2 boards with connectors and hardware.

    147 partsGPL-3.0
  • 4 layers131.5 × 83.5 mmBreakout board GPT E, the printed circuit board in 3D

    Breakout board GPT E

    lapalmaelettronica/Progetti

    Una lista dei progetti che ho pubblicato su instagram, potete trovarci pcb, codici, schemo elettrici e stampe 3d!

    118 parts
  • 2 layers52 × 90 mmPlaced unrouted, the printed circuit board in 3D

    Placed unrouted

    nahhao74/QUIZ_Remote

    Every student holds a small pad with 16 keys and two 7-segment digits. The teacher opens a session on a laptop, students type the 6-digit room code, and answers arrive on the projector within a fraction of a second.

    127 partsMIT