Hardware
Hardware Guide
Nexting Developer Documentation | August 2026
Nexting
Nexting connects your computer, phone, and wearable hardware for Agent remote control. The PIN and Ring provide quick input; the app lets you view and control the computer where Claude Code, Codex, Grok, Cursor, or OpenClaw is running.
Features
| Feature | Details |
|---|---|
| Bluetooth 5.0 | Low-energy wireless connection to your iPhone. Range up to ~10 meters indoors. |
| Built-in Microphone | High-quality PDM MEMS microphone captures your voice clearly, even in moderate background noise. |
| Built-in Speaker | I2S Class-D amplifier drives a micro speaker for AI voice playback. No earbuds required. |
| One-button Interface | Hold to record, tap to replay. No menus, no screens — pure voice interaction. |
| USB-C Charging | Standard USB-C port. Green LED blinks while charging. |
| Devices SDK | Nexting hardware, firmware, app, and cloud are proprietary. Only the Nexting Devices SDK is open source; it is available on GitHub. |
Getting Started
Download the Nexting app
Available on the App Store. Create an account or sign in with your existing credentials.
Turn on Bluetooth and pair
Power on the Nexting PIN. The LED will blink through a red → green → blue boot sequence, then settle into a red slow blink— this means it's waiting for a Bluetooth connection.
Open the Nexting app. It automatically scans for nearby devices. Your device appears as "Nexting XXX". Tap to connect. The LED turns solid blue when connected.
Hold the button and speak
Press and hold the button for more than 0.5 seconds. The LED turns solid green— you're now recording. Speak naturally. When you release the button, the recording stops and is sent to the AI for processing.
The AI response plays through the built-in speaker within a few seconds.
Tap to replay
A quick tap (under 0.5 seconds) sends a PLAY command to the app, which replays the last AI response through the speaker. Useful when you missed something or want to hear it again.
LED Status Reference
The built-in RGB LED communicates the device state at a glance. Here is every state you will encounter:
| LED | Pattern | Meaning |
|---|---|---|
| →→ | Sequential blink, then all three on briefly | Device is booting up. Takes about 3 seconds. |
| Slow blink (1 second on, 1 second off) | Bluetooth not connected. Waiting for the app to connect. | |
| Solid (always on) | Bluetooth connected and ready. Device is idle. | |
| Solid (always on) | Recording in progress. The button is held down. | |
| Blinking (toggles on/off) | USB cable plugged in, battery is charging. | |
| All LEDs off | Device is powered off or battery is depleted. |
Web Dashboard
Every Nexting AI user gets a web dashboard at nexting.ai/dashboard. From the dashboard you can:
- Chat history — read and search all your past conversations with the AI.
- Skills — manage what your AI can do (web search, reminders, knowledge base, etc.).
- Cron tasks— schedule recurring tasks like "every morning at 8am, tell me the weather and my calendar".
- Settings — view your managed AI configuration and manage your subscription under Billing.
3D Print Edition (DIY)
This legacy prototype guide documents an experimental assembly made from off-the-shelf components and a 3D-printed enclosure. The production Nexting PIN uses proprietary hardware and firmware. This guide does not make the Nexting product open source; only the Nexting Devices SDK is open source.
Bill of Materials
You need 7 items to build a complete Nexting. All are widely available from Adafruit, Seeed Studio, Amazon, or AliExpress.
| # | Component | Model / Spec | Qty | Notes |
|---|---|---|---|---|
| 1 | Microcontroller | Seeed XIAO nRF52840 Sense | 1 | 21×17.5mm. ARM Cortex-M4 @ 64MHz. Built-in BLE 5.0, PDM microphone, RGB LED, and LiPo charger. |
| 2 | I2S Amplifier | Adafruit 5769 (Audio BFF) | 1 | MAX98357A chip. Converts I2S digital audio to speaker output. Must be powered from 3.3V (NOT 5V). |
| 3 | Speaker | 8\u03A9, \u22641W micro speaker | 1 | Recommended: OWS-091630W50A-8 (16×9mm). Any 8Ω speaker works. No polarity. |
| 4 | PTT Button | Tactile switch | 1 | ALPS SKRPABE010 or C&K PTS810. Low-profile, through-hole or SMD. |
| 5 | Debounce Cap | 100nF ceramic (0402 or 0603) | 1 | Soldered across the button terminals. Filters contact bounce. |
| 6 | Battery | 3.7V LiPo, 100–300mAh | 1 | 502030 or similar. Must include protection circuit (over-discharge, over-charge, short-circuit). JST SH 1.0mm connector or solder directly. |
| 7 | Enclosure | 3D-printed shell | 1 | Download STL files from hardware-opensource/enclosure/current-version/ in the repo; parametric SCAD designs (v1\u2013v4) are in hardware-opensource/enclosure/designs/. Print in PLA or resin. |
Wiring
9 connections total. No custom PCB needed — solder wires directly between the XIAO board, the Adafruit amplifier module, the button, and the battery. Use 28\u201330 AWG silicone wire for flexibility inside the enclosure.
Pin Assignment
| XIAO Pin | nRF52840 GPIO | Function | Direction |
|---|---|---|---|
| A1 | P0.03 | I2S SDOUT (audio data to amplifier) | Output |
| A2 | P0.28 | I2S LRCK (frame clock) | Output |
| A3 | P0.29 | I2S SCK (bit clock) | Output |
| D4 | P0.04 | PTT button (active LOW, internal pull-up) | Input |
| D6 | P1.11 | Amplifier enable / SD pin (HIGH = on) | Output |
| 3V3 | — | 3.3V power output to amplifier | Power |
| GND | — | Common ground | Power |
| BAT | — | Battery positive (3.0–4.2V LiPo) | Power |
Wire-by-Wire
| # | From | To | Wire Color | Notes |
|---|---|---|---|---|
| 1 | XIAO 3V3 | Adafruit 5769 VIN | Red | Power to amplifier. Must be 3.3V, NOT 5V (5V pad has no output in battery mode). |
| 2 | XIAO GND | Adafruit 5769 GND | Black | Common ground. |
| 3 | XIAO A3 (P0.29) | Adafruit 5769 BCLK | Signal | I2S bit clock. |
| 4 | XIAO A2 (P0.28) | Adafruit 5769 LRCLK | Signal | I2S frame clock (word select). |
| 5 | XIAO A1 (P0.03) | Adafruit 5769 DIN | Signal | I2S audio data. |
| 6 | XIAO D6 (P1.11) | Adafruit 5769 SD | Signal | Amplifier enable. Firmware sets HIGH to turn on, LOW to shut down (<1µA). |
| 7 | Adafruit 5769 OUT+ | Speaker (+) | Short wire | Audio output. BTL output — never connect either speaker terminal to GND. |
| 8 | Adafruit 5769 OUT− | Speaker (−) | Short wire | Speaker has no polarity. Connect either way. |
| 9 | XIAO D4 (P0.04) | Button → GND | Signal | PTT button with 100nF debounce capacitor soldered across the switch. |
| 10 | XIAO BAT+ | Battery + | Red | LiPo positive terminal. |
| 11 | XIAO GND | Battery − | Black | LiPo negative terminal. |
- All GPIO pins are 3.3V — applying >3.6V will permanently damage the chip.
- The speaker output is bridge-tied (BTL). Never connect OUT+ or OUT\u2212 to GND.
- Keep all wires as short as possible, especially speaker wires (they radiate EMI).
- No metal within 5mm of the BLE antenna end (opposite side from USB-C).
Assembly
Solder header pins to the XIAO board
If your XIAO board doesn't have pre-soldered headers, solder them now. You need access to A1, A2, A3, D4, D6, 3V3, GND, and the BAT pads on the bottom.
Connect power to the amplifier
Solder a red wire from XIAO 3V3 to Adafruit 5769 VIN, and a black wire from XIAO GND to Adafruit 5769 GND.
Connect the I2S audio lines
Three signal wires: A3 → BCLK, A2 → LRCLK, A1 → DIN.
Connect amplifier enable
D6 → SD on the Adafruit module. The firmware drives this HIGH to enable the amplifier.
Connect the speaker
Short wires from OUT+ and OUT\u2212 to the speaker. No polarity — either orientation works.
Wire the PTT button
Connect D4 to one leg of the tactile switch. Connect the other leg to GND. Solder the 100nF debounce capacitor across the switch (in parallel).
Connect the battery
Solder the LiPo positive wire to the BAT+ pad on the bottom of the XIAO board, and the negative wire to GND. The onboard BQ25101 charger IC handles charging via USB-C automatically.
Flash firmware and test
Connect USB-C, flash the firmware (see below), then verify: boot LED sequence → boot chime from speaker → BLE visible in the Nexting app → hold button to record → release to stop.
LED Status
The XIAO nRF52840 Sense has a built-in RGB LED (active LOW on pins P0.26, P0.30, P0.06). The firmware cycles through states in the main loop every 20ms:
| LED Color | Pattern | Meaning | When |
|---|---|---|---|
| →→ | Sequential blink (600ms each), then all on, then all off | Boot sequence | Power on / reset. Runs once during startup. |
| Slow blink (1s on, 1s off) | Waiting for Bluetooth | No BLE connection established yet. | |
| Solid | Connected | BLE connected to the iPhone app. Device is idle and ready. | |
| Solid | Recording | Button is held down (>0.5s). Microphone is active, audio is being encoded and transmitted via BLE. | |
| Blinking (toggles each cycle) | Charging | USB cable plugged in. Stops blinking when the cable is unplugged. | |
| All off | Powered off | Battery depleted or device in system-off mode. |
Button Behavior
The single button on pin D4 (P0.04) handles two gestures. The firmware polls the button state at 25Hz (every 40ms):
| Gesture | Duration | What Happens | LED Feedback |
|---|---|---|---|
| Hold | > 0.5 seconds | Sends a BLE START packet (Opus codec). Microphone activates. Audio frames stream over BLE in real-time. On release, sends END packet with total frame count. | Green LED solid while recording. |
| Tap | < 0.5 seconds | Sends a PLAYcommand (0x20) over BLE to the app. The app replays the last AI audio response through the PIN's speaker. | No LED change. |
Flashing Firmware
The XIAO nRF52840 supports UF2 flashing — no special programmer needed. Just drag and drop.
Enter bootloader mode
Double-tap the Reset button on the XIAO board quickly. The orange LED will start pulsing — this means the bootloader is active.
Copy the firmware file
A USB drive named XIAO-SENSE appears on your computer. Copy pinclaw_v2.2.0.uf2 to it. The device automatically flashes and reboots.
Verify successful flash
After reboot you should see: (1) the RGB boot sequence (red → green → blue → all on), (2) hear the boot chime from the speaker, and (3) the red LED starts slow-blinking (waiting for BLE connection).
cp pinclaw_v2.2.0.uf2 /Volumes/XIAO-SENSE/fw.uf2Power & Battery
The XIAO board has an onboard BQ25101 charger IC that manages LiPo charging via USB-C automatically. No external charging circuit needed.
| State | Current Draw | Battery Life (200mAh) |
|---|---|---|
| Idle (BLE connected, LED on) | ~2 mA | ~100 hours |
| Recording (mic + BLE TX) | ~6 mA | ~33 hours |
| Playing audio (speaker active) | ~50 mA peak | Brief bursts only |
| Heavy use (30% recording) | ~4 mA average | ~50 hours |
Connection Modes
Nexting supports multiple independent connection modes. Each mode has its own data path, WebSocket handler, and database instance. Switch between them in the iPhone app under Settings → Connection Mode.
| Mode | How It Works | Best For |
|---|---|---|
| Nexting AI | Your voice goes through Nexting's cloud AI. No setup needed — works out of the box after signing in. Conversations, skills, and cron tasks are managed from the web dashboard. | Everyone. This is the default mode. |
| My Hermes | Connect to any OpenAI-compatible API running on your computer (Ollama, LM Studio, Doubao, etc.) via the nexting-hermes-bridge tool. Your voice is relayed through the cloud to your local AI backend. | Users who want to use their own AI models locally. |
| My OpenClaw | Run a full OpenClaw server on your machine. Gives you complete control over the AI pipeline, including custom plugins, tools, and memory. | Developers who want deep customization. |
See the Getting Started page for detailed setup instructions for each mode.
Troubleshooting
No LED on power-on
Battery is likely depleted. Plug in a USB-C cable. If the green LED starts blinking, the battery is charging — wait a few minutes and try again. If no LED appears at all even when plugged in, check the battery wiring (BAT+ and GND connections).
App can't find the device
First, make sure you are signed into the Nexting app (BLE scanning is disabled when not logged in). Then check that: (1) your phone's Bluetooth is enabled in iOS Settings, (2) the device's LED is showing a red slow blink(meaning it's advertising and waiting for a connection), and (3) the device is within ~2 meters of your phone. Try power-cycling the device: briefly press the Reset button on the board, or power it off from the app and press the button once to wake it.
Button press does nothing
The button only works when BLE is connected. Check the LED: if it's solid blue, you're connected and the button should work. If it's red slow blink, Bluetooth is not connected — open the Nexting app to reconnect. For DIY builds, also verify the button wiring: D4 should read HIGH when released and LOW when pressed.
No AI response after recording
Check your phone's internet connection — the AI processing happens in the cloud (for Nexting AI mode). The app shows a "Connected" indicator when everything is working. If you're using My Hermes or My OpenClaw mode, verify that your local AI backend and the bridge/gateway process are running on your computer.
No sound from speaker
Verify the wiring: D6 must be connected to the SD pin on the Adafruit module (amp enable). Check that 3V3 is connected to VIN (not 5V). Speaker wires should be as short as possible. If you hear a boot chime on startup but no AI response audio, the issue is likely on the app/cloud side — check the Bluetooth connection status.
Device seems bricked
Don't panic. Double-tap the Reset button on the XIAO board to enter bootloader mode (orange LED pulses). The UF2 bootloader is in a protected flash region and cannot be corrupted by firmware updates. Reflash the firmware via the USB drive that appears. If the Reset button doesn't respond, try a different USB-C cable.