

3DWelderPCB
An overbuilt 3D pen that will use a chc pro hotend and custom dc extruder powered by a power tool battery
- Size
- 31.8 × 114.8 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 17
- Nets
- 32
- Pads
- 70
- Tracks, vias
- 105, 2
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 4 Jul 2025
- Updated
- 17 Aug 2026
Overview
3DWelderPCB is an open-source printed circuit board by destroyer796, from the destroyer796/3DWelder repository on GitHub, published under the MIT licence. It is a 2-layer board of 31.8 × 114.8 mm with 17 parts on 32 nets, routed with 105 tracks and 2 vias.
It is built around the IRLZ34N. Its parts include 5 resistors, 5 connectors, 1 transistor and 1 switch. It belongs with the AVR (ATmega, ATtiny) boards of this library.
Main components
1README
README.md3DWelder
This is an overbuilt 3D pen designed to be used for "welding" 3D printed parts together using 1.75mm filament. This project is funded by Hack Club as a part of the Highway program.
Keep in mind for time being PCB is not working, I'll update soon.
This design uses a CHC Pro hotend and a custom Orbiter extruder adapted to use a DC motor. This DC motor's speed is controlled by a drill trigger adapted into the handle. It has a small screen and a rotary encoder for adjusting and showing the temperature target. The whole thing is powered by a drill battery to make it more portable and easier to use. This project is currently completely untested.
Why?
So, why did I choose to make this ridiculous thing anyways? Well, the best way to join 3D printed parts together if they can't be screwed is by literally joining them together with the same plastic they're made of. This can be very difficult with a normal 3D pen though, as they're quite low powered and actually can't even melt many higher temperature plastics. I wanted a solution to this, so I decided to basically make a regular 3D printer extruding setup, but make it portable. It has some other uses aswell, if you use EVA filament, it could function essentially as a hot glue gun. It could also theoretically be used as a 3D pen, but not that well.
PCB
The pcb was designed using KiCad, and it is only 2 layers. The pcb controlls everything except for voltage control and the motor, which is controlled by the drill trigger. It uses screw terminals and jst-xh connections. The brains of the whole thing is an Arduino Nano.
Wiring/Assembly
All 3D printed parts screw together using M3 heatset inserts and various M3/M4 screws. For wiring, 2 spade connectors are used as terminals on the battery. From there, there's 2 ways of wiring everything else. You can either put the buck converter inside the space above the battery, then have wires coming off of that to the drill trigger and pcb, or have the buck converter up by the pcb, then have wires going back down to the drill trigger. Having the Buck converter in the handle is much cleaner, but may be very difficult to fit inside that small space.
Code
Arduino Code
#include <PID_v1.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_GFX.h>
#include <Wire.h>
//Defines screen width/height
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 32
//Not using a reset pin
#define OLED_RESET -1
//Creates a display named display, gives it parameters
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
// EC11 code
const int EC11PinA = 8;
const int EC11PinB = 7;
volatile in encoderPos = 0;
in lastEncoded = 0;
/* ----------- USER SETTINGS ----------- */
const int thermistorPin = A0;
const int heaterPin = 6; // PWM pinThis is the firmware to be uploaded to the Arduino Nano. It's purpose is for PID control of the heater via the thermistor readings and mosfet. It has temperature control via the EC11 rotary encoder, and the temperature target and current temperature are displayed on the 0.91 inch OLED screen.
BOM
| Item | Quantity | Price | Source | Notes | Owned/Buying |
|---|---|---|---|---|---|
| Drill Trigger | 1 | $3.57 | Aliexpress | For regulating motor | Buying |
| CHC Pro | 1 | $22.42 | Aliexpress | Hotend | Buying |
| Screw Terminal 4P | 1 | $2.50 | Aliexpress | 7.62mm pitch, Power inputs | Buying |
| Screw Terminal 2P | 1 | $1.87 | Aliexpress | 7.62mm pitch, Heater outputs | Buying |
| 2510 24V Fan | 1 | $2.08 | Aliexpress | Cools hotend | Owned |
| EC11 Rotary Encoder | 1 | $3.08 | Aliexpress | For controlling temp | Buying |
| I2C OLED | 1 | $1.85 | Aliexpress | 0.91in, Displays target/current temp | Buying |
| TO-220 Radiator | 1 | $1.94 | Aliexpress | Cools mosfet | Buying |
| IRLZ34NPBF Mosfet | 1 | $3.20 | Aliexpress | TO-220, Regulates hotend heater | Buying |
| 24V-12V Buck Converter | 1 | $4.12 | Aliexpress | Converts battery 24V to 12V for Arduino | Buying |
| DC Motor | 1 | $13.35 | Aliexpress | 24V, Worm gear, 27rpm, drives extruder | Buying |
| Kobalt 24V Battery | 1 | $28.35 | Aliexpress | Any Ah, mines 6.0Ah, Powers whole thing | Buying |
| 100k Resistor | 1 | $1.27 | Aliexpress | For thermistor logic | Owned |
| 10k Resistor | 1 | $1.34 | Aliexpress | Heater gate pulldown | Owned |
| 220R Resistor | 1 | $1.35 | Aliexpress | Heater gate drive | Owned |
| 2 Pin JST XH Female | 2 | $2.37 | Aliexpress | For fan and thermistor | Owned |
| 18 AWG Wire | ~2 meters | $2.11 | Aliexpress | Wiring everything | Owned |
| Arduino Nano | 1 | $2.94 | Aliexpress | Type C, Microprocessor | Buying |
| M3 Heatset Inserts | ~18 | $2.05 | Aliexpress | M3x5x4, Gives 3D printed parts threads | Owned |
| M3x6 Screws | ~11 | $2.04 | Aliexpress | For mounting pcb, battery terminal, and handle | Owned |
| M3x8 Screws | ~2 | $2.14 | Aliexpress | For Orbiter mount | Owned |
| M3x10 Screws | ~4 | $1.38 | Aliexpress | For mounting Hotend mount and hotend clamp | Owned |
| M4x8 Screws | 8 | $2.03 | Aliexpress | For motor mounting | Owned |
| Orbiter Gears | 1 | $23.32 | Aliexpress | Extruder drive gears | Buying |
| Orbiter Handle Shell | 1 | $3.17 | Aliexpress | Extruder lever + shaft | Buying |
| Orbiter Handle Screw | 1 | $2.67 | Aliexpress | Extruder lever screw/spring | Buying |
| Alternative Full Orbiter | 1 | $30.30 | Aliexpress | Around same price as above but full kit, worse parts | NOT Buying |
| PTFE Tube | 1 | $1.83 | Aliexpress | Between extruder and hotend, need very little | Owned |
| Spade Terminals | 2 | $2.38 | Aliexpress | For battery connection | Owned |
| Custom PCB | 1 | $8.52 | JLC PCB | For connecting all components |
Total(No shipping/taxes): $148.12
My Total: $157.54 (with shipping/taxes, excluding owned items)
Parts
17| Qty | Value | Footprint | References |
|---|---|---|---|
| 3 | 4.7K | Resistor_SMD:R_0603_1608Metric | R1, R2, R5 |
| 1 | 0.91in OLED Display | KICADCustom:SSD1306-0.91-OLED-4pin-128x32 | J1 |
| 1 | 24V Fan | Connector_JST:JST_XH_B2B-XH-AM_1x02_P2.50mm_Vertical | J4 |
| 1 | Arduino_Nano_v3.x | Module:Arduino_Nano | A1 |
| 1 | EC11 RotaryEncoder_Switch | Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm_CircularMountingHoles | SW1 |
| 1 | IRLZ34N | Package_TO_SOT_THT:TO-220-3_Vertical | Q2 |
| 1 | R10k | Resistor_SMD:R_0603_1608Metric | R3 |
| 1 | R220 | Resistor_SMD:R_0603_1608Metric | R4 |
| 1 | Screw_Terminal_01x02 | KICADCustom:Screw Terminal 2 Pin 7.62mmP | J6 |
| 1 | Screw_Terminal_01x04 IN | KICADCustom:Screw Terminal 4 Pin 7.62mmP | J2 |
| 1 | Thermistor | Connector_JST:JST_XH_B2B-XH-AM_1x02_P2.50mm_Vertical | J5 |
The 13 most common of 17 parts.
Questions
How big is the 3DWelderPCB PCB?
It measures 31.8 × 114.8 mm and has 2 copper layers, 1.6 mm thick.
What parts does the 3DWelderPCB use?
17 parts, built around the IRLZ34N. 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 3DWelderPCB KiCad files?
From the destroyer796/3DWelder repository on GitHub, at the commit this page was made from: the board is PCB/3DWelderKicad-backups/3DWelderKicad-2025-11-11_181259/3DWelderPCB.kicad_pcb and its schematic PCB/3DWelderKicad-backups/3DWelderKicad-2025-11-11_181259/3DWelderSchematic.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the 3DWelderPCB design in my own project?
Its repository publishes it under the MIT 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
- 2 layers100 × 50 mm

