Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
e6300d0
docs(site): add the landing page, user guide and developer guide
nikunj95 Sep 26, 2026
6b38fbf
docs(site): name the columns of the board overview table
nikunj95 Sep 26, 2026
a96da7b
docs(site): apply the footer, public links and scope answers
nikunj95 Sep 26, 2026
9dc804f
docs(site): drop the removed learning section from the user guide intro
nikunj95 Sep 26, 2026
abe4f51
style(docs): format setup.md with prettier
nikunj95 Sep 26, 2026
e574d52
docs(setup): drop the removed Kitware apt script
nikunj95 Sep 26, 2026
33904d1
docs(site): apply the answers queued on the review board
nikunj95 Sep 26, 2026
35373a2
docs(site): add the quick start, FAQ, support, release notes and lice…
nikunj95 Sep 26, 2026
eb080ad
docs(setup): replace the probe serial number in the sample transcript
nikunj95 Sep 27, 2026
acce8d2
docs(site): keep the signing section to the public development key
nikunj95 Sep 27, 2026
2f7a72e
docs(site): build the DK into its own directory
nikunj95 Sep 27, 2026
82fee97
docs(setup): blur the board label in the setup photo
nikunj95 Sep 27, 2026
dcb0bb5
docs(site): build the documentation site with Starlight
nikunj95 Sep 27, 2026
bc6cb8f
ci(pages): publish the documentation site on push to main
nikunj95 Sep 27, 2026
eb4a3f8
style(site): format the stylesheet with prettier
nikunj95 Sep 27, 2026
9a9446f
docs(site): add the debug header wiring table to the developer guide
nikunj95 Sep 27, 2026
ea5620b
docs(site): move the site title from the top bar into the sidebar
nikunj95 Sep 27, 2026
c306495
docs(site): remove the TBD markers before the pages go public
nikunj95 Sep 27, 2026
a1420bd
docs(site): give the hardware pages short sidebar labels
nikunj95 Sep 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 74 additions & 0 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Publishes the documentation site to GitHub Pages.
#
# The site is `site/`, whose pages are generated from `docs/` at build time, so
# a push that changes either rebuilds it. The build uploads the site's output
# directory and nothing else from the checkout.

name: Publish pages

on:
push:
branches: [main]
paths:
- 'docs/**'
- 'site/**'
- '.github/workflows/pages.yml'
workflow_dispatch:

# One deployment at a time, and never cancelled: a half-replaced site is worse
# than a late one.
concurrency:
group: pages
cancel-in-progress: false

jobs:
build:
name: Build the site
runs-on: ubuntu-latest
# The job that runs `npm ci`, and so third-party install scripts, can read
# the repository and nothing else. Publishing rights live in `deploy`,
# which checks out no code.
permissions:
contents: read
pages: read
steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
cache-dependency-path: site/package-lock.json

- name: Install the site's dependencies
working-directory: site
run: npm ci

- name: Build the site
working-directory: site
run: npm run build

- name: Configure GitHub Pages
uses: actions/configure-pages@v6

- name: Upload the site
uses: actions/upload-pages-artifact@v5
with:
path: site/dist

deploy:
name: Publish to GitHub Pages
needs: build
runs-on: ubuntu-latest
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v5
491 changes: 491 additions & 0 deletions docs/developer-guide.md

Large diffs are not rendered by default.

98 changes: 98 additions & 0 deletions docs/faq.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
# AkidaTag FAQ

Short answers to the questions people ask first. The [user guide](user-guide.md) and the
[developer guide](developer-guide.md) have the detail.

## About the tag

**What is AkidaTag?** A small board with a Nordic nRF5340 microcontroller and a BrainChip Akida
AKD1500 neural processor, a microphone, an inertial sensor and Bluetooth Low Energy. The AI model
runs on the board; the phone only shows what the board found.

**What does it do out of the box?** It runs the keyword spotting demo: it recognises ten spoken
words and reports each one to the BrainChip Connect app. The model is loaded before the tag ships.

**Does it need the internet?** No. The tag talks to the phone over Bluetooth, and nothing in the
demo leaves the phone. The app needs the internet only to download firmware and model files.

**Is the battery included?** No. The box holds the board and its enclosure; there is no battery,
camera or USB-C cable in it.

**How do I turn it on?** With the power switch on the board. The green LED blinks slowly once it
is ready.

## Phone and app

