Skip to the content
PCBKitNew board
4 layers50 × 30 mmLaser CANbus Toolhead, the printed circuit board in 3D

Laser CANbus Toolhead

eiten/canbus_laser_toolhead

CANbus Laser Toolhed PCB

Size
50 × 30 mm
Copper layers
4
Thickness
1.6 mm
Parts
84
Nets
67
Pads
305
Tracks, vias
212, 136
Pours
10
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
25 Nov 2025
Updated
9 Dec 2025

Overview

Laser CANbus Toolhead is an open-source printed circuit board by eiten, from the eiten/canbus_laser_toolhead repository on GitHub. It is a 4-layer board of 50 × 30 mm with 84 parts on 67 nets, routed with 212 tracks and 136 vias.

It is built around the 74AHCT1G125SE, SN65HVD230D and ICM-20602, with the MP2459GJ, XC6206P332MR-G and 1N5819WS among its other parts. Its parts include 24 capacitors, 20 resistors, 10 diodes, 6 ICs and 2 transistors. It belongs with the interfaces and adapters boards and the STM32 boards of this library.

Main components

9

README

README.md

🔥 Laser CANbus Toolhead PCB

🌍 Languages: English | Deutsch

A compact, robust toolhead board for Klipper-based laser engravers and cutters (CoreXY). This board integrates power supply, laser driver logic, CAN-Bus communication, and input shaping (ICM-20602) in the smallest possible space.

Laser CANbus Toolhead PCB

📚 Contents

✨ Features

🧠 Microcontroller

  • MCU: STM32F072CBU6 (Cortex-M0, 48MHz, CAN-capable)
  • Stability: 12MHz crystal for maximum CAN-Bus stability
  • Firmware: Klipper-compatible

🔗 CAN-Bus Communication

  • Transceiver: SN65HVD230 with ESD protection
  • Termination: Split termination via solder jumper
  • Slope Control: Switchable for EMI optimization

📊 Input Shaping

  • Sensor: On-board ICM-20602 accelerometer/gyroscope (SPI)
  • Purpose: Klipper resonance measurement for perfect print quality
  • Advantage: Better availability and modern sensor technology

⚡ Laser Power Control

  • Circuit: 24V / 6A High-Side Switch (CJAC70P06 P-MOSFET, 60V rated)
  • Peak Current: 8A capability
  • Soft-Start: Limits inrush current (Rise-time ~1.2ms)
  • Safety: Hardware pull-down prevents unwanted activation
  • Limitation: Max 6A limited by Micro Fit 3.0 connector with 0.75mm² wire

🎛️ Laser Signal Control

  • PWM: 5V Level-shifted via 74AHCT1G125 buffer
  • Quality: Clean edges, true hardware PWM via STM32 timer
  • Compatibility: Common diode lasers

🔌 Power Supply

  • Input: 24V with 250mA PTC fuse and SMF24A TVS diode
  • 5V Rail: MP2459 Buck converter (up to 60V input tolerant)
  • 3.3V Rail: XC6206 LDO for MCU and peripherals

🚨 Diagnostics & Monitoring

  • Power LEDs: 24V In, 24V Sys, 5V, 3.3V
  • Status LEDs: Laser Enable, Laser PWM, Heartbeat

📋 Klipper Configuration

Basic MCU Setup

ini
[mcu toolhead]
canbus_uuid: <your-uuid>  # Find with "ls /dev/serial/by-id/*" or "~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0"

[temperature_sensor toolhead_mcu]
sensor_type: temperature_mcu
sensor_mcu: toolhead

Input Shaping (ICM-20602)

ini
[mpu9250]
cs_pin: toolhead:PA4
spi_bus: spi1
#axes_map: x,y,z  # Configure according to your printer orientation

[resonance_tester]
accel_chip: mpu9250
probe_points:
    150, 150, 20  # Adjust to your bed size

Laser Control

ini
# Laser PWM Signal
[output_pin laser_pwm]
pin: toolhead:PB14
pwm: True
cycle_time: 0.001          # 1kHz PWM frequency
shutdown_value: 0          # Safety: laser off during emergency

# Laser Enable (optional)
[output_pin laser_enable]
pin: toolhead:PB15
value: 0
shutdown_value: 0

# Heartbeat LED (optional)
[output_pin heartbeat]
pin: toolhead:PA9
pwm: True
cycle_time: 1.0

🔌 Pinout & Connector Assignment

J101 - Power & CAN Input (Micro-Fit 3.0, 2x2, THT)

PinSignalDescription
1+24VMain power input (High Current)
2GNDGround
3CAN_HCAN-Bus High Signal
4CAN_LCAN-Bus Low Signal

J102 - Laser Output (Micro-Fit 3.0, 1x3, THT)

PinSignalDescription
1GNDLaser Ground
2PWM5V PWM Signal (Level-Shifted)
3+24VSwitched Laser Power (Soft-Start)