- 2 layers224.8 × 60.3 mm

Deurnode nieuw
Hans-Beerman/Deurnode_ESP32-PoE
KiCad design Deurnode for the MakerSpace Leiden, based on the Olimex ESP32-PoE
38 parts4Apache-2.0 - 2 layers111.3 × 68.1 mm

MKS relay v4
3D-Printing-for-Microfluidics/3D_printer_control
2nd generation 3D printer control software
67 parts3GPL-3.0 - 2 layers

Watch cleaner pcb
DavidJ-Saving-Time/watch-cleaner
So this is a very rough draft of code designed to run on an esp32 to control a watch cleaning machine see this YouTube video https://youtu.be/Opr75n8DbYY I'll be adding to this and making it easier for people to use.
16 parts3MIT - 2 layers83.8 × 50.8 mm

Shunt charge controller
grillbaer/solar-power-supply
Solar power harvesting for micro controller projects with li-Ion battery and highly efficient charge controller
16 parts3MIT - 2 layers80 × 45 mm

WifiOiler01
volw/wifiOiler
Automatic, distance depending chain oiler for motorbikes with track recording (GPS).
15 parts3GPL-3.0 - 2 layers80 × 20 mm

Spider dropper
aidtopia/spider_dropper
Mechanism to "drop" a spider (or other lightweight prop) for Halloween fun
10 parts2 - 2 layers34.9 × 46.2 mm

Servo reciever board
Asterisk-Projects/CatearTronics
Soldering the components onto the pcb is pretty simple by design. I used exclusively THT components as to make it as accessible as possible to anyone who wanted to construct a working set of ears.
12 parts2GPL-3.0