System Overview
The EA-AMP-SUB-1D-500R is not a single-chip amplifier. Crack it open and you find two processors splitting the work along a clean boundary: an NXP LPC2103F ARM7 microcontroller running the system — display, encoder, IR, serial — and a D2Audio D2-81431 Class D SoC handling everything that touches audio. The two communicate over I2C, and the LPC2103F holds authority over the D2-81431’s boot sequence through dedicated reset and mode-select pins.
graph TD
USB["Mini USB"] --> CP2104["CP2104<br/>USB-to-UART"]
CP2104 --> LPC["NXP LPC2103F<br/>ARM7 System Controller"]
IR["IR / 12V Trigger"] --> LPC
LPC --> VFD["VFD Display / Encoder"]
LPC -- "I2C control<br/>(addr 0xB2)" --> D2["D2Audio D2-81431<br/>Class D DSP SoC"]
LPC -- "boot mode pins<br/>IRQ[D:A] + nRESET" --> D2
RCA["Audio RCA In"] --> ADC["ADC"] --> D2
D2 --> PWM["PWM Stage"] --> FET["MOSFETs"] --> SPK["Speaker Out"]
D2 -- "GPIO6/7<br/>dedicated I2C" --> EEPROM["Atmel U6<br/>I2C EEPROM"]
A Silicon Labs CP2104 USB-to-UART bridge sits between the mini USB connector on the rear panel and the LPC2103F’s UART0 port. The CP2104 enumerates as a standard serial device (VID 10C4, PID EA60) and draws bus power, so it appears on the host machine even when the amplifier has no AC power applied. This is the only digital interface the outside world has to the system — there is no Ethernet, no Wi-Fi, no RS-232. Everything flows through this single UART.
The LPC2103F is the system controller in the fullest sense. It drives the vacuum fluorescent display, reads the rotary encoder and front-panel button, decodes NEC-protocol IR commands from the 3.5mm jack, monitors the 12V trigger input, and manages the entire menu system — crossover frequency, phase, EQ presets, night mode, power control behavior. When a user changes a parameter, the LPC2103F translates that into an I2C write to the D2-81431 at address 0xB2. When the amp powers on, the LPC2103F orchestrates the D2-81431’s boot sequence by asserting the correct logic levels on the BMS and IRQ pins before releasing nRESET.
The D2-81431 is the audio engine. It contains a four-channel DSP core with integrated PWM controller, sample-rate conversion, multi-band EQ, crossover filters, dynamic compression, power limiting, and an adaptive digital feedback loop that monitors the actual PWM output and speaker current to correct distortion in real time. It is a serious piece of silicon — four full channels of processing at better than 110 dB SNR. Episode uses exactly one of those channels for the subwoofer output. The remaining processing headroom explains why this “simple” sub amp offers eight-step phase adjustment, multiple crossover slopes, and a library of speaker-specific EQ presets that grew from four profiles to sixteen in the 2024 revision. The silicon was always capable; Episode just kept enabling more of it.
The D2-81431 has no internal firmware storage whatsoever. Every boot, it loads its entire program — DSP coefficients, filter topologies, protection parameters, all of it — from an external Atmel I2C EEPROM designated U6 on the board. This EEPROM connects to the D2-81431 through a dedicated I2C bus on GPIO6 and GPIO7, completely separate from the control I2C bus the LPC2103F uses for runtime parameter writes. This separation is architectural: the NVM bus is the D2-81431’s private path to its own firmware, while the control bus is the LPC2103F’s interface for sending volume changes, EQ updates, and mode selections during normal operation.
The result is a system where the LPC2103F acts as gatekeeper for everything — user input, serial communication, boot sequencing, and firmware updates for both itself and the D2-81431. Understanding this dual-processor split is essential to making sense of the firmware update mechanism, which involves two completely separate images written through two completely separate procedures.