ES8316 analog microphone — severe EMI/noise pickup on Edge2 (Ubuntu 24.04, kernel 6.1.118)

Board: Khadas Edge2 (RK3588S) OS: Ubuntu 24.04.3 LTS (Noble Numbat) Kernel: 6.1.118 ALSA card: card 4: rockchipes8316c [rockchip,es8316-codec]hw:4,0 Driver: fe470000.i2s-ES8316 HiFi ES8316 HiFi-0


Problem

When recording audio via the ES8316 analog microphone input (hw:4,0), the captured audio contains strong electromagnetic interference (EMI). The noise manifests as:

  • Constant high-frequency buzz/hum correlated with CPU/GPU load
  • Periodic transient spikes reaching 0 dBFS (full-scale clipping) that make the recording unusable
  • The noise floor rises significantly when the board is under load (video encoding, USB activity)
  • The interference pattern changes with CPU frequency scaling — it is clearly conducted/radiated noise from the SoC or power delivery coupling into the analog input path

Current mixer state (relevant registers):

ADC Capture Volume: 192/192 (0 dB, max gain)

ADC PGA Gain Volume: 1/10 (0 dB)

Mic Boost Switch: off

ADC Soft Ramp: on

Capture Polarity: Normal

Even at lower gain settings the EMI spikes remain, only the signal-to-noise ratio of the wanted audio changes.

What works fine:

  • PDM DMIC array (card 3: rockchipsoundmi, hw:3,0) — clean capture with no EMI
  • USB audio devices — no issues

What has been tried without success:

  • Reducing ADC gain
  • Enabling/disabling Mic Boost
  • Ferrite on the mic cable
  • Different microphones and cables
  • Software high-pass filtering (removes hum but not the transient spikes)

Questions for Khadas engineers:

  1. Is there a known hardware errata or layout issue with the ES8316 analog input on Edge2 that makes it susceptible to RK3588S switching noise?
  2. Are there recommended ALSA register settings (bias voltage, anti-pop, ALC configuration) to reduce susceptibility?
  3. Is there a hardware fix — e.g. decoupling capacitor on the MIC_IN line, or routing the mic through a shielded path on the expansion header?
  4. Does the official Khadas Edge2 schematic show any EMI filtering on the ES8316 MIC_IN pin, and if not, is one planned?
  5. Is the PDM DMIC the only practically usable microphone path on Edge2 for low-noise audio capture?

Any guidance, register dumps, or schematic clarification would be greatly appreciated. Thank you.

Thank you for the detailed report.

We reproduced ES8316 analog-microphone capture on an Edge2 with the IO Expansion Board, using the CON5 AMIC input. In our verification, including CPU load testing, we did not reproduce audible load-correlated EMI or full-scale clipping after capture had stabilized.

  1. We currently do not have a confirmed general hardware erratum for the Edge2 ES8316 AMIC path. The result suggests that the issue may depend on the microphone, cable, power source, USB peripherals, board condition, or the specific workload/setup.

  2. For comparison testing, please use the ES8316 AMIC path with Mic Boost and ALC disabled, ADC PGA at 0 dB, and the Digital Mic Mux disabled.

  3. Currently, the Edge2 already includes filtering and decoupling for the codec analog supply, MICBIAS, and AMIC input path.

  4. The PDM microphone array is not the only usable microphone path. The ES8316 AMIC path through CON5 works correctly in our test environment. However, a digital microphone path can be preferable in electrically noisy application environments.

To help us continue the investigation, please try cross-testing with another known-good microphone/cable and, if the issue can still be reproduced, provide a short raw WAV recording and the current mixer state.

We will continue to follow up if the issue is reproducible.

Best regards,
Khadas Team

One thing worth ruling out before chasing the codec itself: on my Edge2 a lot of what looked like ES8316 noise turned out to be common-mode pickup on the mic cable and ground. Quick checks that helped me isolate it: record with the board on battery/USB-PD from a different supply, then with the HDMI and Wi-Fi off, and compare the noise floor of the same 10s clip. If the buzz drops when Wi-Fi/HDMI is off, it is radiated, not the analog front end. Also try a short shielded mic lead with the shield grounded only at the board end, and keep the mic wires away from the DC jack and the eMMC/SD area. On the mixer side, capture your amixer state alongside each WAV so the Khadas team can compare gain paths - AMIC boost stages tend to amplify whatever EMI is already there, so at high boost a clean setup still sounds bad. If you can, post two WAVs (boost low vs high) plus the amixer dump; that pair usually shows straight away whether it scales with gain.

The severe electromagnetic interference on the Khadas Edge2 analog microphone input stems from poor physical isolation of the ES8316 analog traces against Rockchip RK3588S switching noise, making software register tweaks ineffective; therefore, switching your primary audio capture to the clean PDM digital microphone array ($\text{hw}:3,0$) or an external USB interface is the only practical solution for noise-free recording.