What is A²B?

From ADI product website:

A2B is a high bandwidth, bidirectional, digital audio bus. A2B is capable of transporting I2S/TDM/PDM data and I2C control information, along with clock and power, using a single, 2-wire UTP cable over distances up to 15 m between nodes and 40 m over the entire daisy chain. A2B can be used as its own network with embedded sub-networks, or as an endpoint transport bus used in combination with other, longer distance protocols. The clock is synchronous on all nodes in a single A2B network. Microphone and serial audio data is received on each node in the system simultaneously.

High bandwidth, bidirectional, digital audio bus

The bandwidth allows up to 32 upstream and 32 downstream channels, depending on resolution. The bus runs with 1024 times the sampling frequency.

Source: ADI AD2428W Datasheet


One can imagine A²B as a prolongation of the normally PCB-bound (Inter-IC) interfaces.
This interfaces can be fed into one A2B node and pulled out of others.

  • I2S (Inter-IC Sound)
    • 3 lines (serial clock, word select, serial data)
    • one or two channels (mono, stereo)
    • Single Master, multiple slaves
  • TDM (Time Division Multiplexing)
    • similar to I2S but allows up to 16 channels of data
    • rather than indicating left or right channel by 50% duty cycle clock, the TDM frame is indicated by  single bit pulse
  • PDM (Pulse Density Modulation)
    • 2 lines (data input, clock)
    • single direction
    • often used by digital MEMS microphones
    • 2 channels per por
  • I2C (Inter-IC Control)
    • 2 lines (serial data, serial clock)
    • multi-master, multi-slave
    • bidirectional
    • 400kHz or 800Khz

Clock, Power, Cable

All nodes have their own PLL, which derives the clock from the Master clock. The Master get's his clock by the host system and is normally the audio sampling clock (44.1kHz or 48kHz). Since all nodes run on the same clock they are all synchronous.

A2B is able to provide phantom power. Each locally powered node can provide up to 2.7W (9V,300mA) to downstream nodes.

The Cable needs to be an unshielded twisted pair wire such as standard network cables (<Cat. 5e). One can extend the bus to 10 slave-nodes with up to 15m cable between each node (40m over the entire chain). Each node has 2 ports and 2 transceivers connecting it to the neighbor nodes.

Extra Features

Each node has several GPIO pins which may have alternate functions.

  • IO0-IO7
    • can be used as digital output or input with interrupt capability
    • each pin can be mirrored to the master node by using the "GPIO over distance" feature
  • DTX0/1,DRX0/1
    • two I2S/TDM interfaces per node
  • PDM
    • The DRX pins can be used as PDM Interfaces
    • up to 4 PDM microphones per node
  • internal LDOs
    • providing 3.3V and 1.9V to the transceiver and peripherals

The A²B Feather Wing

Since A2B makes the most sense when I2S is used, the wing was designed with Feather M0, Feather M4 or STM32F405 boards in mind. Other boards are still able to control the bus via I2C.


  • AD2428W A2B transceiver
    • Master capable
    • up to 10 nodes
    • A+B TRX blocks
    • I2S/TDM support
    • up to 4 PDM mic
  • 9V Boost converter
    • boosts feather 3.3V to A²B bus compatible 9V (for max. phantom power)
    • LT1930 convert
  • EMC circuitry
    • Everything from ADI's circuit recommendations implemented (beside a notch filter for AM bands)
  • JST Series PH connector
    • The connector adafruits loves and uses for their STEMMA connections. Just need to twist the wires and repin the housings
  • Jumper Options for I2S routing
    • on the bottom side you can modify routing for your feather board



As the phantom Power of the Bus is 9V there is the need for a boost converter (purple area). Logic voltages for the A²B Transceiver are generated locally by internal LDOs of the transceiver and thus it makes sense to not use the Feather's 3.3V supply but VBus or VBat.

The A²B Wing is powered from Bat or USB and connected to Gnd (of course).

Serial Data Pins

The A²B Transceiver is configured using the I²C Interface via Pins...

Read more »