Skip to content
Zen7qPublic

About

Pocket AI voice notebook with e-ink, Gemini and Obsidian on ESP32-S3 + Raspberry Pi. Optional e-reader, based on CrossPoint Reader / FreeInk.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

MindInk

MindInk · AI voice notebook

A pocket e-ink voice notebook that turns spoken thoughts into searchable notes. Built by BinioDev for the Waveshare ESP32-S3-ePaper-3.97, with a Raspberry Pi backend. Reading books is an additional feature; capturing and finding your thoughts is the main purpose.

MindInk uses custom MindOS firmware based on CrossPoint Reader and its FreeInk SDK. Credit for the original reader, UI foundations and shared device support belongs to their upstream authors. This is an independent adaptation.

Speak → save → find

  1. While the device is awake, hold PWR, speak, then release to stop recording.
  2. The device keeps the recording on the TF card and uploads it over Wi-Fi.
  3. The Pi uses Gemini to transcribe the speech and organize a new Markdown note into a suitable vault folder, keeping the language of the recording.
  4. Notes are indexed in ChromaDB. Ask a voice question to retrieve relevant notes and display a short answer on the e-ink screen.

You can open the vault in Obsidian. API failures leave recordings in a durable queue for later attempts. “Accepted, processing” means the server received the recording; it does not mean a Markdown note has already been saved.

What is included

Part Purpose
AI voice notes Microphone recording, transcription, folder selection, tags and Markdown creation
Search and questions Retrieval over your notes, with short answers based on retrieved material
Raspberry Pi service Browser setup, separate admin/device credentials, background startup and persistent queue
E-ink device Notes interface, local recording queue, sleep images and power management
Optional reader CrossPoint-based book reading, fonts, saved positions and TF-card library
Book preparation Backend EPUB/FB2 conversion and book API

The Pi stores your Markdown vault, index and processing queue. Google receives audio and note excerpts needed for Gemini requests. The device retains local recordings and result data on its card; it is not a cloud-only recorder.

Hardware and current status

  • Target: Waveshare ESP32-S3-ePaper-3.97, 800 × 480 e-paper, ES8311 microphone, TF card, rotary control and Li-Po battery.
  • Current transport: Wi-Fi. The board has no built-in cellular modem.
  • Firmware: the ws397 and ws397-selftest profiles have been built; the custom firmware has been flashed and exercised on the target board.
  • Backend: 73 automated tests pass with mocked Gemini. Live Pi processing has created Markdown notes from device recordings.
  • Languages: Ukrainian, English, Russian and Polish in the device UI.
  • TODO(verify): external A7672E modem wiring and 4G operation, battery runtime, recovery after power loss, and the full question/answer path on hardware.

This is an active hardware project, not a finished consumer appliance. Use the Waveshare profile for this project; upstream profiles and documentation are included for provenance and do not imply MindInk support on every upstream board.

Install on Raspberry Pi

Use 64-bit Raspberry Pi OS / Debian arm64. Clone this repository, enter its folder, then run:

sudo bash install.sh

The installer sets up Docker, installs the service in /opt/mindink and enables background startup. Open the management link printed by the installer, enter your Gemini key, select available models and check the connection. Setup uses your own credentials; no production key is included in this repository.

  • Management: http://PI_ADDRESS:8080/
  • Device API: http://PI_ADDRESS:8000/
  • Notes: /opt/mindink/data/vault/
  • Full installation and update instructions: INSTALL_PI.md

The backend needs internet access to Gemini. Management is intended for your private network. Configure verified HTTPS for access beyond your local network.

Configure and build the device

Copy config.example.json to /mindink/config.json on the TF card. Set your own server URL, device API key, Wi-Fi name and password. Keep the Gemini key on the Pi. For HTTPS, provide the trusted public CA certificate at the configured ca_file path.

Install PlatformIO, then build from the repository root:

pio run -d firmware -e ws397
pio run -d firmware -e ws397-selftest

Flashing, controls and sleep-screen setup: MINDOS_RUN.md. Pin assignments are centralized in config.h. Do not infer modem pins from the header or reuse GPIO0 for project features.

Backend development

Requires Python 3.12:

python3.12 -m venv .venv
.venv/bin/python -m pip install --require-hashes -r backend/requirements-dev.lock
.venv/bin/python -m pip install --no-deps -e backend
cp .env.example .env
# Fill .env with your own credentials before starting the server.
.venv/bin/python -m mindink

Tests use mocked Gemini and do not spend API quota:

.venv/bin/python -m pytest backend/tests -q

See BACKEND_DEVELOPMENT.md for curl examples, API contracts, queue behavior and developer Docker Compose setup. The appliance installer is the simpler path for a Pi that should run in the background.

Credentials and upstream credit

Real .env files, filled device configuration, private keys, recordings, vault contents, logs and build outputs must stay outside Git. Examples contain placeholders only. Read SECURITY.md before sharing a configuration or diagnostic file. The Git history was scanned with Gitleaks before publication.

MindOS builds on CrossPoint Reader, including its FreeInk SDK. The Waveshare port and codec integration use the board vendor's published references. Original copyright and license notices remain in place; see THIRD_PARTY_LICENSES.md, CrossPoint's MIT license and FreeInk's license. Dependencies retain their own licenses. Publishing this source does not relicense third-party components.

About

Pocket AI voice notebook with e-ink, Gemini and Obsidian on ESP32-S3 + Raspberry Pi. Optional e-reader, based on CrossPoint Reader / FreeInk.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages