board dev studio

Verified 2026-10

m5stack ES8311 Atomic Audio 3.5 Base

Atom-series audio base on an ES8311 24-bit codec (I2S, 16-64 kHz) with a MEMS microphone, NS4150B 1 W amp, CTIA 3.5 mm TRRS jack and an I2C expander that gates the amplifier - $7.50 USD.

Place this board on a carrier in the editor →

Logic level3.3 V

Part & documents

Headline partES8311
Data sheetES8311 data sheet →
Sourceshop.m5stack.com/products/atomic-audio-3-5-base →

Specs

MCUEverest Semiconductor ES8311 mono audio codec with NS4150B class-D amplifier and PI4IOE5V6408 I/O expander

Pinout

9 pads, as the vendor numbers them.

#NameFunctionSignals
13V33.3 V rail, odd column, top
2SCLI2C clock to the ES8311 and the expander, even column
3DSDINI2S data into the codec (playback), odd column
4SDAI2C data, even column
5LRCKI2S word clock, odd column
65V5 V supply from the Atom, even column
7ASDOUTI2S data out of the codec (microphone capture), odd column
8GNDground, even column
9SCLKI2S bit clock, odd column

Buses

BusSignalsPinsVoltageNote
I2S ×1DSDIN, ASDOUT, LRCK, SCLKDSDIN, ASDOUT, LRCK, SCLK3.3 V VFour I2S lines reach the Atom: DSDIN on pad 3, ASDOUT on pad 7, LRCK on pad 5, SCLK on pad 9. No MCLK pad is brought out - the codec's MCLK pin is fed on the base.
I2C ×1SDA, SCLSDA, SCL3.3 V VCodec control on pads 4 (SDA) and 2 (SCL). The ES8311 answers at 0x18 with CE low or 0x19 with CE high, and the docs do not say which the base uses, so both must be scanned. The PI4IOE5V6408 expander is at 0x43.

I²C / bus addresses

AddressBusDeviceNote
0x18I2CES8311 audio codec, CE pin low
0x19I2CES8311 audio codec, CE pin high - the base's CE state is not documented
0x43I2CPI4IOE5V6408 GPIO expander (P0 drives the NS4150B PW_AMP enable)

Power

Input5 V on pad 6, 3.3 V rail generated on the base by a TPS7A2033PDQNR LDO
Typical draw21.19 mA

Notes

Not compatible with Atom Voice, per the vendor. The amplifier enable is not on an Atom GPIO: it is P0 of the PI4IOE5V6408 at 0x43, so a correct I2S setup can still be silent. The microphone toggle switch decides ownership: ON keeps the onboard mic powered even with an external speaker plugged in, OFF hands the mic to whatever is in the 3.5 mm jack. The jack is CTIA-wired, so an OMTP headset swaps mic and ground. The ES8311 can answer at 0x18 or 0x19 depending on CE and the docs state neither, so scan both. Resistor and capacitor values in ai_context are read from the schematic's text layer; the docs do not state their nets, so no pull-up is attributed to SDA or SCL here.

AI context

Dense context for pasting into a model prompt — addresses, pinout, voltages, tolerances and the vendor's reference circuit.

PART: M5Stack Atomic Audio-3.5 Base, SKU A166, a 48.0 x 24.0 x 17.5 mm voice and audio base for the Atom series built on the Everest Semiconductor ES8311 mono audio codec, with an ME1502AM5G MEMS microphone, an NS4150B 1 W at 8 ohm class-D amplifier, a TPS7A2033PDQNR 3.3 V regulator, a PI4IOE5V6408ZTAEX I/O expander and a 3.5 mm 4-pole TRRS jack wired to the CTIA standard.
ADDRESSES: two devices. The ES8311 codec sits at 0x18 when its CE pin is low and 0x19 when CE is high - the schematic carries that note verbatim ('ES8311 address: CE pin low - 0x18, CE pin high - 0x19'); the vendor's documentation does not state which state the base ties CE to, so code must scan both. The PI4IOE5V6408 expander answers at 0x43.
PINOUT: the vendor numbers the Atom interface 1-9, odd pins in one column and even pins in the other, pin 1 unpaired: 1 = 3V3, 2 = SCL, 3 = DSDIN, 4 = SDA, 5 = LRCK, 6 = 5V, 7 = ASDOUT, 8 = GND, 9 = SCLK. That is the codec's I2C pair (SCL on pad 2, SDA on pad 4) plus four I2S lines - DSDIN (codec data in), ASDOUT (codec data out), LRCK (word clock) and SCLK (bit clock). There is no MCLK pad on this interface; the ES8311's own MCLK pin is fed on the base, not from the Atom.
ES8311 FACTS: 24-bit audio resolution, sample rates 16 kHz to 64 kHz, full-duplex, and it is the device that carries both the microphone capture and the playback path; the schematic's symbol numbers its pins SCL 1, MCLK 2, PVDD 3, DVDD 4, DGND 5, SCLK 6, ASDOUT 7, LRCK 8, DSDIN 9, AGND 10, AVDD 11, OUTP 12, OUTN 13, DACVREF.
AMPLIFIER CONTROL: the NS4150B's PW_AMP enable is not on a GPIO the Atom can reach - it is driven from P0 of the PI4IOE5V6408 expander at 0x43, so the amplifier stays off until that expander port is written.
SUPPLY: 5 V on pad 6, with the 3.3 V rail for the codec and expander generated on the base by a TPS7A2033PDQNR LDO. Measured consumption on the vendor's page: standby 5 V at 1.83 mA, recording 5 V at 12.71 mA, 50% volume playback 5 V at 21.19 mA, 100% volume playback 5 V at 26.46 mA. The speaker output is rated 1 W into 8 ohm.
COMPONENTS fitted per the schematic: R1 and R11 are 4.7 kOhm 1%, R5 and R7 are 47 kOhm 1%, R6 and R10 are 600 ohm at 100 MHz ferrite beads, and the decoupling is 100 nF (C3, C9, C16, C17, C23), 1 uF (C2, C5, C6, C7, C10, C12, C13, C22), 10 uF (C8, C20) and 22 uF (C21) along with 22 pF (C15). M5Stack does not state in the documentation which net each resistor sits on, so this entry records the values and does not attribute pull-ups to SDA or SCL.
TRAPS: (1) Not compatible with Atom Voice - the vendor states it for the Atom series but excludes that model. (2) The onboard microphone toggle switch decides who owns the mic: with it ON the built-in microphone stays powered and is still used when an external speaker is plugged in; with it OFF, plugging into the 3.5 mm jack automatically switches to the external microphone. (3) The jack is CTIA-wired (Tip-Ring-Ring-Sleeve), so an OMTP headset will have its mic and ground swapped. (4) The amplifier enable lives on the expander at 0x43, not on an Atom GPIO - silence after a correct I2S setup is usually that port. (5) Only four I2S lines reach the Atom; clocking has to match the base's own MCLK arrangement rather than an assumed Atom-provided master clock.

Provenance

Every figure on this page was read from the 6 sources below and last checked on Oct 25, 2026.