**Which phones work?** Android phones running Android 13 or later, with Bluetooth. BrainChip
Connect is coming soon to the iOS App Store.

**Where do I get the app?** Its Google Play listing,
https://play.google.com/store/apps/details?id=com.brainchip.connect, is open for pre-registration.
Google Play tells you when it is released.

**Does the phone ask me to pair?** The firmware does not ask for a pairing code, so no pairing
pop-up appears.

**Can two phones connect at once?** No. One phone at a time. If the tag's green LED is solid,
another phone is already connected.

## Using the demo

**Which words does it know?** `down`, `go`, `left`, `no`, `off`, `on`, `right`, `stop`, `up` and
`yes`. Anything else is reported as silence or unknown and is not shown.

**It does not hear me.** The tag's microphone is a quiet part. Speak clearly and close to it, and
check that the Keyword Spotting card says _Active_.

**What do the LEDs mean?** See [What the LEDs mean](user-guide.md#2-what-the-leds-mean). The short
version: green blinking is ready, green on is connected, a red flash is a detection, red on steady
is a failure.

**Can it learn a new word?** The firmware can learn new words on the device, and every release
attaches `akidatag-kws-edge-learning-model.zip` for that. Running a learning session from the app
is not covered in this guide yet.

**What does Factory Reset do?** Today it restarts the tag and nothing else. A full reset that
erases the model and settings will come in a later release.

**What does Power Mode do?** Nothing in this release. It is where a low-power mode to save
battery will be switched on in a later release.

## Updating

**How do I update the firmware?** From the app, with a file from
https://github.com/Brainchip-Inc/AkidaTag/releases. See
[Update the firmware over Bluetooth](user-guide.md#6-update-the-firmware-over-bluetooth). A
computer and the USB-C cable work too: [Firmware update over USB-C](firmware-update-over-usb.md).

**The update did not install.** The tag only accepts firmware signed with the key it trusts. Use a
file from a BrainChip release. Anything built from the source code is refused over Bluetooth and
USB-C, by design.

**I cannot load a model.** Older firmware predates the model transfer the current app uses.
Update the tag to the latest release, https://github.com/Brainchip-Inc/AkidaTag/releases/latest,
and try again.

## Building your own

**Can I build the firmware myself?** Yes. The source is at https://github.com/Brainchip-Inc/AkidaTag
and the [developer guide](developer-guide.md) starts from a fresh clone. Read the caution in its
section 9 first.

**Will the tag accept my firmware?** Not over Bluetooth or USB-C: your build is signed with the
public development key, and a tag from BrainChip trusts the production key. With a debug probe
you can flash the whole image, after which the tag trusts your key instead. See
[Signing, and which firmware a board accepts](developer-guide.md#8-signing-and-which-firmware-a-board-accepts).

**Can I run my own model?** Yes, converted with the Akida tools and loaded like the demo model.
[Models](developer-guide.md#7-models) explains the pipeline.

## Help

**Where do I ask?** For help, BrainChip's Discord at https://discord.com/invite/9bmd9g52vn. For a
bug, an issue at https://github.com/Brainchip-Inc/AkidaTag/issues. [Support](support.md) says what
to include.

---

© 2026 BrainChip Holdings Ltd. All rights reserved.
Binary file modified docs/images_and_videos/Full-Setup.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
63 changes: 63 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# AkidaTag documentation

AkidaTag is BrainChip's ultra-low-power AIoT platform: a Nordic nRF5340 microcontroller and a
BrainChip Akida AKD1500 neural processor on one board, with a microphone, an inertial sensor and
Bluetooth Low Energy. The AI model runs on the board itself, and the board reports to the
BrainChip Connect app on your phone.

## Start here

| Page | Read it if |
| ------------------------------------- | ---------------------------------------------------------------------------------------------- |
| [Quick start](quick-start.md) | You just opened the box and want the demo running in a few minutes. |
| [User guide](user-guide.md) | You have an AkidaTag and want to run the demos from your phone with the BrainChip Connect app. |
| [Developer guide](developer-guide.md) | You want to build the firmware, add a demo, or write your own application on this code. |

## Hardware

| Page | What it holds |
| ---------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| [Datasheet](hardware/datasheet.md) | Electrical, mechanical and environmental characteristics of the AkidaTag board. |
| [Technical specifications](hardware/technical-specifications.md) | The parts on the board, the interfaces between them, and what each one offers. |
| [System block diagram](hardware/block-diagram.md) | How the parts of the board connect to each other. |

## Firmware reference

| Page | What it holds |
| --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| [Environment setup](setup.md) | The Docker toolchain image, a local install as the alternative, and the nRF5340 DK bench with an AKD1500 PCIe card. |
| [Firmware update over USB-C](firmware-update-over-usb.md) | Updating a board with nothing but its USB-C cable, through the bootloader's serial recovery mode. |
| [BLE model transfer protocol](ble-model-transfer.md) | The wire contract between the firmware and BrainChip Connect for loading a model. |

## Help

| Page | What it holds |
| ----------------------------------- | ---------------------------------------------------------------------- |
| [FAQ](faq.md) | Short answers to the questions people ask first. |
| [Support](support.md) | Where to ask for help and what to include. |
| [Release notes](release-notes.md) | What each firmware release changed, and what each release file is for. |
| [Open-source licences](licences.md) | The licence of the firmware and of the code it imports. |

## Downloads

- Firmware releases: https://github.com/Brainchip-Inc/AkidaTag/releases
- BrainChip Connect for Android: listed on Google Play at
https://play.google.com/store/apps/details?id=com.brainchip.connect, open for pre-registration.
Coming soon to the iOS App Store.
- Model packages: `akidatag-kws-model.zip` and `akidatag-kws-edge-learning-model.zip`, attached
to every firmware release.

## BrainChip Connect

The companion app has its own documentation at
https://brainchip-inc.github.io/BrainChip-Connect/.

## More from BrainChip

- AkidaTag on the Developer Hub: https://developer.brainchip.com/akida-tag/
- Developer Hub sign-up: https://developer.brainchip.com/signup/
- Community: BrainChip on Discord, https://discord.com/invite/9bmd9g52vn

---

© 2026 BrainChip Holdings Ltd. All rights reserved.
42 changes: 42 additions & 0 deletions docs/licences.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Open-source licences

## The firmware

The AkidaTag firmware is licensed under the Apache License 2.0. The text is the repository's
[LICENSE](../LICENSE) file, and the copyright is held by BrainChip Holdings Ltd.

The repository's [NOTICE](../NOTICE) file is the authority on the code the firmware imports: for
every component it records the upstream, the version, the paths, and the licence statement the
files themselves carry. This page is the summary.

## Code imported into the repository

Everything imported lives under `src/deps`, committed rather than downloaded, so that a clone plus
the toolchain image builds the firmware. `src/deps/VENDORING.md` says where each tree came from
and how it is upgraded.

| Component | Version | Licence |
| ---------------------------- | ---------------------- | ------------------ |
| Akida Engine | 2.17.0 | Apache License 2.0 |
| FlatBuffers | 2.0.8 | Apache License 2.0 |
| Kiss FFT, float-only variant | unrecorded; see NOTICE | BSD 3-Clause |

NOTICE also records three smaller items outside `src/deps`: the MFCC feature extraction adapted
from Arm's ML-KWS-for-MCU (Apache License 2.0), five build and sample files that carry the nRF
Connect SDK sample header (Nordic 5-Clause licence), and the keyword-spotting sample input
derived from the Google Speech Commands dataset (Creative Commons Attribution 4.0).

## Code the firmware is built against

The firmware is built with nRF Connect SDK v3.1.1, which is not part of this repository. It
brings the Zephyr RTOS and the MCUboot bootloader, both under the Apache License 2.0, and Nordic
Semiconductor's own components under the Nordic 5-Clause licence. Their licence texts and notices
ship with the SDK.

## The app

BrainChip Connect is documented separately at https://brainchip-inc.github.io/BrainChip-Connect/.

---

© 2026 BrainChip Holdings Ltd. All rights reserved.
39 changes: 39 additions & 0 deletions docs/quick-start.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# AkidaTag quick start

Six steps from the box to a keyword detected on the tag. The [user guide](user-guide.md) has the
detail behind each one.

1. **Charge the tag.** Plug a USB-C cable into the tag; none is included.
2. **Get the app.** BrainChip Connect is listed on Google Play at
https://play.google.com/store/apps/details?id=com.brainchip.connect, open for pre-registration.
Google Play tells you when it is released. It needs Android 13 or later, and is coming soon
to the iOS App Store.
3. **Turn the tag on** with the power switch. The green LED blinks slowly when the tag is ready.
4. **Connect.** Open the app, allow Bluetooth, tap `AkidaTag` in the device list, then **Connect
to Device**. The green LED stays on while the app is connected.
5. **Run the demo.** On the **Select the Application** screen, tap **Run Application** on the
**Keyword Spotting** card and wait for the badge to say _Active_.
6. **Say a word.** Speak clearly and close to the tag: `down`, `go`, `left`, `no`, `off`, `on`,
`right`, `stop`, `up` or `yes`. The red LED flashes and the word appears on the card with its
confidence.

## The LEDs at a glance

| What you see | What it means |
| ---------------------------- | -------------------------------------- |
| Green blinks slowly, red off | Ready, waiting for a phone to connect. |
| Green on, red off | The app is connected. |
| Red flashes briefly | A keyword was detected. |
| Green off, red on steady | Something failed; see the user guide. |

## When it does not work

- Nothing in the device list: check that Bluetooth is on, the app has its Bluetooth permission,
and the green LED is blinking. A solid green LED means another phone is connected.
- No words detected: the tag's microphone is a quiet part. Speak clearly and close to it.
- Everything else: [Troubleshooting](user-guide.md#9-troubleshooting) in the user guide, then the
[FAQ](faq.md) and [Support](support.md).

---

© 2026 BrainChip Holdings Ltd. All rights reserved.
55 changes: 55 additions & 0 deletions docs/release-notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# AkidaTag firmware release notes

Firmware releases are published at https://github.com/Brainchip-Inc/AkidaTag/releases. Every
release carries its full list of changes in its release body, taken from the repository's
[CHANGELOG.md](../CHANGELOG.md), which is the authority. This page is the short version: what
each release was for, what is known to be wrong with it, and what each attached file does.

## Versions

Versions follow MCUboot's `major.minor.revision+build` form, the version the tag's bootloader
reads out of the image header. The build counter resets to `0` whenever `major.minor.revision`
changes. The app shows the same version on its firmware update screen.

## Releases

| Release | Date | What it was for |
| ---------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `v1.2.0+0` | 2026-09-14 | Pre-release. The product rename from Spark to AkidaTag, firmware update over the USB-C cable with no probe and no button, a build that works from a fresh clone, and the Akida engine committed to the tree. |
| `v1.1.1+0` | 2026-08-25 | Patch release fixing the two defects that shipped in `v1.1.0+0`: a model update over Bluetooth never completed, and the DK build did not compile. |
| `v1.1.0+0` | 2026-08-25 | Pre-release. Power measurement and power control on the board, a rewritten keyword-spotting scoring path, and the first hardware-in-the-loop CI job. |
| `v1.0.0+0` | 2026-04-07 | First alpha of the firmware platform. |

Releases before `v1.2.0+0` carry the product's earlier name, Spark, in their file names.

### Known issues in `v1.2.0+0`

- **A tag on `v1.2.0+0` cannot load a model from BrainChip Connect `v1.0.0+0`.** The app speaks
the block-by-block model transfer that landed on `main` after the release. Update the firmware
to the latest release, https://github.com/Brainchip-Inc/AkidaTag/releases/latest, before loading
a model.
- **Turning Edge Learning on in the app restarts the tag.** Fixed on `main`; not yet released.

### On `main`, not yet released

- The block-by-block model transfer the app uses, with every write carrying its position and the
tag acknowledging what it has stored.
- The edge learning toggle fault above.
- The microphone gain set for keyword spotting.

## What each release file is for

| File | Use it for |
| ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `akidatag-<version>.signed.bin` | Updating from the app over Bluetooth, or from a computer over USB-C. The application image only, signed with BrainChip's production key. |
| `akidatag-<version>-dfu.zip` | The same image packaged with a manifest. The app accepts either file. |
| `akidatag-<version>.signed.hex` | The same image for a programmer that takes Intel HEX. |
| `akidatag-<version>-merged.hex` | Flashing a board with a debug probe: the bootloader plus the application. This is the only file that changes which signing key a board trusts. See the developer guide. |
| `SHA256SUMS.txt` | Checking a download: the checksum of every file above. |

Each release also attaches the model packages `akidatag-kws-model.zip` and
`akidatag-kws-edge-learning-model.zip`; see [Load a model](user-guide.md#7-load-a-model).

---

© 2026 BrainChip Holdings Ltd. All rights reserved.
Loading
Loading