Skip to the content
PCBKitNew board
2 layers82.8 × 53.3 mmServoBoard V21, the printed circuit board in 3D

ServoBoard V21

jeffrey500/ServoBoard

A custom PCB that drives up to 4 PWM servos. The board uses the atmega328PB and has variable input and variable servo voltage using the LM2596S buck and AMS1117 LDO. The board also has 3 6n137 optocouplers.

Size
82.8 × 53.3 mm
Copper layers
2
Thickness
1.6 mm
Parts
70
Nets
79
Pads
240
Tracks, vias
494, 133
Pours
9
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
16 Jun 2026
Updated
28 Jun 2026

Overview

ServoBoard V21 is an open-source printed circuit board by jeffrey500, from the jeffrey500/ServoBoard repository on GitHub. It is a 2-layer board of 82.8 × 53.3 mm with 70 parts on 79 nets, routed with 494 tracks and 133 vias.

It is built around the ATMEGA328PB-AU, CH340C and AMS1117-5.0, with the KM228M025J20RR0VH2FP0, 3296W-1-103LF and TAJA106K016RNJ among its other parts. Its parts include 21 capacitors, 16 resistors, 12 ICs, 6 diodes and 1 switch. It belongs with the AVR (ATmega, ATtiny) boards of this library.

Main components

7

README

README.md

ServoBoard V2.1

board pcb ServoBoard_pic

Introduction

This project contains a 2 layer PCB that has the designed purpose of driving up to 4 PWM servo motors of variable input voltage, with the entire board itself being powered by a variable voltage.
This board is controlled by an atmega328PB and has 6n137 optocouplers.

Microcontroller

The microcontroller (MCU) on this board is the atmega328PB which can be programmed via the USB-C connection on the side of the board through the use of a CH340C USB-to-UART serial converter IC.
The atmega328PB was chosen as it is a simple and stable MCU that can be programmed using the Arduino IDE, and is an upgrade over the atmega328. The MCU utilizes an external 16 MHz crystal oscillator.

Note: the USB connection can only be used after initial bootloader burning (see ISP section).

Power

There are 3 different voltages present on the board: input, servo, and 5V.

Using the LM2596S buck voltage regulator, the board can utilize a maximum of 3A at the output of the Buck regulator. The efficiency of the LM2596S 92%. The board accepts a voltage range of 40V and can step it down to 1.25V-35V. You can adjust the output voltage of the LM2596S by adjusting the screw on the blue potentiometer. The potentiometer acts as a voltage divider which alters the internal PWM duty cycle.

The use of an AMS1117-5.0 fixed 5V low dropout linear voltage regulator further steps down the voltage from the servo voltage to 5V to power the MCU. The dropout range is 1.3V with a max input voltage of 15V.

Note: you should be careful when adjusting output of the LM2596S when using voltages higher than 15V as you can potentially destroy the AMS1117 LDO. Additionally, the servo voltage should be high enough such that the MCU after the LDO has sufficient a sufficient voltage.

Servo PWM pins

Servo motors can be driven using one or many of the 4 sets of SIGNAL-POWER-GROUND male header pins. The connected servo motors are driven by the voltage output of the LM2596S Buck Converter. A large 2200uF capacitor is placed very close to the servo pin headers to provide power during momentary high current draw.

Optocouplers

The Board contains 3 6n137 high-speed digital Optocouplers, mounted on DIP-8 sockets, allowing for interfacing with optical isolation. The 6n137 mounted on the U5 DIP-8 socket is oriented as an input for digital signals while U4 and U6 are oriented as outputs.

Board Design

This Board utilizes a 2 layer stackup. The top layer is signal with a ground pour. The bottom layer is a ground plane of which effort was put in to ensure as much continuity as possible. The top and bottom ground layers are connected via stitching. A power plane and cut is placed around the servo pin headers so that surges of power are drawn from the nearby capacitor. Extra thermal vias are placed around the ground pin of the LM2596S.

In-System Programming (ISP)

Following the assembly of the board you will need to do burn the bootloader of the board to be able to use the USB-C port to program the atmega328PB. To do this, it is recommended to use any Arduino in addition to its ability to be an ISP flasher.

Schematic

ServoBoard Schematic

Board Without Pours

board_without_pours

Top Copper

top_copper

Bottom Copper

bottom_copper

Application

The design application of this board is within a CNC White board plotter //add link for which this board controls a pen plotter that is controlled by an Ardunio CNC Shield, interfacing through an optocoupler. The board input voltage is 12V, with the servo needing 7V.

BOM

The cost of each board at low production quantities is around $15 CAD.

LICENSE

ServoBoard © 2026 by Jeffrey Zhu is licensed under CC BY-NC 4.0

CC BY-NC 4.0

Parts

