Skip to the content
PCBKitNew board
2 layers61 × 62 mmPcb servo, the printed circuit board in 3D

ESP32 OpenLCB IO Board

Size
61 × 62 mm
Copper layers
2
Thickness
1.6 mm
Parts
33
Nets
61
Pads
164
Tracks, vias
277, 34
Pours
2
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
16 Nov 2020
Updated
27 Apr 2026

Overview

Pcb servo is an open-source printed circuit board by atanisoft, from the atanisoft/Esp32OlcbIO repository on GitHub. It is a 2-layer board of 61 × 62 mm with 33 parts on 61 nets, routed with 277 tracks and 34 vias.

It is built around the PCA9685PW and PCA9306D. Its parts include 18 connectors, 6 resistors, 5 capacitors and 2 ICs. It belongs with the robots and motor control boards and the ESP32 boards of this library.

Main components

2

README

README.md

ESP32 OpenLCB IO Board

The ESP32 OpenLCB IO Board is a basic OpenLCB (LCC) node offering 14 input/output capable pins, and two that are input only. Additionally all IO pins are exposed through two 13 pin headers which allows for extending the functionality of the base board using a daughter board approach.

Powering the ESP32 OpenLCB IO Board

The ESP32 OpenLCB IO Board can be powered from an external power supply (12V) on J5 connector, or using the OpenLCB (LCC) Bus power on RJ45. To enable powering from the external supply, bridge pins 1 and 2 on JP1. To power from the OpenLCB (LCC) Bus, bridge pins 2 and 3. Note that when using the USB connector on the ESP32 module JP1 should not have any pins bridged.

OpenLCB (LCC) Power requirements

The ESP32 OpenLCB IO Board will draw around 100mA from the OpenLCB (LCC) Bus when the PWR_POS pin provides 15VDC. If the PWR_POS pin provides less, the node may draw more current from the bus.

External Power requirements

The external power supply should be rated for at least 12VDC 500mA to ensure sufficient current is available for the node to operate as intended.

Node Brownout detection

If the ESP32 detects a brownout condition it will attempt to produce the well-known event 01.00.00.00.00.00.FF.F1 soon after startup. This delivery is not guaranteed.

Pin Mapping

By default almost all pins are exposed for general IO usage by the node, however a few pins have specialized usage as part of the screw terminals or expansion headers.

GPIO PinUsageNotes
0IO4has pull-up resistor
1UART0 TXnot exposed
2IO5has pull-down resistor
3UART0 RXnot exposed
4CAN RXhas pull-down resistor
5CAN TXhas pull-up resistor
6-11NOT AVAILABLEconnected to on chip flash
12IO7has pull-down resistor
13IO8
14IO16
15IO6has pull-up resistor
16IO3
17IO2
18IO1
19I2C - SDA
20NOT AVAILABLENOT AVAILABLE
21I2C - SCL
22Node Activity LEDactive low
23WiFi Active LEDactive low
24NOT AVAILABLENOT AVAILABLE
25IO13
26IO14
27IO15
28-31NOT AVAILABLENOT AVAILABLE
32IO11
33IO12
34IO9INPUT ONLY, has pull-up resistor
35IO10INPUT ONLY
36 (SVP)User buttonINPUT ONLY, has pull-up resistor
37NOT AVAILABLENOT AVAILABLE
38NOT AVAILABLENOT AVAILABLE
39 (SVP)Factory Reset buttonINPUT ONLY, has pull-up resistor

Input only pins

The four pins marked as INPUT ONLY in the table above have a 10k pull-up to 3v3 and a 100nF capacitor for debounce.

IO4, IO5, IO6, IO7 Usage Note

IO4 and IO6 typically have a pull-up resistor. IO5 and IO7 typically have a pull-down resistor that can not be disabled. Keep this in mind as this may require adjustments to usage patterns.

Base ESP32 OpenLCB IO PCB

The ESP32 OpenLCB IO Board PCB can be found under the pcb directory and is provided as both KiCad files and generated Gerber files.

PCB Render

NOTE: U6 (CAN Transceiver) BOM line item references IFX1050GVIOXUMA1 which is no longer in production, please use one of the following instead:

  • TJA1057GT/3J
  • TCAN1051
  • MCP2562

PCBWay project

The ESP32 OpenLCB IO PCB has been shared via PCBWay here.

Mouser BOM

The ESP32 OpenLCB IO Board components have been entered on Mouser for easy ordering via the following shared carts:

Ordering in larger quantities can decrease the per-PCB cost considerably. In the case of resistors and capacitors it is recommended to order 100 of each as they are tiny and easily lost. Other parts can often be substituted as long as they have the same footprint and pinout. The pin headers will need to be cut to length in both of the carts above, in the case of the five PCBs option there should be enough to populate all five PCBs for the ESP32 AND the extension board (when available).

