Shard
PublicLoading 3D model… large boards can take a moment.
Shard - ESP32-S3 Development Board
Shard is a simple and open-source ESP32-S3 development board designed for prototyping and embedded development. Featuring a compact form factor with comprehensive GPIO access and high-performance specifications.
Table of Contents
Features
- High Performance: ESP32-S3 dual-core processor with WiFi and Bluetooth capabilities
- Generous Memory: 16 MB Flash storage
- Rich I/O: 21 configurable GPIO pins with UART, SPI, and I2C support
- Visual Feedback: Built-in addressable RGB LED (Neopixel)
- Flexible Power: Supports external power supply up to 16V
- Compact Design: Small form factor (4.6 × 4.8 cm) ideal for prototyping
Specifications
| Feature | Specification |
|---|---|
| MCU | ESP32-S3 dual-core Xtensa LX7 |
| Flash Memory | 16 MB |
| GPIO Pins | 21 |
| Connectivity | WiFi 802.11 b/g/n, Bluetooth 5.0 LE |
| Power Input | 3.3V - 16V (external), 5V (USB) |
| Dimensions | 46 × 48 mm |
| LED Indicator | Addressable RGB (Neopixel) |
| Buttons | Reset, Boot |
Getting Started
Power Supply
- USB Power: 5V via USB-C
- External Power: 3.3V - 16V via power pins
Programming
Upload Process
Since the board lacks a built-in USB-UART bridge, firmware uploads require manual boot sequence:
- Initiate Upload: Start the upload process in your IDE
- Enter Download Mode:
- Press and hold the RESET button
- Press and release the BOOT button
- Release the RESET button
- Complete Upload: Wait for upload to finish
- Exit Download Mode: Press RESET button to start execution
Arduino IDE Setup
Installation
-
Install the ESP32 board package:
-
Open Arduino IDE 2.x
-
Go to File → Preferences
-
Add to Additional Board Manager URLs:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json -
Go to Tools → Board → Boards Manager
-
Search for "esp32" and install
-
-
Board Configuration:
- Select Tools → Board → ESP32 Arduino → UM-PROS3
- Set Upload Speed: 921600
- Set Flash Size: 16MB
- Set Partition Scheme: Default 16MB with spiffs
PlatformIO Setup
Create a platformio.ini file in your project root:
[env:env:esp32-s3-shard]
platform = espressif32
board = shard ; or `um-pros3`
framework = arduino
board_build.flash_mode = dio
board_build.flash_size = 16MB
board_build.partitions = default_16MB.csv
To use my custom board config file shard.json, download it and place it under the boards folder inside your project.
Optional Custom Partition Table
This is the default partition table (partitions.csv):
# Name , Type, SubType, Offset , Size , Flags
nvs , data, nvs , 0x9000 , 0x5000 ,
otadata, data, ota , 0xe000 , 0x2000 ,
app0 , app , ota_0 , 0x10000 , 0x700000,
app1 , app , ota_1 , 0x710000, 0x700000,
spiffs , data, spiffs , 0xe10000, 0x1F0000,
To specify a different partition table, modify the partitions entry inside shard.json
Follow the upload process when programming with PlatformIO.
Pinout
Pin Mapping Summary
| Function | GPIO Pins | Notes |
|---|---|---|
| Digital I/O | GPIO1-21 | 3.3V logic level |
| ADC | GPIO1-14 | 12-bit resolution |
| Touch | GPIO1-14 | Capacitive touch sensing |
| SPI | Configurable | |
| I2C | Configurable | |
| UART | Configurable | TX, RX |
| PWM | All GPIO | |
| RGB LED | GPIO21 | Built-in addressable LED |
Hardware Design
All design files are open-source and available in this repository:
- Schematic:
Shard.kicad_schorShard.pdf - PCB Layout:
Shard.kicad_pcb - Gerber Files:
shard-gerbers/ - Bill of Materials:
Shard_BOM.xlsx - Part Placement:
Shard_CPL.xlsx
Contributing
Feel free to open a pull request or an issue
References
This project is licensed under the MIT License - see the LICENSE file for details.
No comments yet. Be the first to ask about this board.