70
QtyValueFootprintReferences
100.1uFCapacitor_SMD:C_0805_2012MetricC6, C7, C8, C11, C12, C13, C18, C19, C20, C21
91kResistor_SMD:R_0805_2012MetricR4, R5, R6, R7, R8, R12, R14, R15, R16
4MountingHoleMountingHole:MountingHole_4.3mm_M4H7, H9, H10, H11
30.1 uFCapacitor_SMD:C_0805_2012MetricC3, C4, C5
3330Resistor_SMD:R_0805_2012MetricR9, R10, R11
3D_Schottkyeasyeda2kicad:SMA_L4.4-W2.8-LS5.4-R-RDD7, D9, D10
222pFCapacitor_SMD:C_0805_2012MetricC9, C10
2330 uFeasyeda2kicad:CAP-TH_BD12.5-P5.00-D0.6-FDC14, C15
25.1kResistor_SMD:R_0805_2012MetricR1, R2
2Analog Pinseasyeda2kicad:HDR-TH_5P-P2.54-V-MU10, U11
2GND SIG VCCeasyeda2kicad:CONN-TH_HX-PZ2.54-1X3P-ZZH5, H6
2OUTPUT 6N137Package_DIP:DIP-8_W7.62mm_SocketU4, U6
110 nFCapacitor_SMD:C_0805_2012MetricC16
110kResistor_SMD:R_0805_2012MetricR3
116MHzeasyeda2kicad:OSC-TH_L10.0-W4.5-P5.00X1
12200uF 25V 13*20easyeda2kicad:CAP-TH_BD13.0-P5.00-D1.2-FDC17
13296W-1-103LFeasyeda2kicad:RES-ADJ-TH_3296WR13
147 uHeasyeda2kicad:IND-SMD_L12.3-W12.3L3
1AMS1117-5.0easyeda2kicad:SOT-223_L6.5-W3.5-P2.30-LS7.0-BRU2
1ATmega328PB-APackage_QFP:TQFP-32_7x7mm_P0.8mmU12
1CH340CPackage_SO:SOIC-16_3.9x9.9mm_P1.27mmU3
1Digital Pinseasyeda2kicad:HDR-TH_9P-P2.54-V-F-3H12
1IN+ IN-easyeda2kicad:HDR-TH_2P-P2.54-V-M-3U9
1INPUT 6N137Package_DIP:DIP-8_W7.62mm_SocketU5
1LM2596SX-ADJ/NOPBeasyeda2kicad:TO-263-5_L10.2-W8.9-P1.70-TLU1
1PWM 1easyeda2kicad:CONN-TH_HX-PZ2.54-1X3P-ZZH1
1PWM 2easyeda2kicad:CONN-TH_HX-PZ2.54-1X3P-ZZH2
1PWM 3easyeda2kicad:CONN-TH_HX-PZ2.54-1X3P-ZZH4
1PWM 4easyeda2kicad:CONN-TH_HX-PZ2.54-1X3P-ZZH3
1PWReasyeda2kicad:LED1206-FDD4
1Power Inputeasyeda2kicad:CONN-TH_P5.00_KF301-5.0-2PU7
1RESETeasyeda2kicad:SW-SMD_L4.0-W2.9-LS5.0SW1
1RXeasyeda2kicad:LED1206-FDD2
1Reseteasyeda2kicad:HDR-TH_2P-P2.54-V-M-3U13
1TAJA106K016RNJeasyeda2kicad:CAP-SMD_L3.2-W1.6-RD-C7171C22
1TAJA226K010RNJeasyeda2kicad:CASE-A_3216C1
1TXeasyeda2kicad:LED1206-FDD3
1USB-Ceasyeda2kicad:USB-C-SMD_TYPE-C-6PIN-2MD-073USB1

Questions

How big is the ServoBoard V21 PCB?

It measures 82.8 × 53.3 mm and has 2 copper layers, 1.6 mm thick.

What parts does the ServoBoard V21 use?

70 parts, built around the ATMEGA328PB-AU, CH340C, AMS1117-5.0 and KM228M025J20RR0VH2FP0. 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 ServoBoard V21 KiCad files?

From the jeffrey500/ServoBoard repository on GitHub, at the commit this page was made from: the board is ServoBoard V21.kicad_pcb and its schematic ServoBoard V21.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the ServoBoard V21 design in my own project?

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

Similar boards

  • 2 layers296.5 × 175.3 mmTrill flex base, the printed circuit board in 3D

    Trill flex base

    ryos17/forearm-guitar

    Guitar in a form factor of a forearm strap!

    107 partsMIT
  • 2 layersTR v0.1, the printed circuit board in 3D

    TR v0.1

    razvysme/Paisa-Soda

    A triple trigger delay for Eurorack systems.

    50 parts3CC0-1.0
  • 2 layers68.5 × 53.4 mmZATINO SMD V2, the printed circuit board in 3D

    ZATINO SMD V2

    zatelectronic/ZATINO_SMD_V2

    O projeto utiliza o ATmega328PB-AU (TQFP-32) como microcontrolador principal, com um módulo FT232RL USB-C encaixado em um conector fêmea de 6 pinos para programação serial e comunicação USB — mantendo o conector USB-C…

    29 parts2
  • 2 layers45 × 85 mmRadioSonde, the printed circuit board in 3D

    RadioSonde

    ub1qbm/PCB-for-stratosphere-RadioSonde-on-SX1278-x-ATMEGA328PB

    91 parts
  • 2 layers49 × 37 mmServo controller, the printed circuit board in 3D

    Servo controller

    rmingon/servo-controller

    Custom-made dual-servo testing platform. It is designed for engineers, makers, and robotics developers who need a reliable and convenient way to drive and test two RC servos simultaneously from a PC.

    31 parts
  • 4 layers236.3 × 191.5 mmCyborg65r2 thermo pcb, the printed circuit board in 3D

    Cyborg65r2 thermo pcb

    anthonyjwall/CYBORG2_PCB

    PCB Design for Cyborg65r2

    165 parts