Optional parts

The following parts are optional depending on board usage:

PartMouser #Notes
J2, J4571-6-534237-1These are only needed for attaching an extension daughter board.
J5523-NY0210800000GThis is only required if using an external power supply.
Alternative part numbers

The following parts have compatible alternatives:

PartDefault Mouser #Alternative Mouser #Notes
J2, J4571-6-534237-1992-13FX1-254MM, 485-598, 485-4158, 485-4156, 485-4159, 485-4157, 485-4155, 485-4160Parts 485-XXXX will need to be cut to the correct length.
J6, J7571-5569284-1534-949 or 493-HCJV1-812UK

Extending the base board

The ESP32 OpenLCB IO Board can be extended by using the pcb-ext daughter board files as a basis for creating a compatible extension PCB. This PCB sits on top of the base board.

16 Channel PWM generator expansion

The first expansion board is the 16 Channel PWM generator board, this is usable for Servo or LED control. This expansion board utilizes a PCA9685 to generate 16 PWM signals which are routed to a three pin header (GND, 5V and PWM) for each output.

Extension PCB as Servo controller

Parts

33
QtyValueFootprintReferences
16PWMConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ1, J2, J3, J4, J5, J6, J7, J8, J9, J10, J11, J12, J13, J14, J15, J16
4DNPCapacitor_THT:CP_Radial_D8.0mm_P3.50mmC2, C3, C4, C5
2220RResistor_SMD:R_Array_Convex_8x0602RN1, RN2
22K4Resistor_SMD:R_0603_1608MetricR2, R3
24k7Resistor_SMD:R_0603_1608MetricR5, R6
110KResistor_SMD:R_0603_1608MetricR1
110uFCapacitor_SMD:C_0603_1608MetricC1
1200KResistor_SMD:R_0603_1608MetricR4
1LEFT-EXTConnector_PinHeader_2.54mm:PinHeader_1x13_P2.54mm_VerticalJ17
1PCA9306Package_SO:TSSOP-8_3x3mm_P0.65mmU2
1PCA9685PWPackage_SO:TSSOP-28_4.4x9.7mm_P0.65mmU1
1RIGHT-EXTConnector_PinHeader_2.54mm:PinHeader_1x13_P2.54mm_VerticalJ18

Questions

How big is the Pcb servo PCB?

It measures 61 × 62 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Pcb servo use?

33 parts, built around the PCA9685PW and PCA9306D. 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 Pcb servo KiCad files?

From the atanisoft/Esp32OlcbIO repository on GitHub, at the commit this page was made from: the board is pcb-servo/pcb-servo.kicad_pcb and its schematic pcb-servo/pcb-servo.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Pcb servo design in my own project?

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

More from atanisoft/Esp32OlcbIO

2
  • 4 layers61 × 81 mmEsp32OlcbIO, the printed circuit board in 3D

    Esp32OlcbIO

    atanisoft/Esp32OlcbIO

    ESP32 OpenLCB IO Board

    52 parts12
  • 2 layers61 × 81 mmPcb ext, the printed circuit board in 3D

    Pcb ext

    atanisoft/Esp32OlcbIO

    ESP32 OpenLCB IO Board

    2 parts12

Similar boards

  • 2 layers120 × 103.9 mmRemote omnidirection droid v0.1, the printed circuit board in 3D

    Remote omnidirection droid v0.1

    eloicote/remote_omnidirectional_droid

    ESP32 based freemoving drone with a camera for FPV which utilizes three omniwheels in a delta formation to move freely in 3 dimensions

    85 partsGPL-3.0
  • 2 layers92 × 94 mmMain pcb, the printed circuit board in 3D

    Main pcb

    matthieuvigne/MiAM_robotics

    Generic repo for robotic projects with the former MiAM Eurobot team !

    56 parts5GPL-3.0
  • 4 layers94 × 50.8 mmUlx3s, the printed circuit board in 3D

    Ulx3s

    drandyhaas/KiCadRoutingTools

    A set of Python/Rust tools to aid routing in KiCad

    235 parts744MIT
  • 8 layers120 × 60 mmDFTBoard, the printed circuit board in 3D

    DFTBoard

    juliancoy/zynqPCB

    An 8-layer board in Kicad built upon Xilinx Zynq Chip. Includes sound output, HDMI, DDR3, and Arduino Uno style header for screen connection

    299 parts75MIT
  • 4 layers198 × 161 mmGPDI ULX3S panel, the printed circuit board in 3D

    GPDI ULX3S panel

    goran-mahovlic/ulx3s-extensions

    PMOD boards for ULX3S

    1,070 parts49
  • 4 layers77.1 × 63.8 mmPauline, the printed circuit board in 3D

    Pauline

    jfdelnero/Pauline

    Pauline Floppy disk dumper and Floppy drive emulator

    160 parts25