The project · LE Audio · Auracast · nRF5340

LE Audio, Engineered

Build a private LE Audio link, then flip the same two boards into an Auracast broadcast: an nRF5340 Audio DK transmitter taking USB audio in, and its twin receiver putting music on a headphone jack. Auracast is the climax: the broadcast architecture behind the public venue audio Bluetooth is rolling out to airports, gyms and theatres, built on your desk, from the same firmware you just made unicast work with.

13 chapters + appendix about 39 to 45 hours Advanced Two nRF5340 Audio DKs required
Get the course. US$79 Preview chapter 1
Photo of the nRF5340 Audio DK (PCA10121). The board this course is built on, two of them
The nRF5340 Audio DK (PCA10121). This project needs two of them. Photo: Nordic Semiconductor, via the Zephyr Project documentation (CC BY 4.0).
The problem

LE Audio is where Bluetooth stops being polite

The usual way

  • LE Audio explained as a feature list: LC3, isochronous channels, Auracast, with no path from the words to a working link
  • A reference application treated as a black box: flash it, hope, and learn nothing when it stutters
  • Unicast and broadcast taught as separate worlds, on separate examples, so the flip between them stays abstract
  • Failures named in documentation but never diagnosed in front of you

This course

  • The real reference application, taken apart role by role, so what you learn transfers to any product built on it
  • Unicast first, because a private CIS link is where every LE Audio concept is easiest to see clearly; broadcast second, on hardware you already trust
  • Diagnosis is a chapter, not an afterthought: log forensics, planted faults, and a real field case worked end to end
  • A sniffer chapter that puts a third radio on your own pair and teaches you to read what the air actually carried
What you build

The Auracast pair, in two acts

Act 1: a private unicast pair. The transmitter takes audio from your computer over USB; the receiver decodes LC3 and plays it to a headphone jack, with a real CIS link, negotiated QoS, and a microphone path back. Act 2: the same pair, reflashed into an Auracast broadcast. The transmitter becomes a source anyone can join; the receiver syncs to the broadcast by periodic advertising and listens, no connection, no pairing. You finish with both firmwares, release builds of each, and a product card that documents your pair like a product.

CIS establishment, step by step

Discovery, ASE states, QoS, the first frame on time. (Chapter 5)

Yes

No

ACL connection established

GATT service discovery

PACS: read sink PAC records

PACS: read source PAC records if bidirectional

Read sink and source locations

Read supported and available contexts

server_store on the client

Any valid codec capability?

Codec configuration can be proposed

No valid capability: bring up stops here

A broadcast is born

BIG and BIS, periodic advertising, the BASE. (Chapter 8)

Act 1 unicast mindset

Find one partner

Connect over ACL

Negotiate capabilities

Open CIS streams

Audio with a partner that answers

Act 2 broadcast mindset

Decide format in advance

Publish description in advertising

Transmit BIG and BIS on schedule

Any compatible sink may listen

No per receiver acknowledgement

Reading Act 2 on the air

The sniffer's view of your own broadcast. (Chapter 12)

USB, extcap plugin

CONFIG_BT_MONITOR
UART or RTT

the second witness

The pair, on air

Sniffer board
nRF52840 DK or Dongle
nRF Sniffer firmware

Wireshark
course profile

Rows: one per packet
timestamped, dissected

Your own build

Host side monitor
HCI commands, events, data

Read chapter 1
Watch it move

Real animations from inside the lessons

LE Audio is timing: streams established step by step, a sink hunting for its broadcast, a BIG coming alive. The lessons animate those flows and hand you the controls. These three are the actual chapter animations, untouched.

Animated diagram

CIS establishment, step by step

Step 1: discovery, and PACS capabilitiesGatewaydiscoversPACScapabilities readHeadsetadvertisinga capability is a promise the configuration must stay inside
Step 2: ASE configured, codec proposedGatewayproposes codecASEcodec configuredHeadsetchecks itASE stands for Audio Stream Endpoint, one per stream
Step 3: QoS proposed, and acceptedGatewayproposes QoSASEQoS setHeadsetQoS acceptedaccepted QoS is a timing promise, not a preference
Step 4: the CIS is created in the controllerGatewayconfiguredCIS channelcreatedHeadsetconnectedCIS stands for Connected Isochronous Stream
Step 5: first frame crosses, on timeGatewaysendingCIS channelframe carriedHeadsetfirst framethe sequence is proven by a frame, not by a status
Step 6: presentation delay honoured at the sinkFrame senttimestampedDelay heldpresentation delayPresentedon its momentdelivered early and played late, on purpose

Animated diagram

The sink finds its broadcast