Debug/Programming Header (Back Side)

PadPinSignalFunction
1-5V5V Supply (from Programmer)
2-3.3VVTref (Reference Voltage)
3PA13SWDIOSerial Wire Debug I/O
4PA14SWCLKSerial Wire Debug Clock
5-NRSTReset Signal
6-GNDGround

💡 Bootloader Mode: To force the STM32 into DFU/Bootloader mode (e.g., for initial flash with Katapult), bridge the BOOT0 pad with 3.3V during power-on.

🔧 Installation & Setup

1. CAN-Bus Configuration

  • Set CAN-Bus termination according to position in network
  • Baud rate: 1 Mbit/s (Klipper standard)

2. Firmware Flash

  1. Put board into DFU mode (bridge BOOT0)
  2. Compile Klipper for STM32F072 with CAN support
  3. Flash firmware: make flash FLASH_DEVICE=<dfu-device>

3. Find UUID

bash
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0

⚠️ Safety Notes

  • Laser Safety: Always wear protective eyewear
  • Power Supply: Only operate with 24V DC
  • Initial Setup: Slowly ramp up laser power
  • Emergency: Hardware pull-down ensures safe state

🛠️ BOM (Bill of Materials) - Highlights

ComponentValue/TypeFunctionPackageOrder Code
U101STM32F072CBU6Main MicrocontrollerUFQFPN-48STM32F072CBU6
U102MP2459GJ-ZBuck Converter 24V→5VTSOT-23-8MP2459GJ-Z
U105SN65HVD230DRCAN-Bus TransceiverSOIC-8SN65HVD230DR
U106ICM-206026-Axis IMU (Accelerometer/Gyroscope)LGA-16ICM-20602
Q101CJAC70P06P-MOSFET (Laser Switch, 60V)SOIC-8CJAC70P06
D101SMF24ATVS Diode (Overvoltage Protection)DO-214ACSMF24A
F1011812L025PTC Fuse 250mA18121812L025
Y10112MHzCrystal for CAN StabilityHC-49/S12MHz Crystal
J101/J102Micro-Fit 3.0THT ConnectorsTHTMicro-Fit 3.0 THT

🛠️ Technical Specifications

ParameterValueUnit
Input Voltage24 ± 2V
Laser Current (max)4A
CAN Baud Rate1Mbit/s
PWM Frequency1kHz
Soft-Start Time~1.2ms
Operating Temperature-10 to +70°C
DimensionsTBDmm

📝 Changelog

Rev. 0.1

  • Transistor Upgrade: Replaced MOSFET with CJAC70P06 (60V voltage rating)
  • Sensor Upgrade: Changed from ADXL345 to ICM-20602 (better availability, modern 6-axis IMU)
  • Connector Change: Micro Fit 3.0 connectors changed from SMD to THT mounting
  • Silkscreen Enhancement: Added connector pin assignments to silkscreen for easier assembly
  • Layout Improvements: Cleaned up component placement and optimized routing
  • Documentation: Updated overview image to reflect current design
  • BOM Update: Added component order numbers and updated production data
  • Production Files: Updated assembly and production files with current components

Rev. 0.0 (Initial Release)

  • Initial PCB design with STM32F072CBU6 microcontroller
  • CAN-Bus communication with SN65HVD230 transceiver
  • 24V/4A laser power control with AO4407A MOSFET
  • ADXL345 accelerometer for input shaping
  • MP2459 buck converter for power supply

📚 Additional Resources

License

This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC BY-NC-SA 4.0).

License: CC BY-NC-SA 4.0

This means you are free to:

  • Share — copy and redistribute the material in any medium or format
  • Adapt — remix, transform, and build upon the material

Under the following terms:

  • Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made
  • NonCommercial — You may not use the material for commercial purposes
  • ShareAlike — If you remix, transform, or build upon the material, you must distribute your contributions under the same license

For the full license text, visit: https://creativecommons.org/licenses/by-nc-sa/4.0/


Note: The original documentation is in German (README.de.md). This English version is a translation for international users.

Parts

