Technical notes · In progress
Moji Development Notes
The v1.0.4 release candidate: expressive hardware, a local-first iPhone Library, nearby play, and current release progress.
Current Progress
Moji is a pocket companion built around an ESP32-C3, a 128 × 64 OLED, a LIS3DH accelerometer, and two buttons, with a native SwiftUI iPhone app.
App and firmware are at v1.0.4. The current candidate enables 17 experiences across Library, Friends, Activities, and Controls. The October 6, 2026 production review records passing software checks; final physical acceptance and distribution remain pending. This is a release candidate, not a publicly validated release.
System Overview
System overviewBlock diagram
A simplified view of the v1.0.4 candidate. Hardware acceptance is still pending.
On the device
- Buttons + motionTwo buttons and an accelerometer
- Moji firmwareESP32-C3 · interaction and activities
- OLED displayAn expressive face, content, and tools
Phone connection · two-way
- Moji StudioiPhone Library and controls
- BluetoothPaired sync and device communication
- MojiA display-friendly copy of pinned items
Nearby connection · two-way
- MojiFriends and multiplayer activities
- ESP-NOWDirect device-to-device communication
- Another MojiNearby discovery, messages, and play
From a note to your pocketFlow chart
- 01Write on iPhone
- 02Pin an item to Moji
- 03Sync when connected
- 04Read the local copy
Library and the iPhone App
The app opens to Moji’s face. Its drawer contains Moji, Library, Friends, Activities, Controls, and Device.
Library contains Notes, Planner, Journal, and Study Cards. The full source stays on iPhone. Items pinned to Moji receive a bounded, display-friendly copy over Bluetooth, rather than silently shortening the phone’s original content. Content is scoped to the paired device identity, and offline edits remain on the phone while waiting to sync.
The latest work improves initial reads, retry behavior, repeated saves, and preservation of edits after connection or storage errors. Study Cards offers on-device iPhone dictation where available, with typed fallback.
Nearby Play and Friends
Nearby discovery and messages use ESP-NOW directly between devices. The phone manages friends and profile invitations; it does not act as the transport for mesh messages. Messaging is nearby rather than internet delivery, and the current phone thread shows received inbox messages without promising a durable outgoing conversation history.
Activities include Quick Draw, Pong, Reaction, Dice, Coin Flip, Magic 8, and Tilt Maze. Quick Draw is the current name for the CONNECT experience. Pong supports another Moji or an iPhone controller. The latest candidate improves rematches, partner isolation, disconnect handling, message order, and readable result screens.
Everyday Controls
Controls includes Timer, Stopwatch, Remote, Light, and Level. Running Timer, Stopwatch, and Pong sessions stay awake while critical battery protection remains active.
Remote pairs separately as Moji Mouse with a supported Bluetooth HID host. Optional Apple Music controls in the app operate the iPhone player; they are not a universal music integration.
Reminders are opt-in and checked while the app is open with a connected Moji. They are not general iOS notification mirroring. Moji hardware has no microphone or camera; optional Study Card dictation uses supported on-device recognition on iPhone.
Power, Updates, and Recovery
Normal screen rest keeps Bluetooth available while pausing motion and ESP-NOW. Low Power also pauses Bluetooth until a physical button wakes Moji. Critical battery protection uses deep sleep and periodic recovery checks.
Firmware updates use an internet gateway, signed manifest verification, image checks, and Bluetooth transfer bound to the paired identity. Moji requires no account or subscription. Library and companion content remain local-first.
A password-protected local Wi-Fi portal and USB recovery provide support paths. Standard firmware does not enable automatic boot rollback. The latest local candidate still needs signing, physical update tests, and recovery acceptance before promotion.
Validation and Next Steps
The latest repository review records:
- Firmware build, portable OLED/transport checks, and activity state-machine tests passing.
- 95 iPhone unit tests and 23 interface tests passing, with additional targeted checks on a smaller phone simulator.
- 31 gateway tests passing and an unsigned iPhone Release archive built.
These results cover software and simulator behavior. Physical checks remain pending for the exact candidate: two-device play and messaging, Library integrity, pairing and reconnection, power, signed and interrupted updates, USB recovery, and a two-hour mixed-use run. Distribution export, privacy/support deployment, and final release review also remain open.
Studio/Moments and Stats are deferred. The next step is validating the enabled scope on hardware before expanding it.
Earlier Hardware and Guide
The project history follows Pocket Quote, Cubelet, the first custom PCB, and Moji’s board assembly.
The original v1.0.0 user manual remains available as a version-specific guide. It describes earlier menus and controls, rather than the current candidate.