Skip to the content
4 layers100 × 75 mmAmidalaShield, the printed circuit board in 3D

The ESP32 Shield designed specifically for using the Amidala Firmware

Size
100 × 75 mm
Copper layers
4
Thickness
1.6 mm
Parts
37
Nets
63
Pads
193
Tracks, vias
316, 359
Pours
4
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
3 May 2026
Updated
12 Jun 2026

Overview

AmidalaShield is an open-source printed circuit board by thePunderWoman, from the thePunderWoman/AmidalaBoard repository on GitHub. It is a 4-layer board of 100 × 75 mm with 37 parts on 63 nets, routed with 316 tracks and 359 vias.

It is built around the ESP32-S3-DEVKITC-1-N8. Its parts include 8 capacitors, 4 resistors and 2 connectors. It belongs with the ESP32 boards of this library.

Main components

1

README

README.md

AmidalaBoard (AmidalaShield)

A custom KiCad PCB shield designed specifically for the Amidala Firmware — a control system for astromech and similar droid builds. This board provides all the I/O the firmware needs in a single, purpose-built package.

Designed by thePunderWoman


Overview

The AmidalaShield is a carrier/breakout board for the ESP32-S3 N16R8 DevKit. It breaks out and conditions the ESP32-S3's peripherals for the specific needs of the Amidala Firmware: wireless XBee communication, multi-channel servo control, RC receiver input, SD card storage, and expansion headers for additional peripherals.


Requirements

  • Microcontroller: ESP32-S3 N16R8 DevKit (16 MB flash, 8 MB PSRAM)
  • Wireless modules: XBee3 modules (x2 recommended — one for drive controller, one for dome controller)

Hardware Features

Wireless Communication

  • 2× XBee3 module sockets for dual-controller operation (drive + dome)

Servo Control

  • 8× PWM servo outputs — 3-pin headers (signal, power, ground)

Serial Ports

  • 2× hardware serial ports — UART0 (shared with USB/programming) and UART1
  • 1× software serial port — for additional peripherals

I/O

  • 6× digital I/O pins
  • 2× analog input pins
  • 1× Aux I2C header — for external I2C devices

RC Control

  • PPM input (ppmin) — for analog RC receiver
  • RC select (rcsel) — RC source selection
  • sel2 — secondary selection/mode pin

Storage

  • Built-in microSD card reader — used for config.txt at startup (matches Amidala Firmware config system)

Expansion

  • Dedicated SPI header — for external SPI peripherals

Repository Contents

File/FolderDescription
AmidalaShield.kicad_schTop-level schematic
comms.kicad_schXBee communications sub-sheet
io.kicad_schDigital/analog I/O sub-sheet
power.kicad_schPower distribution sub-sheet
rc_control.kicad_schRC input sub-sheet
servos.kicad_schServo output sub-sheet
spi.kicad_schSPI header sub-sheet
gerbers/Production-ready Gerber files
libraries/Project-specific KiCad symbol/footprint libraries
images/Board renders and screenshots

Getting Started

  1. Clone this repo and open AmidalaShield.kicad_pro in KiCad 8+.
  2. Review the schematics for pin assignments before assembling.
  3. Use the Gerber files in gerbers/ to order PCBs from your preferred fab.
  4. Flash your ESP32-S3 with the Amidala Firmware.
  5. Place a config.txt on the microSD card — see the firmware repo for a full annotated example.

GPIO Table

V1.1 — Updated GPIO assignments for ESP32-S3 WROOM-1 N8R2/N16R2 (Quad flash/PSRAM). Avoid GPIO35–37 on R8 (Octal) variants. GPIO48 reserved for onboard RGB LED.

FunctionGPIODevKit SideNotes
SPI MOSIGPIO11LeftNative FSPI, shared bus
SPI MISOGPIO13LeftNative FSPI, shared bus
SPI SCKGPIO12LeftNative FSPI, shared bus
SD Card CSGPIO10Left
XBee CSGPIO7Left
SPI Spare CSGPIO14LeftExposed header
XBee ATTNGPIO16Left
XBee SLEEPGPIO15Left
I2C SDAGPIO8LeftNative I2C default
I2C SCLGPIO9LeftNative I2C default
UART0 TXGPIO43RightShared w/ USB — do not use simultaneously
UART0 RXGPIO44RightShared w/ USB — do not use simultaneously
UART1 TXGPIO17RightPrimary droid brain serial
UART1 RXGPIO18Right
SW-UART TXGPIO21Right
SW-UART RXGPIO38Right
PPMINGPIO47Right
Analog 1GPIO1RightADC1_0, WiFi-safe
Analog 2GPIO2RightADC1_1, WiFi-safe
Servo 1GPIO3LeftStrapping pin (JTAG source), safe after boot
Servo 2GPIO4Left
Servo 3GPIO5Left
Servo 4GPIO6Left
Digital 1GPIO39RightGoes HIGH after reset (not LOW like most GPIOs)
Digital 2GPIO40Right
Digital 3GPIO41Right
Digital 4GPIO42RightTransitions low on reset slightly slower
RGB LEDGPIO48RightReserved — onboard DevKit RGB LED
NCGPIO8LeftReserved

Pins Intentionally Avoided

GPIOReason
GPIO0Strapping pin — boot mode
GPIO3Strapping pin — JTAG source (used for Servo 1, safe after boot)
GPIO19/20USB D-/D+
GPIO26–32Internal SPI flash/PSRAM — never use
GPIO35–37Internal on Octal (R8) variants — safe on R2 only
GPIO45Strapping pin — VDD_SPI voltage
GPIO46Strapping pin

License

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

You are free to share and adapt this design for non-commercial purposes, as long as you give appropriate credit and distribute any adaptations under the same license.

Parts

37
QtyValueFootprintReferences
410kResistor_SMD:R_0603_1608MetricR1, R2, R3, R5
3100nCapacitor_SMD:C_0603_1608MetricC1, C2, C3
210uCapacitor_SMD:C_0805_2012MetricC4, C7
11Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ_Servo1
1100µFCapacitor_Tantalum_SMD:CP_EIA-3216-18_Kemet-AC9
11uCapacitor_SMD:C_0603_1608MetricC5
12Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ_Servo2
13Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ_Servo3
14Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ_Servo4
18.2pCapacitor_SMD:C_0603_1608MetricC6
1A1Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ_Analog1
1A2Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ_Analog2
1Aux I2CConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalI2C1
1D1Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ_Digital1
1D2Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ_Digital2
1D3Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ_Digital3
1D4Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ_Digital4
1ESP32-S3-DevKitCExpressIf:ESP32-S2-DevKitC-1ESP32-S3
1LOGOAmidala:amidala-silkscreenG***
1Micro_SD_CardConnector_Card:microSD_HC_Hirose_DM3AT-SF-PEJM5J3
1PPMINConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ_PPMIN1
1SPIConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalSPI1
1Screw_Terminal_01x02TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_HorizontalJ1
1Serial0Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalSerial0
1Serial1Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalSerial1
1Serial2Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalSWSerial1
1XB3-24Z8UT-JXbee3:XB324Z8UTJXBee3

The 33 most common of 37 parts.

Similar boards

  • 4 layers95 × 95 mmCube motherboard, the printed circuit board in 3D

    Cube motherboard

    willem-pennings/balancing-cube

    A cube that balances itself in a corner or edge using reaction wheels

    52 parts1.1kGPL-3.0
  • 2 layers129.9 × 63.6 mmTraeger rev 2.3.0.kicad pro, the printed circuit board in 3D

    Traeger rev 2.3.0.kicad pro

    jazzmonger/Traeger-PID-Controller

    Traeger Smoker/Grill Controller based on an

    45 parts36
  • 2 layers168.8 × 78.9 mmGameboy3, the printed circuit board in 3D

    Gameboy3

    ohasanov-hbrw/tribit32-advanced

    A tri-microcontroller, overengineered GameBoy Advance clone. More value was given to the controls and the exterior look, which is cool!

    61 parts8
  • 2 layers134.6 × 49.5 mmMem esp, the printed circuit board in 3D

    Mem esp

    fread/visvitalis

    A very simple modular relay computer

    71 parts7
  • 2 layers90 × 102 mmPL Toon, the printed circuit board in 3D

    PL Toon

    pl-toon/pl-toon-codes

    PL-TOON material

    39 parts7
  • 2 layers119.4 × 98.9 mmPCB Pami, the printed circuit board in 3D

    PCB Pami

    FIPATECH/CDFR26_PAMI

    Open source firmware and PCB for a differential mobile robot (PAMI) based on ESP32-S3 - Coupe de France de Robotique

    25 parts6
  • 2 layers76.2 × 40.6 mmEspressifESP32toExpressAdaptor, the printed circuit board in 3D

    EspressifESP32toExpressAdaptor

    dnhutchins/ETC_Express_Reverse_Eng

    The ultimate goal of this work is to develop an interface to use the control surface from a legacy ETC Express 24/48 lighting controller as a modern EOSNomad compatible programming and fader wing.

    3 parts5
  • 2 layersE ink multi sensor, the printed circuit board in 3D

    E ink multi sensor

    heckler/esphome-device-configs

    Configuration definitions for local ESPHome files

    11 parts4Apache-2.0

Questions

How big is the AmidalaShield PCB?

It measures 100 × 75 mm and has 4 copper layers, 1.6 mm thick.

What parts does the AmidalaShield use?

37 parts, built around the ESP32-S3-DEVKITC-1-N8. 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 AmidalaShield KiCad files?

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

Can I use the AmidalaShield design in my own project?

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