Step 1: scanning, among strangersSinkscanningMany sourcesmost are strangersIts broadcastin there somewherename and identity do the filtering, not signal strength alone
Step 2: its periodic advertising is foundSinkrecognised itPA trainidentifiedSourcethe right onefound is a claim about identity, not just about radio energy
Step 3: PA sync established, timing lockedSinkPA syncedPA traintiming knownSourceon schedulesync turns searching into scheduled listening
Step 4: the BASE is read, the offer is knownBASE read by the sinksubgroups and BIS streams listedcodec configuration for each streamthe menu arrives before the meal, by design
Step 5: a BIS is selected, by locationBASEoptions knownBIS selectedleft or rightSinkready to syncthe wrong selection still plays, it just plays the wrong ear
Step 6: audio flows, with no connection at allSourcebroadcastingBIS streamsyncedSinkaudio flowsscanning to sound, connectionlessly: the sink story, whole

Animated diagram

A broadcast is born

The source configures its BIGSourceconfiguringBIGgroup createdBIS streamsnot live yetone BIG can hold more than one BIS stream
Periodic advertising starts, on a regular trainSourceadvertisingPA trainregular timingAny scannercan find itPA stands for Periodic Advertising, the findable rhythm
The BASE is published: the offer, in fullBASEstreams, subgroups, codec configurationreadable before any audio is receivedBASE stands for Broadcast Audio Source Endpoint structure
BIS streams live: audio flows one waySourcetransmittingBIS streamaudio liveThe roomin rangethe source neither knows nor cares who is listening
Anyone may listen: joining needs no permissionSourcebroadcastingBIS streamopenNew sinkjust joinsa broadcast is born, and it belongs to whoever can hear it

Curriculum

Chapter by chapter

Thirteen chapters and a troubleshooting appendix. Total: about 39 to 45 hours of follow-along work, depending on your pace. Labs repo, public: github.com/learnbittoboard/le-audio-engineered.

1

Why audio needed a second Bluetooth

Classic audio’s limits, the isochronous idea, LC3, and CIS vs BIS. Meet the Auracast pair and the Audio DK.

~2½ to 3 h
2

The reference application, taken apart

Two cores, four roles, one application. Build all four role images and learn to read a build tree.

~3 to 3½ h
3

The transmitter: USB audio in

The gateway role, USB audio as the source, and the set identity (SIRK) that makes two boards one product.

~3 to 3½ h
4

The receiver: LC3 to the headphone jack

The headset’s decode path: ISO in, LC3 decoded, the CS47L63 hardware codec, sound out. Plus the mic path back.

~3 to 3½ h
5

CIS under the microscope

Discovery, ASE states, QoS negotiation, and CIS establishment, step by step. Act 1 becomes a link you can defend.

~3 to 3½ h
6

Tuning the stream

QoS presets as deliberate trades: frame duration, sample rate, retransmission, presentation delay. Change, rebuild, diff.

~3 to 3½ h
7

When it stutters: diagnosis

Log forensics module by module: no stream, dropping stream, drifting stream. Three planted faults, diagnosed from evidence.

~2½ to 3 h
8

Act 2: the Auracast source

The connectionless flip: BIG and BIS, periodic advertising, the BASE, Broadcast ID, and encrypted broadcasts.

~3 to 3½ h
9

The Auracast sink: sync and receive

PA sync from the sink’s side: find your broadcast among strangers, select the stream, listen. The assistant story, honestly scoped.

~3 to 3½ h
10

One pair, two personalities

Release builds, role switching without confusion, identity that survives reflashing, and buildable firmware-update images.

~3 to 3½ h
11

Capstone: ship the pair

The cold bring-up protocol, a structured listening test, and a product card. Plus an honest map of what comes next.

~2½ to 3 h
12

Reading the air: the sniffer chapter

The third radio that settles arguments: nRF Sniffer and Wireshark on your own pair, the encryption boundary, and your own keys.

~3 to 3½ h
13

Case File: the sync that died on a schedule

One real Auracast field failure, worked end to end: the log’s metronome, the two images that disagreed about a clock, the one line fix.

~2½ to 3 h
Chapters 12 and 13 · Reading the air, then a real failure

The sniffer, and the case file

Chapter 12 adds the third radio that settles arguments: an nRF Sniffer and Wireshark on your own pair, reading a CIS coming up and an Auracast broadcast being synced to, up to the exact line where encryption closes the payload to anyone without the keys, your keys, your devices.

Chapter 13 closes the course the way the job actually works: one real Auracast field failure from a public support thread, worked end to end from its log to its confirmed one line fix: a broadcast headset that lost sync every 0.800 seconds, on a schedule, because two firmware images disagreed about a clock.

What you will be able to do

  • Build all four LE Audio roles (unicast client and server, broadcast source and sink) and prove from the build that each image is the role you intended
  • Explain a CIS establishment and an Auracast PA sync step by step, and point at the log line family that proves each step
  • Choose a QoS preset for a product and defend the trade in numbers
  • Diagnose the three classic failure shapes (no stream, dropping stream, drifting stream) from logs instead of folklore
  • Put a sniffer on your own pair and read its traffic, and work a real field failure to its confirmed root cause
Devices

The hardware, stated plainly

Hardware is not included. This project has one non-negotiable line: it takes two Audio DKs.

nRF5340 Audio DK ×2 (required)

Two, not one: an Auracast pair is a transmitter and a receiver, and a one board setup cannot do this project. (PCA10121)

