# MeshAdventurer-S3

**Project Name:** MeshAdventurer-S3  
**Author:** Nickie Deuxyeux  
**Date:** 2026-03-19  
**License:** Creative Commons (CC BY)  

---

## Description
The MeshAdventurer-S3 is a universal mesh radio designed for use in LoRA mesh networks such as **Reticulum**, **Meshtastic**, and **MeshCore**.
It is inspired by [MeshAdventurer](https://github.com/chrismyers2000/MeshAdventurer) project by Chris Myers.

- Based on the widely available ESP32-S3-DevKit-C clone board  
- LoRA modules: [EByte E22-series](https://www.cdebyte.com/products/E22-900M30S)

Key features:
- **Fully featured for all popular mesh networks  
- **Wide input voltage support for convenient mobile usage  
- **GPIO headers for easy customization and expandability  
- **Optional DS3231 RTC for timekeeping  
- **Optional I²C environment sensor support (BME280, BME680, etc)  
- **Optional ATGM336H GNSS receiver support  
- **Optional EC11 Rotary Encoder support  

This repository contains the KiCad project files, PCB schematics, board images, Gerbers for fabrication. A case design is also available as a Fusion 360 project and a set of STL files for 3D printing.
You are welcome to alter the design to fit your requirements.
---

## Project Structure
```
MeshAdventurer-S3/
├── Case/
│ ├── STL/                            # Case part files
│ ├── MeshAdventurer-S3.f3d           # Fusion 360 Project
├── KiCad/
│ ├── MeshAdventurer-S3.kicad_pcb     # PCB layout
│ ├── MeshAdventurer-S3.kicad_prl     # PCB plot file
│ ├── MeshAdventurer-S3.kicad_pro     # Project file
│ └── MeshAdventurer-S3.kicad_sch     # Schematic
├── Images/
│ ├── MeshAdventurer-S3-Front.png     # Front layer image
│ ├── MeshAdventurer-S3-Back.png      # Back layer image
│ └── MeshAdventurer-S3-Schematic.png # Schematic overview
├── Gerbers/
│ └── Gerbers-MeshAdventurer-S3.zip   # Exported Gerbers for fabrication
└── README.md                         # This file
```
## Images

<table>
<tr>
<td align="center">
<img src="Images/MeshAdventurer-S3-Front.png" alt="Front View" width="300"/>
</td>
<td align="center">
<img src="Images/MeshAdventurer-S3-Back.png" alt="Back View" width="300"/>
</td>
<td align="center">
<img src="Images/MeshAdventurer-S3-Case.png" alt="Case" width="300"/>
</td>
</tr>
<tr>
<td align="center">Front View</td>
<td align="center">Back View</td>
<td align="center">Case</td>
</tr>
</table>

## Pin Assignments
<table>
<tr>
<td align="center">LoRa Module</td>
<td align="center">GNSS Module</td>
<td align="center">I2C</td>
<td align="center">Other</td>
</tr>
<tr>
<td valign="top">

| Signal        | GPIO |
|---------------|------|
| SCLK(SCK)     | 1    |
| RST           | 2    |
| MISO          | 40   |
| CS(NSS)       | 39   |
| TXEN          | 38   |
| DIO2          | 37   |
| MOSI          | 18   |
| BUSY          | 7    |
| DIO(IRQ)      | 15   |
| RXEN          | 8    |
</td>
<td valign="top">

| Signal        | GPIO |
|---------------|------|
| RX            | 3    |
| TX            | 21   |
| PPS           | 5    |
</td>
<td valign="top">

| Signal        | GPIO |
|---------------|------|
| SCL           | 42   |
| SDA           | 41   |
</td>
<td valign="top">

| Function      | GPIO |
|---------------|------|
| User Button   | 4    |
| NeoPixel LED  | 48   |
| Encoder Up    | 36   |
| Encoder Press | 35   |
| Encoder Down  | 0    |
| Voltage Sense | 6    |
</td>
</tr>
</tr>
</table>

## Schematic
![Schematic](Images/MeshAdventurer-S3-Schematic.png)  

## Bill Of Materials
<table>
<tr>
<td align="center">🔳Modules & Semiconductors</td>
<td align="center">📺Displays & UI</td>
<td align="center">⚡Capacitors</td>
</tr>
<tr>
<td valign="top">

| Ref | Qty | Part           | Description                       | Footprint |
| --- | --- | -------------- | --------------------------------- | --------- |
| U1  | 1   | LM7805         | 5V linear regulator               | TO-252    |
| U2  | 1   | E22-900M30S    | LoRa module                       | Custom    |
| U3  | 1   | BME280         | Temp / Humidity / Pressure sensor | Custom    |
| U4  | 1   | ESP32-S3-N16R8 | MCU + Flash + PSRAM               | Custom    |
| U5  | 1   | ATGM336H       | GPS module                        | Custom    |
| U6  | 1   | DS3231M        | RTC                               | SOIC-16   |
| Q1  | 1   | 2SC1815        | NPN transistor                    | SOT-23    |
</td>
<td valign="top">

| Ref  | Qty | Part                         | Description              |
| ---- | --- | ---------------------------- | ------------------------ |
| PCB1 | 1   | SSD1306-OLED                 | OLED display module      |
| ENC1 | 1   | EC11E Rotary Encoder         | Rotary encoder with push |
| SW1  | 1   | SPST Push Button             | User input               |
| BZ1  | 1   | Buzzer                       | Audio indicator          |
</td>
<td valign="top">

| Ref         | Qty | Value   | Notes                  | Footprint    |
| ----------- | --- | ------- | ---------------------- | ------------ |
| C1          | 1   | 0.33µF  | regulator input        | ECAP 4x3.9   |
| C2          | 1   | 100nF   | Decoupling             | 0805         |
| C3, C4      | 2   | 100µF   | Bulk                   | Tantalum     |
| C5, C6, C7  | 3   | 100nF   | Decoupling             | 0603         |
| C8, C9, C10 | 3   | 10nF    | Filtering              | 0603         |
</td>
</tr>
</tr>
</table>

<table>
<tr>
<td align="center">🔩Resistors</td>
<td align="center">🔗Connectors</td>
</tr>
<tr>
<td valign="top">

| Ref               | Qty | Value | Footprint |
| ----------------- | --- | ----- | --------- |
| R1,R2,R6,R7,R9    | 5   | 10KΩ  | 0603      |
| R3                | 1   | 100KΩ | 0603      |
| R4,R5,R10,R11,R12 | 5   | 1KΩ   | 0603      |
| R8                | 1   | 100Ω  | 0603      |

</td>
<td valign="top">

| Ref    | Qty | Part        | Description            |
| ------ | --- | ----------- | ---------------------- |
| J1, J2 | 2   | 61302011821 | 1x20 2.54mm pin header |
</td>
</tr>
</tr>
</table>

## License
This project is licensed under **Creative Commons Attribution (CC BY)**. You may share and adapt the material as long as appropriate credit is given.