84
QtyValueFootprintReferences
14100nCapacitor_SMD:C_0402_1005MetricC104, C105, C106, C107, C108, C109, C111, C113, C114, C117, C118, C120, C122, C123
610kResistor_SMD:R_0402_1005MetricR101, R103, R107, R108, R112, R113
510uCapacitor_SMD:C_0805_2012MetricC103, C110, C116, C121, C124
4MountingHoleMountingHole:MountingHole_2.7mm_Pad_ViaH101, H102, H103, H104
4greenLED_SMD:LED_0805_2012MetricD104, D105, D106, D107
3100kResistor_SMD:R_0402_1005MetricR104, R105, R106
333pCapacitor_SMD:C_0402_1005MetricC101, C102, C115
21kResistor_SMD:R_0402_1005MetricR109, R118
23.3Vprj:NAMED_TEST_POINTTP102, TP108
233kResistor_SMD:R_0402_1005MetricR114, R115
2470RResistor_SMD:R_0402_1005MetricR119, R120
260R4Resistor_SMD:R_0402_1005MetricR110, R111
2redLED_SMD:LED_0603_1608MetricD109, D110
1/BOOT0prj:NAMED_TEST_POINTTP107
1/SWCLKprj:NAMED_TEST_POINTTP106
1/SWDIOprj:NAMED_TEST_POINTTP105
1/~{NRST}prj:NAMED_TEST_POINTTP104
112 MHzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY101
11N5819WSDiode_SMD:D_SOD-323D102
1220RResistor_SMD:R_0402_1005MetricR117
122uCapacitor_SMD:C_0805_2012MetricC112
1250mAFuse:Fuse_0805_2012MetricF101
12N7002Package_TO_SOT_SMD:SOT-23Q102
13.3kResistor_SMD:R_0402_1005MetricR116
14n7Capacitor_SMD:C_0402_1005MetricC119
151kResistor_SMD:R_0402_1005MetricR102
15Vprj:NAMED_TEST_POINTTP101
174AHCT1G125Package_TO_SOT_SMD:SOT-353_SC-70-5U104
1CJAC70P06Package_DFN_QFN:AO_DFN-8-1EP_5.55x5.2mm_P1.27mm_EP4.12x4.6mmQ103
1CREATED BYprj:EduardItenLABEL101
1GNDprj:NAMED_TEST_POINTTP103
1ICM-20602Package_LGA:LGA-16_3x3mm_P0.5mm_LayoutBorder3x5yU107
1InConnector_Molex:Molex_Micro-Fit_3.0_43045-0412_2x02_P3.00mm_VerticalJ101
1LInductor_SMD:L_1008_2520MetricL101
1LICENSEprj:CC_BY_NC_SA 4LABEL103
1LaserConnector_Molex:Molex_Micro-Fit_3.0_43650-0315_1x03_P3.00mm_VerticalJ102
1MP2459Package_TO_SOT_SMD:SOT-23-6U102
1PCB NAMEprj:CLT Rev. xxxLABEL102
1PESD1CANPackage_TO_SOT_SMD:SOT-23D103
1SERIALprj:SERIAL_NoLABEL104
1SMF24ADiode_SMD:D_SOD-123FD101
1SN65HVD230Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU105
1STM32F072CBUxPackage_DFN_QFN:QFN-48-1EP_7x7mm_P0.5mm_EP5.6x5.6mmU101
1TermJumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mmJP101
1XC6206P332MR-GPackage_TO_SOT_SMD:SOT-23-3U103
1yellowLED_SMD:LED_0805_2012MetricD108

Questions

How big is the Laser CANbus Toolhead PCB?

It measures 50 × 30 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Laser CANbus Toolhead use?

84 parts, built around the 74AHCT1G125SE, SN65HVD230D, ICM-20602 and MP2459GJ. 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 Laser CANbus Toolhead KiCad files?

From the eiten/canbus_laser_toolhead repository on GitHub, at the commit this page was made from: the board is Laser CANbus Toolhead.kicad_pcb and its schematic Laser CANbus Toolhead.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Laser CANbus Toolhead design in my own project?

Its repository states no licence, so its author keeps all rights: ask eiten before reusing the design.

Similar boards

  • 4 layers65 × 56 mmEWS, the printed circuit board in 3D

    EWS

    eiten/EWS

    Universal 3D-Printer HAT for SBC with CAN-Interface and USB Hub

    124 parts1
  • 4 layers90 × 40 mmLinear act controller, the printed circuit board in 3D

    Linear act controller

    Talw3g/linear_act_controller

    Controller for 24V linear actuator with potentiometer position control and feedback.

    80 parts
  • 2 layers45 × 25 mmReCamera Basically Board, the printed circuit board in 3D

    ReCamera Basically Board

    Seeed-Studio/OSHW-reCamera-Series

    reCamera is a series of open-source AI cameras.

    35 parts495Apache-2.0
  • 4 layers56 × 43.3 mmStepperServoCAN, the printed circuit board in 3D

    StepperServoCAN

    dzid26/StepperServo-hardware

    Stepper actuator controller

    155 parts29GPL-3.0
  • 2 layers43 × 43 mmESP32-Touch board, the printed circuit board in 3D

    ESP32-Touch board

    kamil2466/SiD-ON

    Smart Home Projects

    49 parts4GPL-3.0
  • 2 layers160 × 100 mmBase, the printed circuit board in 3D

    Base

    florolf/lab-automation

    Plugs into relay and can be used to provide switchable 5V USB power to downstream devices.

    83 parts1
  • 4 layers26.2 × 76.2 mmPower sink only, the printed circuit board in 3D

    Power sink only

    fulgidus/hardware

    Learning KiCad takes time, and pollutes with weird and incomplete projects. Here they are...

    179 parts