Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
# Shard - ESP32-S3 Development Board

[](https://opensource.org/licenses/MIT)
[](https://kicad.org/)
[](https://www.espressif.com/en/products/socs/esp32-s3)
**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](#features)
- [Specifications](#specifications)
- [Getting Started](#getting-started)
- [Programming](#programming)
- [Pinout](#pinout)
- [Hardware Design](#hardware-design)
- [Contributing](#contributing)
## 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:
1. **Initiate Upload**: Start the upload process in your IDE
2. **Enter Download Mode**:
- Press and hold the **RESET** button
- Press and release the **BOOT** button
- Release the **RESET** button
3. **Complete Upload**: Wait for upload to finish
4. **Exit Download Mode**: Press **RESET** button to start execution
### Arduino IDE Setup
#### Installation
1. Install the ESP32 board package:
- Open Arduino IDE 2.x
- Go to **File** → **Preferences**
- Add to Additional Board Manager URLs:
```text
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
```
- Go to **Tools** → **Board** → **Boards Manager**
- Search for "esp32" and install
2. 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:
```ini
[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`):
```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](#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_sch` or `Shard.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
- [ESP32-S3 Hardware Design Guidelines](https://docs.espressif.com/projects/esp-hardware-design-guidelines/en/latest/esp32s3/esp-hardware-design-guidelines-en-master-esp32s3.pdf)
- [ESP32-S3 Datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-s3_datasheet_en.pdf)
- [Arduino ESP32 Documentation](https://docs.espressif.com/projects/arduino-esp32/en/latest/)
---
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
41916c9f1This file is pinned to the selected release. Download the original to open it in your design tool.