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

FeatureDetails
Bluetooth 5.0Low-energy wireless connection to your iPhone. Range up to ~10 meters indoors.
Built-in MicrophoneHigh-quality PDM MEMS microphone captures your voice clearly, even in moderate background noise.
Built-in SpeakerI2S Class-D amplifier drives a micro speaker for AI voice playback. No earbuds required.
One-button InterfaceHold to record, tap to replay. No menus, no screens — pure voice interaction.
USB-C ChargingStandard USB-C port. Green LED blinks while charging.
Devices SDKNexting hardware, firmware, app, and cloud are proprietary. Only the Nexting Devices SDK is open source; it is available on GitHub.

Getting Started

Set up your Nexting4 steps
1

Download the Nexting app

Available on the App Store. Create an account or sign in with your existing credentials.

2

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.

3

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.

4

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:

LEDPatternMeaning
→→Sequential blink, then all three on brieflyDevice 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 offDevice 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.

#ComponentModel / SpecQtyNotes
1MicrocontrollerSeeed XIAO nRF52840 Sense121×17.5mm. ARM Cortex-M4 @ 64MHz. Built-in BLE 5.0, PDM microphone, RGB LED, and LiPo charger.
2I2S AmplifierAdafruit 5769 (Audio BFF)1MAX98357A chip. Converts I2S digital audio to speaker output. Must be powered from 3.3V (NOT 5V).
3Speaker8\u03A9, \u22641W micro speaker1Recommended: OWS-091630W50A-8 (16×9mm). Any 8Ω speaker works. No polarity.
4PTT ButtonTactile switch1ALPS SKRPABE010 or C&K PTS810. Low-profile, through-hole or SMD.
5Debounce Cap100nF ceramic (0402 or 0603)1Soldered across the button terminals. Filters contact bounce.
6Battery3.7V LiPo, 100–300mAh1502030 or similar. Must include protection circuit (over-discharge, over-charge, short-circuit). JST SH 1.0mm connector or solder directly.
7Enclosure3D-printed shell1Download 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.
Legacy devkit firmware: The binary used by this prototype guide is v2.2.0. Download pinclaw_v2.2.0.uf2 from the repository. Production Nexting firmware is proprietary.

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 PinnRF52840 GPIOFunctionDirection
A1P0.03I2S SDOUT (audio data to amplifier)Output
A2P0.28I2S LRCK (frame clock)Output
A3P0.29I2S SCK (bit clock)Output
D4P0.04PTT button (active LOW, internal pull-up)Input
D6P1.11Amplifier enable / SD pin (HIGH = on)Output
3V3—3.3V power output to amplifierPower
GND—Common groundPower
BAT—Battery positive (3.0–4.2V LiPo)Power

Wire-by-Wire

#FromToWire ColorNotes
1XIAO 3V3Adafruit 5769 VINRedPower to amplifier. Must be 3.3V, NOT 5V (5V pad has no output in battery mode).
2XIAO GNDAdafruit 5769 GNDBlackCommon ground.
3XIAO A3 (P0.29)Adafruit 5769 BCLKSignalI2S bit clock.
4XIAO A2 (P0.28)Adafruit 5769 LRCLKSignalI2S frame clock (word select).
5XIAO A1 (P0.03)Adafruit 5769 DINSignalI2S audio data.
6XIAO D6 (P1.11)Adafruit 5769 SDSignalAmplifier enable. Firmware sets HIGH to turn on, LOW to shut down (<1µA).
7Adafruit 5769 OUT+Speaker (+)Short wireAudio output. BTL output — never connect either speaker terminal to GND.
8Adafruit 5769 OUT−Speaker (−)Short wireSpeaker has no polarity. Connect either way.
9XIAO D4 (P0.04)Button → GNDSignalPTT button with 100nF debounce capacitor soldered across the switch.
10XIAO BAT+Battery +RedLiPo positive terminal.
11XIAO GNDBattery −BlackLiPo negative terminal.
Critical warnings:
  • 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

Step-by-step assembly8 steps
1

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.

2

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.

3

Connect the I2S audio lines

Three signal wires: A3 → BCLK, A2 → LRCLK, A1 → DIN.

4

Connect amplifier enable

D6 → SD on the Adafruit module. The firmware drives this HIGH to enable the amplifier.

5

Connect the speaker

Short wires from OUT+ and OUT\u2212 to the speaker. No polarity — either orientation works.

6

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).

7

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.

8

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 ColorPatternMeaningWhen
→→Sequential blink (600ms each), then all on, then all offBoot sequencePower on / reset. Runs once during startup.
Slow blink (1s on, 1s off)Waiting for BluetoothNo BLE connection established yet.
SolidConnectedBLE connected to the iPhone app. Device is idle and ready.
SolidRecordingButton is held down (>0.5s). Microphone is active, audio is being encoded and transmitted via BLE.
Blinking (toggles each cycle)ChargingUSB cable plugged in. Stops blinking when the cable is unplugged.
All offPowered offBattery 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):

GestureDurationWhat HappensLED Feedback
Hold> 0.5 secondsSends 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 secondsSends a PLAYcommand (0x20) over BLE to the app. The app replays the last AI audio response through the PIN's speaker.No LED change.
Pressing the button also immediately stops any ongoing speaker playback — so you can interrupt a long AI response by pressing and holding to ask a follow-up question.

Flashing Firmware

The XIAO nRF52840 supports UF2 flashing — no special programmer needed. Just drag and drop.

Flash via UF23 steps
1

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.

2

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.

3

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).

macOS / Linux command line
cp pinclaw_v2.2.0.uf2 /Volumes/XIAO-SENSE/fw.uf2
If the device ever gets bricked, double-tap Reset to re-enter bootloader mode. The UF2 bootloader is stored in a separate flash region and cannot be overwritten by firmware — the board is always recoverable.

Power & Battery

The XIAO board has an onboard BQ25101 charger IC that manages LiPo charging via USB-C automatically. No external charging circuit needed.

StateCurrent DrawBattery 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 peakBrief bursts only
Heavy use (30% recording)~4 mA average~50 hours
Default charge rate is 50mA. For batteries under 100mAh, the charge rate may exceed 0.5C. Use batteries of at least 100mAh for safe charging.

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.

ModeHow It WorksBest For
Nexting AIYour 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 HermesConnect 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 OpenClawRun 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.