A computer

Running the pinned stack, nRF Connect SDK v3.4.1, the exact SDK this project is built and verified against.

For Chapter 12 only: a third Nordic board

The sniffer chapter needs one board that can run the nRF Sniffer firmware as the witness: an nRF52840 Dongle is the usual, cheap choice; an nRF52840 DK works too. The chapter is fully readable without it.

Headphones

Any wired pair with a 3.5 mm plug, for the receiver's headphone jack.

USB cables

One per board, plus the transmitter's USB audio connection to your computer.

What's inside

Everything is a deliverable

  • 13 chapters of labs: the reference application taken apart role by role, every build step compile-verified on the pinned stack; listening checks written as explicit bench protocols
  • 110 quiz questions with full answer keys: self-check cards, graded as you go
  • 46 diagrams, plus an animated diagram in every chapter: CIS establishment, the tuning trade space, PA sync, the 0.800 second loop
  • A public labs repo, step by step: github.com/learnbittoboard/le-audio-engineered
  • The sniffer chapter: nRF Sniffer and Wireshark on your own pair, and the encryption boundary taught honestly
  • A real case file: one documented field failure, its log, its diagnosis, its confirmed fix
  • Stretch exercises. Break the stream on purpose, retune it, prove you understood
LE Audio, Engineered
US$79 one-time
  • All 13 chapters, labs, quizzes and diagrams
  • Lifetime access in the online player, nothing to install, read anywhere
  • The full labs repo, step by step
  • Email support from the instructor
  • Free updates to the course
Get the course

Placeholder price for this preview build. Secure checkout opens at launch; the refund policy (7 days, no questions) will apply from day one.

Before you start

Prerequisites, honestly: intermediate BLE fluency. You know what a GATT service is, you have built and flashed a Zephyr application before, and reading a Kconfig tree does not scare you. The free BLE, Project Zero course on this site (the macro pad project) is the on ramp; equivalent experience works. And the boards: two nRF5340 Audio DKs. There is no one board track for this project.

Owner perks

What owners get

Buying the course is the start, not the whole deal. This is what's included with it, and the headline is a human being on the other end of an email.

Headline perk

Lifetime email support

Stream will not establish, or a sync that dies on a schedule? Email your question about the course to [email protected] and a working engineer answers, within 1 to 2 working days. Support covers questions about the course material and its labs. It is not general consulting, and it does not extend to debugging projects unrelated to the course. For as long as you own the course: no support tiers, no expiry, no ticket bot.

Animated diagrams

The moving parts (a CIS being established, a broadcast being born, a sink finding its PA, the metronome failure loop), taught as animations you play, pause and step through.

110 quiz questions, with answer keys

Every chapter ends in a self-check quiz with full answers, so you find the gaps while they're still cheap to fix.

The troubleshooting appendix

When it breaks. The failure table for this course's builds and boards: symptom, cause, fix. Kept open beside the labs, it earns its place in the first week.

Exercise-by-exercise code

The pair grows one verified step at a time, unicast first, broadcast second, every exercise a buildable checkpoint in a public repo.

A certificate you have to earn

Finish every chapter, then pass the final exam: 30 questions, 70% to pass, graded on our server, retakes allowed. Passing earns a certificate of completion with its own public verification page, so anyone can check that it is real, and see its status if that ever changes.

Coming soon

More perks on the way

Owning a course here will keep getting better. More owner perks are in the works, and when they land, owners get them, free.

Your choice

Two ways to take this course

Hardware is the recommended route, not an admission ticket. Start with the path that fits your desk today, and you can return to the bench later without starting over.

With hardware: build it for real

Use two nRF5340 Audio DKs (plus the third witness board for Chapter 12). You build all four roles, establish the CIS link, tune the stream, flip the pair to Auracast and finish with a working broadcast pair on your bench.

Read-along: no board required

Follow every chapter with the full code, the exact commands, and the expected outputs in the text, so the theory, the labs, the quizzes, the exam, and the certificate all work with no hardware at all.

What read along cannot give you is the bench feel of a real RF link: hearing the stream lock, and chasing a stutter with your own logs. That part stays worth coming back for.

Course FAQ

Before you ask

Do I really need two Audio DKs?

Yes. LE Audio is a link, and Auracast is a broadcast with a listener; a single board cannot do either act of this project. Two boards is the whole bill of materials for hardware.

I have never used LE Audio. Is this for me?

If your BLE basics are solid (GATT, advertising, connections, one Zephyr build under your belt), yes: Chapter 1 rebuilds the audio specific ideas from the ground up. If BLE itself is new, start with the free BLE, Project Zero course on this site (the macro pad project).

Can I follow along without the boards?

Yes. Every chapter carries the full code, commands, and expected outputs; the quizzes, exam, and certificate all work read along. You will miss the listening checks, which are written as bench protocols for when the boards arrive.

Why not just read Nordic's documentation?

You should; Chapter 2 uses it as a primary source. What the course adds is the path: which of the four roles to build first, what each build proves, how the concepts connect, and how to diagnose the failures the docs only name.