▶ Watch the Scribe 2025 Demo on YouTube
Scribe is a compact device designed to enhance productivity and memory retention. With a slim width of just 12mm, it incorporates a custom PCB for a sleek and efficient design. This device features an OLED screen, Bluetooth connectivity for seamless communication with PC, and a rechargeable LiPo battery with built-in protection and charging circuit.
This repository contains the firmware and hardware design files for the Scribe device.
Companion App: Scribe App - The software interface for sending data to Scribe.
- Core: ESP32-S3 Microcontroller for powerful processing and connectivity.
- Display: 0.91 Inch OLED (128x32) for clear text display.
- Connectivity:
- Bluetooth Low Energy (BLE) for communication with the Scribe App.
- WiFi capabilities for AI integration.
- AI Integration: Features AI-powered functions (e.g., Gemini integration) for enhanced utility.
- Power:
- Rechargeable LiPo battery.
- Built-in charging and protection circuit.
- Battery voltage monitoring.
- Input: Physical system button for navigation and control.
The primary function of Scribe is to assist with memory and organization. Users can send text strings via the Scribe App, which the Scribe firmware processes and organizes into pages. This helps users keep track of important notes, dates, and names, enhancing their ability to recall information easily.
The schematic for Scribe outlines a compact and efficient design, featuring an ESP32-S3 microcontroller for core processing and Bluetooth connectivity. It includes a LiPo battery charging and protection circuit, a 3.3V regulator for stable power, and connections for an OLED display and system button. Key components are protected with ESD diodes and filtering capacitors, ensuring reliable operation and robust performance.
The custom 12mm PCB is over 60% smaller than the V1 prototype.
- PCB Design: Available on OSHW Lab
| Name | Pin | Description |
|---|---|---|
| SCL | GPIO 4 | OLED Clock |
| SDA | GPIO 5 | OLED Data |
| BTN | GPIO 8 | System Button (Pulldown) |
| BAT | GPIO 2 | Battery Voltage Monitoring |
Note: The cartridge touch pin functionality was discontinued to utilize the pin (GPIO 2) for accurate battery voltage monitoring, correcting an issue in the initial design.
If you are replicating this project, please note the following mistakes in the original schematic:
- External SPI flash: The ESP32-S3FN8 already includes 8 MB of internal flash. The external SPI flash shown in the schematic is connected to the same SPI0/1 flash interface and should not be populated/used with this ESP32 variant. Either remove the external flash or use an ESP32-S3 variant without built-in flash.
- Battery ADC pin: The
BATADCsignal was originally routed to GPIO33, which is not ADC-capable on the ESP32-S3. RouteBATADCto one of the ESP32-S3's ADC-capable GPIOs instead.
The firmware is developed using PlatformIO and Arduino framework.
Important: Since Scribe uses a custom-built board, a specific Arduino setup is required for the ESP32-S3 features to function correctly. Please refer to the settings in the image below:
src/: Source code for the firmware.scribe.ino: Main firmware logic for page display and navigation.ai.ino: AI features and WiFi connectivity.
platformio.ini: Project configuration.






