Skip to the content
PCBKitNew board
2 layers74.8 × 35.8 mmPen Plotter, the printed circuit board in 3D

The PCB Files for the Mini-Plotter

Size
74.8 × 35.8 mm
Copper layers
2
Thickness
1.6 mm
Parts
36
Nets
49
Pads
145
Tracks, vias
402, 11
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
5 Jan 2026
Updated
23 Jan 2026

Overview

Pen Plotter is an open-source printed circuit board by ashishjoy19, from the ashishjoy19/Mini-Plotter repository on GitHub. It is a 2-layer board of 74.8 × 35.8 mm with 36 parts on 49 nets, routed with 402 tracks and 11 vias.

It is built around the ESP32-WROOM-32E and ULN2803. Its parts include 10 resistors, 8 capacitors, 7 connectors, 3 ICs and 2 diodes. It belongs with the ESP32 boards of this library.

Main components

2

README

README.md

Electronics

⚡ Mini Plotter V2 – Electronics Documentation

Overview

This document covers the electronics subsystem of the Mini Plotter V project.

It is intended as a reference for coworkers, fabrication, debugging, and replication of the electronics and PCB.


Scope

Included

  • PCB design reference
  • Power architecture
  • Microcontroller pin mapping
  • Stepper driver connections
  • Peripheral interfaces

Board Details

ParameterValue
PCB NameMini Plotter V2 – Electronics
Layers2
Thickness1.6 mm
Copper Weight1 oz
AssemblyThrough-hole + SMD
Logic Voltage3.3V
Motor Voltage5V DC

Power Architecture

Power Input

  • External DC input - USB C (Power only)
  • Recommended supply: 5V

Voltage Rails

  • Motor Rail: Direct from input to stepper drivers
  • Logic Rail: Regulated 3.3V for MCU and peripherals

Electrical Notes

⚠️ Important

  • Power supply must handle motor current peaks
  • Logic and motor grounds are common
  • Do not connect or disconnect motors while powered

MCU Pin Mapping

GPIO Pin Mapping (Grouped)

Motor 1 (Stepper)

LabelGPIO
IN1GPIO 23
IN2GPIO 22
IN3GPIO 21
IN4GPIO 19

Motor 2 (Stepper)

LabelGPIO
IN5GPIO 18
IN6GPIO 17
IN7GPIO 16
IN8GPIO 4

Servo Motor

LabelGPIO
SIGNALGPIO 13
VCC5V
GNDGND

Limit Switches

SwitchSignal GPIOGround
X LimitGPIO 27GND
Y LimitGPIO 14GND

⚡ ESP32-WROOM-32E – PCB Design & Boot Guidelines

This document provides electronics design guidelines for using the ESP32-WROOM-32E module in custom PCBs.

It focuses on:

  • Boot and flashing requirements
  • Strapping pins and default states
  • Pins to avoid or use with caution
  • Minimum required external circuitry
  • PCB layout considerations

ESP32-WROOM-32E Overview

  • MCU: ESP32 (dual-core Xtensa LX6)
  • Operating Voltage: 3.3V
  • Wi-Fi + Bluetooth on-module
  • Integrated antenna (keep-out required)

⚠️ All GPIOs are 3.3V only. Do NOT apply 5V.


Minimum Circuit for Boot & Flash

::contentReference[oaicite:0]{index=0}

Mandatory Connections

PinRequirement
3V3Stable 3.3V supply (≥ 600 mA peak)
GNDSolid ground connection
ENPulled HIGH (via 10kΩ)
IO0Pulled HIGH (via 10kΩ)
TX0 (GPIO1)UART TX for flashing
RX0 (GPIO3)UART RX for flashing

Boot & Flash Logic

Boot Mode Selection

IO0 StateBoot Mode
HIGHNormal boot (flash)
LOWUART download (flashing)

To flash firmware:

  • IO0 = LOW
  • EN toggled LOW → HIGH (reset)

Strapping Pins (CRITICAL)

These pins are sampled at reset.
Incorrect levels will prevent booting.

GPIODefault StateFunction
GPIO0Pull-upBoot mode select
GPIO2Pull-downMust be LOW at boot
GPIO4Pull-downBoot config
GPIO5Pull-upBoot config
GPIO12Pull-downFlash voltage select
GPIO15Pull-upBoot config

⚠️ Do not drive these pins externally at boot unless you know the impact.


Pin Usage Guidelines

Pins to Avoid (or Use Carefully)

GPIOReason
GPIO6–11Connected to internal flash (DO NOT USE)
GPIO0Boot mode pin
GPIO2Must be LOW during boot
GPIO12Affects flash voltage
GPIO15Boot strapping pin

Recommended Safe GPIOs

GPIONotes
GPIO4Safe after boot
GPIO5Safe after boot
GPIO16–19General purpose
GPIO21–23I²C / SPI friendly
GPIO25–27ADC capable
GPIO32–33ADC + low power
GPIO34–39Input-only (ADC)

Pull-Up / Pull-Down Requirements

Required External Resistors

PinRecommended
EN10kΩ pull-up to 3.3V
IO010kΩ pull-up
GPIO210kΩ pull-down
GPIO1210kΩ pull-down
GPIO1510kΩ pull-up

⚠️ Internal pulls exist but external resistors improve reliability.


Reset & Auto-Flash Circuit (Recommended)

For USB-UART auto programming:

