Accordion A2 Plus
Product brief
The Accordion A2 Plus is a fully-loaded configuration of the Accordion A2 test platform, supplied as a ready-to-run bundle for PCBA test, NPI, and production test where both mixed-signal channels and programmable power and protocol communication are required on the same node.
The bundle contains an Accordion A2 chassis pre-fitted with four modules: the ESH10000568 MPIO-96 SPI Module (96 reconfigurable analog / pseudo-digital I/O channels), the ESH10000355 6× IDC N-TOP Breakout Module (signal breakout to six 20-pin IDC connectors), the ESH10000533 M.2 PSU Module (dual-channel programmable power supply, 60 W total, 0–20 V, 0–10 A, with PMBus telemetry), and the ESH10000359 Communication Module (I²C, UART, SPI, JTAG, fan control, RGB status LEDs, and high-speed numeric acquisition).
The bundle ships with lifetime licenses for Accordion Pilot (Windows GUI) and Accordion Shell (CLI tool, AccordionQ2.Shell). All other Accordion software clients — the Web API, the Python package accordionq2, and the .NET package AccordionQ2.WebApiClient — connect to the unit over the network without further licensing.
The A2 Plus is intended for users whose test sequences need to power, exercise, communicate with, and monitor a DUT from a single Accordion node, without composing the configuration from individual modules.
Typical use cases:
-
Functional and parametric PCBA test combining 96 mixed-signal channels with one or two programmable rails.
-
Powerful software-controlled power supplies and per-channel telemetry.
-
Bring-up benches that interact with the DUT over I²C, UART, SPI, or JTAG while powering and measuring it.
-
Production fixtures requiring fan-controlled cooling and operator-visible RGB status indication.
-
High-speed numeric acquisition for leakage testing, rail stability, and sensor characterization.
Key constraints:
-
96 user signals on the IDC connectors are routed 1:1 from the MPIO-96 — no conditioning, no multiplexing.
-
MPIO-96 analog range and resolution: 12-bit ADC and DAC, 0–5 V typical (AD5592R 2× mode).
-
PSU module: 60 W total across both channels (derated from per-channel maximum). Output 0–20 V, 0–10 A per channel, software-limited.
-
IDC connectors: 5 V max, 2 A max per signal pin; +5 V and +12–20 V rails are thermistor-fused at 0.25 A.
-
USB-C powered. The bundled 130 W USB-PD supply is the only supported supply.
Datasheet
System
|
Parameter |
Value |
Notes |
|---|---|---|
|
Product name |
Accordion A2 Plus |
|
|
Part number |
ESH10000599 |
|
|
Platform |
Accordion A2 |
|
|
Power input |
USB-C (USB-PD), via bundled 130 W power supply |
Use bundled supply only. |
|
Power consumption, typical |
< 5 W |
At idle, all channels INPUT, PSU outputs disabled. |
|
Network interface |
1× RJ45, 10/100/1000 Mbit/s |
Back panel. |
|
Auxiliary host ports |
2× USB-A 2.0, 2× USB-A 3.0 |
Back panel. |
|
M.2 slots |
2, on the front panel (M1, M2) |
M1 populated by the PSU module; M2 free. |
|
Module slots populated |
SO-DIMM T1 (MPIO-96), N-TOP N1 (IDC breakout), dedicated communication TOP (Communication module), front-panel M.2 M1 (PSU) |
See Manual → Hardware. |
|
Module slots free |
3× SO-DIMM (T2, T3, A1), 3× N-TOP (N2, N3, N4), 1× M.2 (M2) |
For future expansion. The Communication module sits on a dedicated communication TOP and does not consume an N-TOP slot. |
|
Dimensions (W × D × H) |
233 × 129 × 60 mm |
|
|
Weight |
1.08 kg |
|
|
Compliance |
CE, RoHS, REACH |
|
Included hardware
|
Item |
Qty |
Notes |
|---|---|---|
|
Accordion A2 unit |
1 |
Pre-configured with the modules below. |
|
ESH10000568 — MPIO-96 SPI Module |
1 |
96 reconfigurable channels, AD5592R-based. Installed in SO-DIMM slot T1. |
|
ESH10000355 — 6× IDC N-TOP Breakout Module |
1 |
96-signal breakout to 6× IDC 20-pin. Installed in N-TOP slot N1. |
|
ESH10000533 — M.2 PSU Module |
1 |
Dual programmable supply, 60 W total. Installed in front-panel M.2 slot M1. |
|
ESH10000359 — Communication Module |
1 |
I²C / UART / SPI / JTAG, fan control, RGB status LEDs. Installed as |
|
USB-C power supply |
1 |
130 W, USB-PD. |
|
USB-C power cable |
1 |
1 m. |
Included software licenses (lifetime)
|
Product |
License |
Notes |
|---|---|---|
|
Accordion Shell |
Lifetime, single-unit |
CLI tool. Installed via |
|
Accordion Pilot |
Lifetime, single-unit |
Windows GUI. Installer: https://esharp.blob.core.windows.net/accordionpilot/setup.exe. |
The Web API, the Python package accordionq2, and the .NET client AccordionQ2.WebApiClient are open clients and are usable without separate licensing.
Channel summary (provided by the bundled modules)
MPIO-96 (ESH10000568)
|
Parameter |
Value |
|---|---|
|
User channels |
96, bidirectional |
|
Modes per channel |
Analog input, analog output, pseudo-digital I/O |
|
ADC / DAC resolution |
12-bit / 12-bit |
|
Analog range |
0–5 V typical (AD5592R 2× mode) |
|
Pseudo-digital thresholds |
Programmable VL / VH per channel |
|
Open-drain emulation |
Supported (set VH < 0) |
|
Floating-output emulation |
Supported (set VL < 0) |
|
High-speed acquisition |
Supported, exposed via |
|
Calibration |
Per-channel gain and offset, persistent on module |
|
Max voltage / current at IDC pin |
5 V / 2 A |
|
IDC pin-1 / pin-2 fusing |
0.25 A thermistor fuse (5 V / 12–20 V rails) |
|
ESD on IDC connectors |
IEC 61000-4-2, ±30 kV contact, ±30 kV air |
M.2 PSU (ESH10000533)
|
Parameter |
Value |
|---|---|
|
Channels |
2, independent (CH1, CH2) |
|
Output voltage |
0–20 V |
|
Output current |
0–10 A |
|
Maximum total output power |
60 W (derated, summed across both channels) |
|
Controller |
Linear Technology LTC3889 (PMBus) |
|
Protections |
Overvoltage, undervoltage, overcurrent, temperature, TON_MAX startup-timing supervision |
|
Telemetry |
READ_VOUT, READ_IOUT, READ_POUT, READ_VIN, READ_IIN, READ_TEMPERATURE_1/2 |
|
Calibration |
Per-channel current sense gain and temperature coefficient, input current; persistent across power cycles |
Communication module (ESH10000359)
|
Parameter |
Value |
|---|---|
|
Communication interfaces |
2× I²C, UART (RS232), SPI, JTAG |
|
I²C enable and pull-ups |
Per-channel, software-controlled |
|
UART default |
|
|
Programmable rail per interface |
I2C1_VOUT, I2C2_VOUT, UART_VOUT, SPI_JTAG_VOUT (0–5 V) |
|
Analog channels |
4× VOUT (output-only), 4× MPIO (bidirectional) |
|
Analog resolution |
12-bit ADC and DAC, 0–5 V typical |
|
Pseudo-digital MPIO |
Yes, with VL/VH thresholds; open-drain (VH < 0) and floating output (VL < 0) supported |
|
Fan control |
2× PWM with tachometer feedback (MAX6650) |
|
Status LEDs |
8× RGB (I2C1, I2C2, UART, SPI, JTAG, POWER, FAN, ADCIO) |
|
Always-on chassis power rails |
20 V, 12 V, 5 V, 3.3 V; each thermal-fused at 0.5 A |
|
High-speed numeric acquisition |
Multi-channel, synchronized; results returned base64-encoded via |
For per-module detail see ESH10000568, ESH10000355, ESH10000533, and ESH10000359.
Manual
Hardware
Unboxing and inventory
The box contains:
-
The Accordion A2 Plus unit, with all four modules already installed.
-
USB-C 130 W power supply.
-
1 m USB-C power cable.
-
Quick start card with hostname and MAC address.
Inspect the unit for shipping damage before powering on. Pre-installed modules are not user-removable in normal use; do not reseat them unless instructed.
Connectors and indicators
The unit is the standard Accordion A2 chassis. See the Quick start guide for Accordion A2 for chassis photographs.
-
Back panel: RJ45 network port, USB-C power input, 4× USB-A, fan exhaust
-
Front panel: Power button and fan exhaust, M1 is populated by the PSU module; the PSU outputs are accessible at J2 (CH1) / J3 (CH2) on the front of that module. M2 is free
-
Top: Three top-side modules are populated.
-
MPIO-96 (ESH10000568): SO-DIMM slot T1.
-
IDC breakout (ESH10000355): N-TOP slot N1. N1 maps to SO-DIMM T1 — the 96 DATA signals from the MPIO-96 are routed directly to the IDC connectors.
-
Communication module (ESH10000359): dedicated communication TOP,
ModuleIndex = 15. Sits in its own position and does not consume an N-TOP slot. Carries the I²C / UART / SPI / JTAG headers, the fan headers, and the RGB status LEDs.
-
-
IDC connectors J1–J6 on the breakout module expose signals DATA[0–95], 16 signals per connector. See Pinout.
-
PSU output connectors J2 / J3 on the front-panel PSU module expose CH1 and CH2 — settable rail (
VPSU), differential remote sense (VSENSE+,VSENSE-), and GND.
Power-on procedure
-
Connect the USB-C power supply to mains.
-
Connect the USB-C cable from the supply to the POWER port on the front of the unit.
-
Connect an Ethernet cable from the front-panel RJ45 to the same network as the controlling PC.
-
Press the power button on the back of the unit.
-
Wait for the unit to boot.
-
The unit is reachable on the network by hostname (printed on the quick start card) or by DHCP-assigned IP.
When the Accordion is booted, the chassis power rails (20 V, 12 V, 5 V, 3.3 V) on the Communication module are live and thermal-fused at 0.5 A. The PSU module outputs (VPSU_0, VPSU_1) are NOT enabled at boot — they require explicit software enable (OPERATION / OUTPUT_ENABLE per channel).
Connecting a fixture
-
Signal lines: standard 20-pin (2×10, 2.54 mm pitch) IDC ribbon from J1–J6 on the top of the unit to the fixture.
-
Programmable power rails: wire the fixture's DUT supply leads to J2 / J3 on the PSU module. Use the
VSENSE+/VSENSE-pair for remote sense at the load to compensate for cable drop. -
Communication and chassis rails: dedicated headers on the Communication module — see the ESH10000359 pinout.
-
Fan headers on the Communication module accept standard 4-pin fans (PWM + tachometer).
VFANis software-selectable 5 V / 12 V.
Power down the unit before changing fixture wiring.
Power, fusing, and thermal limits
-
Per-pin signal limit (IDC): 5 V / 2 A.
-
Pin-1 (5 V) and pin-2 (12–20 V) rails per IDC connector: 0.25 A, thermistor-fused, self-resetting after fault clearance.
-
Always-on Communication-module rails (EXTPWR 20 V / 12 V / 5 V / 3.3 V): 0.5 A each, thermal-fused.
-
PSU module: 60 W total across CH1 + CH2; per-channel limits 20 V / 10 A. Software protections (OV/UV/OC/OT, TON_MAX) are configured per channel before enabling the output.
-
Cooling: Active. Single chassis fan on the back of the unit; the Communication module additionally drives up to 2 fixture fans with tachometer feedback.
Status indicators
|
Indicator |
Location |
States |
|---|---|---|
|
Network link / activity |
RJ45 |
Standard link / activity LEDs |
|
RGB LED — POWER |
Communication module (top) |
Driven by software (named colours or hex). Use for top-level system state. |
|
RGB LED — I2C1, I2C2, UART, SPI, JTAG |
Communication module (top) |
Driven by software. Use for per-bus diagnostic state. |
|
RGB LED — FAN, ADCIO |
Communication module (top) |
Driven by software. |
|
IDC color LED (on ESH10000355) |
Top of unit |
Driven by the channel |
All RGB indicators support a global luminance control. They are not free-running — the test program owns the meaning of each colour.
Software
Once the unit is on the network and powered, all interaction is over the Web API, optionally fronted by Pilot, Shell, the Python package, the .NET client, or TestStand.
Install the bundled clients
Accordion Pilot (GUI):
-
Download the installer: https://esharp.blob.core.windows.net/accordionpilot/setup.exe.
-
Run the installer.
-
Launch Accordion Pilot. In the host field at the top, enter the unit's hostname (from the quick-start card) or IP address, then click Attach.
Accordion Shell (CLI):
dotnet tool install -g AccordionQ2.Shell
See the Accordion Shell reference for available commands (alias, configure, get, set, list, module, numeric, init, wait, i2c, etc.).
Python (accordionq2):
pip install accordionq2
.NET (AccordionQ2.WebApiClient):
dotnet add package AccordionQ2.WebApiClient
TestStand: use the Accordion sequence files supplied with the platform; reference channels by name.
Channel naming
Each module follows a fixed convention:
|
Module |
Convention |
Example |
|---|---|---|
|
MPIO-96 (ESH10000568) |
|
|
|
Communication (ESH10000359) |
|
|
|
PSU (ESH10000533) |
|
|
The IDC breakout module is passive and exposes no channels of its own — IDC pins are addressed via the corresponding …MPIOxx channel on the MPIO-96.
The MPIO-96 also exposes:
-
NumericResult— aggregated high-speed numeric acquisition. -
CALIBRATION— per-channel calibration table (96 entries).
Default channel state
-
All MPIO channels (on MPIO-96 and on the Communication module) boot in INPUT mode. Direction must be configured explicitly before driving any signal.
-
All PSU outputs are disabled at boot. Configure thresholds and limits, clear faults, then enable.
-
All Communication-module interfaces (I²C, SPI, JTAG) are disabled at boot. Set the interface rail (e.g.
I2C1_VOUT), enable any required pull-ups, then enable the interface. -
UART is enabled automatically on first access.
Driving the MPIO-96 (96 mixed-signal channels)
Python
from accordionq2 import Pilot
pilot = Pilot(host="accordion-a2-plus-XXXX")
pilot.attach()
# Configure MPIO00 as analog output, drive 2.500 V
ch = pilot.get_channel("1.ESH10000568.MPIO00")
ch.configure(mode="analog_output")
ch.write_analog(2.500)
# Read MPIO01 as analog input
v = pilot.get_channel("1.ESH10000568.MPIO01").read_analog()
Pseudo-digital with open-drain emulation: set VH < 0 so logical HIGH releases the line to high-impedance; logical LOW drives VL. Useful for wired-OR / wired-AND nets and external pull-ups.
Driving the M.2 PSU module
Standard sequence per channel:
-
Set input-voltage thresholds (
VIN_ON/VIN_OFF). -
Set output limits and protection thresholds.
-
Set output voltage (
VOUT_COMMAND). -
Clear any latched faults.
-
Enable the output (
OPERATION/OUTPUT_ENABLE). -
Read telemetry as needed.
-
Disable when the test step ends.
Python
psu_ch1 = pilot.get_channel("0.ESH10000533.0x4F.CH1.VOUT_COMMAND")
psu_ch1.write(3.300) # 3.3 V on CH1
en = pilot.get_channel("0.ESH10000533.0x4F.CH1.OPERATION")
en.write(True)
vout = pilot.get_channel("0.ESH10000533.0x4F.CH1.READ_VOUT").read()
iout = pilot.get_channel("0.ESH10000533.0x4F.CH1.READ_IOUT").read()
print(f"CH1: V={vout:.4f} V I={iout:.4f} A")
Trade-off: the 60 W ceiling is a total across both PSU channels. Plan combined V × I to stay below 60 W or expect over-power protection to fire.
Communication interfaces
I²C — recommended sequence:
pilot.get_channel("15.ESH10000359.I2C1_VOUT").write(3.300) # set bus voltage
pilot.get_channel("15.ESH10000359.I2C1_PU").write(True) # enable pull-ups
pilot.get_channel("15.ESH10000359.I2C1_EN").write(True) # enable bus
# now perform I²C transactions via the Shell `i2c` command or the API
UART: enabled automatically on access. Set the bus voltage via UART_VOUT and the baud rate via the API. Default: 9600 baud on /dev/serial0.
SPI and JTAG: share SPI_JTAG_VOUT. Set the rail, then enable the bus you need (SPI_EN or JTAG_EN). They cannot be powered at different voltages simultaneously — sequence them in software if both are needed.
Fan and status indication
pilot.get_channel("15.ESH10000359.FAN1").write(0.6) # 60 % of FAN1_MAX_RPM
rpm = pilot.get_channel("15.ESH10000359.FAN1_FREQ").read() # tachometer feedback
pilot.get_channel("15.ESH10000359.LED.POWER").write("#00FF00") # green = ready
pilot.get_channel("15.ESH10000359.LED.I2C1").write("amber") # amber = bus busy
LED meaning is owned by the test program. Establish a convention per fixture and document it locally.
High-speed acquisition
Both the MPIO-96 and the Communication module expose synchronized multi-channel sampling via their respective NumericResult channels. Configurable parameters: sample rate, channel mask, optional data reduction. Results are returned as a single time-series payload (base64-encoded numeric set on the Communication module). See the relevant module pages for the full parameter list.
Calibration
|
Module |
What is calibrated |
Trigger |
|---|---|---|
|
MPIO-96 |
Per-channel gain and offset |
Pilot's Calibration Table, or Shell |
|
PSU |
Per-channel current-sense gain and temperature coefficient; input current |
Module-specific calibration; persists across power cycles, applied automatically at startup |
Re-run calibration after hardware service or after significant temperature shifts outside the calibrated band. See Calibration for the full procedure.
Firmware
Confirm the unit's firmware before extended use. Update via Pilot's Firmware view or the Shell. See Firmware releases.
Pinout
The A2 Plus presents four classes of user-facing connectors: standard chassis ports on the front of the unit (including the two M.2 slots), the PSU output connectors on the front-panel PSU module, the Communication module headers on the top, and the six IDC signal connectors on the top breakout module.
Back-panel chassis connectors
|
Designator |
Type |
Direction |
Description |
Notes |
|---|---|---|---|---|
|
NET |
RJ45 |
Bidirectional |
Ethernet to control network |
10/100/1000 Mbit/s. |
|
POWER |
USB-C |
Power input |
5–20 V (USB-PD) from bundled supply |
Use bundled 130 W supply only. |
|
USB1–USB4 |
USB-A |
Bidirectional |
Auxiliary host ports for peripherals |
2× USB-A 2.0 + 2× USB-A 3.0. |
|
Fan exhaust |
— |
— |
Single chassis fan, always on while the unit is powered. |
|
Front panel
|
Designator |
Type |
Description |
|---|---|---|
|
PWR_BTN |
Pushbutton |
System power on / off. |
|
Fan exhaust |
— |
Single chassis fan, always on while the unit is powered. |
|
M1 |
M.2 |
Populated by the ESH10000533 PSU module. PSU outputs accessible at J2 (CH1) / J3 (CH2) on the front of the module. |
|
M2 |
M.2 |
Empty. Available for an additional M.2 module. |
Front-panel M.2 PSU module — output connectors (J2, J3)
Each channel's output is presented on a 4-pin connector. The two channels are mechanically identical; subscript _0 is CH1 (J2), _1 is CH2 (J3).
|
Pin |
Signal (CH1 / CH2) |
Direction |
Description |
|---|---|---|---|
|
J2_1 / J3_1 |
VPSU_0 / VPSU_1 |
Power out |
Settable supply (0–20 V), per-channel. |
|
J2_2 / J3_2 |
VSENSE+_0 / VSENSE+_1 |
Input |
Remote sense, positive terminal. Wire to load for cable-drop compensation. |
|
J2_3 / J3_3 |
VSENSE-_0 / VSENSE-_1 |
Input |
Remote sense, negative terminal. |
|
J2_4 / J3_4 |
GND |
— |
Common ground. |
For the connector drawing and the LTC3889 register map, see the ESH10000533 page.
Communication module — top headers
The Communication module exposes the chassis power rails and the protocol headers on the top of the unit. Headers are grouped:
-
EXTPWR — chassis rails: 20 V (
EXTPWR_1), 12 V (EXTPWR_3), 5 V (EXTPWR_5), 3.3 V (EXTPWR_7); GND onEXTPWR_2/4/6/8. All rails are always-on while the unit is powered, each thermal-fused at 0.5 A. -
FAN1, FAN2 — 4-pin fan headers: PWM, switchable VFAN (5 V / 12 V), tachometer input, NC.
-
I2C1, I2C2 — 4-pin I²C: SDA, programmable VI2C (0–5 V), SCL, GND. Switchable 1 kΩ pull-ups to VI2C.
-
SPI — 10-pin SPI: SCK, CS0/CS1, SDI, SDO, programmable VSPI/JTAG (0–5 V, shared with JTAG), and four GND pins.
-
JTAG — 10-pin JTAG: TCK, TMS, TDI, TDO, programmable VSPI/JTAG (shared with SPI), three GND pins, and two NC pins.
-
UART — 6-pin RS232: RxD, TxD, RTS, CTS, programmable VUART (0–5 V), GND.
For the full per-pin pinout (including the analog ADCIO header and the connector drawing), see the ESH10000359 pinout.
Top — IDC signal connectors (J1–J6, on ESH10000355)
Six 20-pin (2×10, 2.54 mm pitch) IDC connectors. Mating part: any standard 20-pin IDC ribbon header. Pin 1 is indicated by the connector chamfer and by the marked wire on standard IDC ribbon cable.
Connector → DATA-line mapping (1:1 to MPIO-96 channels via the populated SO-DIMM slot T1):
|
Connector |
Signals (DATA[…]) |
Mapped MPIO channels |
|---|---|---|
|
J1 |
DATA[0–15] |
MPIO00–MPIO15 |
|
J2 |
DATA[16–31] |
MPIO16–MPIO31 |
|
J3 |
DATA[32–47] |
MPIO32–MPIO47 |
|
J4 |
DATA[48–63] |
MPIO48–MPIO63 |
|
J5 |
DATA[64–79] |
MPIO64–MPIO79 |
|
J6 |
DATA[80–95] |
MPIO80–MPIO95 |
Per-connector pin map. The J1–J6 pin map on the A2 Plus is identical to the standalone ESH10000355 module. The fixed pins are:
|
Pin |
Signal |
Notes |
|---|---|---|
|
1 |
+5 V |
Thermistor-fused at 0.25 A. |
|
2 |
+12–20 V |
Thermistor-fused at 0.25 A. |
|
3–20 |
16× DATA + GND returns |
See the ESH10000355 — 6× IDC N-TOP Breakout Module page for the full pin layout and connector drawing. |
Note: the J2 / J3 designators here (IDC breakout) are distinct from the J2 / J3 on the M.2 PSU module — they are on different physical modules of the chassis.