
Minicopter
darshg321/Minicopter
Compact and precise ESP-32 based drone capable of autonomous pathing, built from scratch

ESP32 based GPS bike navigation
KoloMapa2EINK is an open-source printed circuit board by utydfd, from the utydfd/BikeNav repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 38 × 101 mm with 34 parts on 55 nets, routed with 685 tracks and 141 vias.
It is built around the ESP32-S3-WROOM-1-N8, SPX3819M5-L-3-3 and TP4056-42-ESOP8. Its parts include 8 capacitors, 8 resistors, 8 switches, 5 ICs and 3 connectors. It belongs with the lEDs and displays boards and the ESP32 boards of this library.
An GPS navigation(originally intended for biking) with an E-ink screen, ESP32-S3 MCU and an SD card. This repository contains code for the Arduino project and an Android app, as well as a PCB designed in KiCad and a case designed in Fusion 360.
It uses standard raster 256x256px map tiles, right now from OSM, but can be changed to others.
The tiles are saved on the SD card in a ZOOM_LEVEL/X/Y.tile folder structure as 1 bit bitmap images.
Either import a GPX track or plan right inside the app(right now using project OSRM API), it downloads the required map tiles and saves them.
I can pick a trip from the main screen and send it over to the ESP via BLE, first the GPX is sent and then the tiles. They are converted from PNG to bitmap, compressed using RLE for faster transfers. The ESP is saving them to the SD card as they come. It’s also appending an index of tiles, which is sent from the ESP to the app, so that only the missing tiles are sent.
The home screen contains smartphone like icons to "apps". The main one is obviously the map, which by default shows the current location. Pressing options brings up list of saved trips, clicking on it shows the preview and i can also start the navigation.
When navigating, the map rotates based on the upcoming GPX track; it shows the next turn distance and turn arrow(just calculated based on the angle of the turn). There are also screens for the progress and elevation graph. The GPX is loaded into PSRAM (512kb allocated) and PSRAM is also used for caching the map tiles (~6MB allocated).
Other apps include the speedometer, phone(which has music controls along with battery %), weather(phone fetches from an API the forecast and also rain radar images), tracker(for recording GPX tracks), info(was used for debugging, has GPS, SD and battery statuses) and also mines and snake games. Those are not ideal but playable on the E-ink.
Its on a custom PCB, a standard 2 layer one. There are 2 regulators, one powering the ESP and other parts and the other solely for powering the front light - it has the EN pin connected to a GPIO so its controlled in software. The GPS module is connected via UART and also has an EN pin controllable. Micro SD card and the display are connected via SPI to the ESP. There is a TP4056 chip for charging, without the LEDs - its connected to the ESP so it can know the charging status.
For control, there is a rotary encoder(with a button) and 4 more buttons. The battery voltage is monitored with the ESP.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 6 | C | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C1, C2, C3, C4, C5, C6 |
| 6 | SW_Push | Button_Switch_THT:SW_PUSH_6mm | SW2, SW3, SW4, SW5, SW6, SW8 |
| 5 | R | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R1, R2, R4, R5, R6 |
| 2 | Conn_01x02_Pin | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J1, J3 |
| 2 | R | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P2.54mm_Vertical | R7, R8 |
| 2 | SPX3819M5-L-3-3 | Package_TO_SOT_SMD:SOT-23-5 | U2, U5 |
| 1 | 2 | SD:SD | SD1 |
| 1 | C | Capacitor_SMD:C_0402_1005Metric | C7 |
| 1 | C | Capacitor_SMD:C_0504_1310Metric | C8 |
| 1 | Conn_01x05_Pin | Connector_PinHeader_2.00mm:PinHeader_1x05_P2.00mm_Vertical | J4 |
| 1 | ESP32-S3-WROOM-1 | RF_Module:ESP32-S3-WROOM-1 | U1 |
| 1 | R | Resistor_SMD:R_0402_1005Metric | R3 |
| 1 | RotaryEncoder_Switch | Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm | SW1 |
| 1 | SW_Push_SPDT | Button_Switch_THT:SW_Slide_SPDT_Straight_CK_OS102011MS2Q | SW7 |
| 1 | TP4056-42-ESOP8 | Package_SO:SOIC-8-1EP_3.9x4.9mm_P1.27mm_EP2.41x3.3mm_ThermalVias | U3 |
| 1 | ~ | EINK:EINK | EINK1 |
| 1 | ~ | USB:Untitled | U4 |
It measures 38 × 101 mm and has 2 copper layers, 1.6 mm thick.
34 parts, built around the ESP32-S3-WROOM-1-N8, SPX3819M5-L-3-3 and TP4056-42-ESOP8. 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.
From the utydfd/BikeNav repository on GitHub, at the commit this page was made from: the board is PCB/KoloMapa2EINK.kicad_pcb and its schematic PCB/KoloMapa2EINK.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

darshg321/Minicopter
Compact and precise ESP-32 based drone capable of autonomous pathing, built from scratch



AleksaHeler/FlexNode
FlexNode is a DIY "smart home" system with a single hub and multiple flexible and customizable nodes



EmmetGameDev/NevoltaNexusConsole
Repository for design files and code for the Nexus console.

milovanpms/talk-e
📻 — A simple LoRa-based talkie-walkie built on ESP32, operating on the 433 MHz frequency band for long-range, low-power wireless communication.