ESP32 PinUSB-UART Signal
ENDTR (via transistor)
IO0RTS (via transistor)
RX0TXD
TX0RXD

This allows flashing via:

  • Arduino IDE
  • ESP-IDF
  • PlatformIO

Power Supply Design Notes

  • Use LDO or buck regulator capable of 600–800 mA
  • Place 10µF + 0.1µF decoupling capacitors close to 3V3 pin
  • Keep power traces wide and short

⚠️ Brownouts are the #1 cause of ESP32 instability.


Antenna & RF Layout Rules

⚠️ Very Important

  • Keep copper clear under antenna
  • No ground pours or traces under antenna area
  • Follow Espressif keep-out recommendations
  • Place module at PCB edge if possible

Common Design Mistakes

❌ Powering ESP32 from 5V
❌ Using GPIO6–11
❌ Driving strapping pins at boot
❌ Weak 3.3V regulator
❌ Traces under antenna


Recommended Bring-Up Checklist

  1. Verify 3.3V rail (no load)
  2. Check EN pulled HIGH
  3. Check IO0 pulled HIGH
  4. Reset → observe serial output
  5. Pull IO0 LOW → reset → flash test firmware

Reference

  • ESP32-WROOM-32E Datasheet
  • Espressif Hardware Design Guidelines

Notes

This document is intended for PCB designers and electronics engineers working with ESP32-WROOM-32E in custom hardware.

Keep this file updated if pin usage or constraints change.

Parts

36
QtyValueFootprintReferences
610Kfab:R_1206R1, R4, R8, R9, R10, R11
4~fab:MountingHole_M3H1, H2, H3, H4
30.1uFfab:C_1206C2, C7, C8
310uFfab:C_1206C1, C4, C5
20fab:R_1206R5, R6
2100fab:R_1206R2, R3
11uFfab:C_1206C3
16120XX21621_612006216216 Pin Male-Box Header:61200621621J5
1Boot-GPIO0fab:Button_Omron_B3SN_6.0x6.0mmSW2
1CP_Elec_100uF_Panasonic_EEE-FN1E101ULfab:CP_Elec_100uF_Panasonic_EEE-FN1E101ULC9
1ESP32-WROOM-32ERF_Module:ESP32-WROOM-32DU1
1Greenfab:LED_1206D2
1Motor 1B5B-XH-A:JST_B5B-XH-AJ2
1Motor 2B5B-XH-A:JST_B5B-XH-AJ3
1Redfab:LED_1206D1
1Regulator_Linear_3.3V_1A_DiodesIncorporatedfab:SOT-223-3_TabPin2U2
1Reset-ENfab:Button_Omron_B3SN_6.0x6.0mmSW1
1ServoB3B-XH-A:JST_B3B-XH-AJ4
1ULN2803ULN2803:SO18LU4
1USB4125-GF-A_REVA2USB4125-GF-A_REVA2:GCT_USB4125-GF-A_REVA2J1
1X LimB2B-XH-A_LF__SN_:JST_B2B-XH-A_LF__SN_J8
1Y LimB2B-XH-A_LF__SN_:JST_B2B-XH-A_LF__SN_J6

Questions

How big is the Pen Plotter PCB?

It measures 74.8 × 35.8 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Pen Plotter use?

36 parts, built around the ESP32-WROOM-32E and ULN2803. 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 Pen Plotter KiCad files?

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

Can I use the Pen Plotter design in my own project?

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

Similar boards

  • 2 layers31.7 × 58.4 mmOSTR, the printed circuit board in 3D

    OSTR

    aspro648/OSTR

    Open Source Turtle Robot

    32 parts88
  • 2 layers88.9 × 142.2 mmMiniJoyMiniStepper, the printed circuit board in 3D

    MiniJoyMiniStepper

    Believotron/Believotronics

    Believotronics is a low-cost DIY open source robotics platform you can print and build at work or from home. Our first projects are a MicroscopeBot and a ThroughholeSolderBot.

    94 parts8MIT
  • 2 layers120 × 80 mmRB2AMPController, the printed circuit board in 3D

    RB2AMPController

    pa3gsb/RB2AMPController

    Radioberry 2.0 Amp Controller

    67 parts7
  • 2 layers100 × 86.5 mmSensactHs, the printed circuit board in 3D

    SensactHs

    klaus-liebler/sensact

    Es gibt vier Namespaces für Nachrichten "REQUEST" und "RESPONSE", "EVENT" und "ACKNOWLEDGE". Dies wird mit den beiden LSB des Versions-Namespace-Bytes erklärt (Somit bleiben 64 Versionierungsmöglichkeiten) Alle vier…

    319 parts4Apache-2.0
  • 2 layers160 × 111.4 mmMotordrive, the printed circuit board in 3D

    Motordrive

    mentarus/vend

    control boards for hackspace vending machine

    37 parts1
  • 2 layersDwmb, the printed circuit board in 3D

    Dwmb

    qweqq/dwmb

    Dude, where's my bike?!

    120 parts1MIT
  • 2 layers94.6 × 94.6 mmStar of devops, the printed circuit board in 3D

    Star of devops

    accelerando-consulting/star-of-devops

    The Star of Devops - an LED christmas star that you can control and update over wifi

    44 parts
  • 2 layers151 × 90.9 mmNucleo shield, the printed circuit board in 3D

    Nucleo shield

    clementleger/chc

    Configurable Home Controller

    77 partsGPL-3.0