Live demo — data resets daily at 03:00 UTC. Nothing you enter is saved. Server UI →

Accordion Module Documentation

This documentation provides detailed technical specifications for Accordion hardware modules (ESH1* series). Each module includes channel descriptions, hardware details, programming interfaces, and best practices.


Quick Navigation

Module Index

Product ID Module Name Description Channels
ESH10000590 Precision ADC/DAC Module High-precision analog I/O with 12 ADC and 8 DAC channels 21
ESH10000025 GPIO Module 96 bidirectional digital I/O channels with voltage control 108
ESH10000028 AMUX Module 10 independent 8:1 analog multiplexers with bus routing Variable
ESH10000121 MPIO-I2C Module 96 MPIO channels with I²C master/slave support 96+
ESH10000239 I2C Long Range 4ch Module Long-distance I²C communication (4 channels) Variable
ESH10000355 N 6IDC Module Six isolated DC power control channels 6+
ESH10000359 N5 TOP COMM Module Communication module with UART, SPI, I²C, CAN, Ethernet Variable
ESH10000517 Environment Module Environmental monitoring (temperature, humidity, etc.) Variable
ESH10000533 M.2 PSU Module Dual-channel PMBus power supply (LTC3889) ~100
ESH10000534 PoE M.2 Module Power over Ethernet with M.2 socket support Variable
ESH10000535 Sparrow N-TOP Module Sparrow platform top communication module Variable
ESH10000536 M.2 Active Load 2ch Module Two-channel active load for M.2 devices 2+
ESH10000540 Fixture Electronics Sparrow Module Test fixture control electronics Variable
ESH10000543 Fixture Link Module Test fixture interconnect module Variable
ESH10000560 Tone Module Audio tone generation and detection Variable
ESH10000568 MPIO-96 SPI Module 96 MPIO channels with SPI support 96+
ESH10000589 4 DPDT Relay Module Four double-pole double-throw relays 8+

Module Categories

Analog I/O Modules

  • ESH10000590 - Precision ADC/DAC Module
    • High-precision 24-bit ADC and 16-bit DAC
    • Calibration support
    • Pseudo-digital and numeric result modes

Digital I/O Modules

  • ESH10000025 - GPIO Module

    • 96 bidirectional digital channels
    • Per-bank voltage control (1.2V-5.0V)
    • Register-based parallel I/O
  • ESH10000121 - MPIO-I2C Module

    • 96 mixed-purpose I/O channels
    • I²C master and slave support
    • Pseudo-digital capabilities
  • ESH10000568 - MPIO-96 SPI Module

    • 96 mixed-purpose I/O channels
    • SPI communication support
    • Flexible signal routing

Signal Routing Modules

  • ESH10000028 - AMUX Module
    • 10 independent 8:1 analog multiplexers
    • Cross-connect switches
    • Bus routing for I²C, UART, SPI, JTAG

Communication Modules

  • ESH10000239 - I2C Long Range 4ch Module

    • Extended-distance I²C communication
    • 4 independent channels
  • ESH10000359 - N5 TOP COMM Module

    • Multi-protocol support (UART, SPI, I²C, CAN)
    • Ethernet connectivity
  • ESH10000535 - Sparrow N-TOP Module

    • Sparrow platform communication hub

Power & Control Modules

  • ESH10000355 - N 6IDC Module

    • Six isolated DC power channels
    • Precision current and voltage control
  • ESH10000533 - M.2 PSU Module

    • Dual-channel PMBus power supply
    • LTC3889 controller with comprehensive telemetry
    • Calibration and fault protection
  • ESH10000534 - PoE M.2 Module

    • Power over Ethernet
    • M.2 device interface
  • ESH10000536 - M.2 Active Load 2ch Module

    • Two-channel electronic load
    • M.2 device testing
  • ESH10000589 - 4 DPDT Relay Module

    • Four high-power DPDT relays
    • Signal switching and power control

Specialty Modules

  • ESH10000517 - Environment Module

    • Temperature, humidity, and environmental sensors
  • ESH10000540 - Fixture Electronics Sparrow Module

    • Test fixture control and interfacing
  • ESH10000543 - Fixture Link Module

    • Test fixture interconnection
  • ESH10000560 - Tone Module

    • Audio generation and analysis

Documentation Structure

Each module documentation includes:

  1. Overview - Brief module description
  2. Description - Detailed capabilities and key features
  3. Hardware Details - Chip specifications, communication buses, addresses
  4. Channel Naming Convention - NetName format and examples
  5. User-Accessible Channels - Complete channel table with types and usage
  6. Channel Configuration - Configuration parameters and modes
  7. Programming Interface - Code examples for common operations
  8. Best Practices - Recommendations for effective usage
  9. Module Initialization Sequence - Reset behavior and startup sequence
  10. Revision History - Module version information

Key Concepts

Channel Types

  • AnalogChannel: Voltage measurement or generation
  • DigitalChannel: Digital I/O (true/false states)
  • PseudoDigitalChannel: Analog channel with digital threshold interpretation
  • NumericResultChannel: Multi-sample data acquisition
  • CalibrationChannel: Calibration data storage and retrieval
  • RegisterChannel: Direct register access for parallel I/O

Channel Usage Types

  • UserAllocatable: Channels directly accessible to users for configuration and control
  • ReadOnlySystemControl: System information readable by users
  • HiddenSystemControl: Internal channels not exposed to users

Channel Direction

  • IN: Input only
  • OUT: Output only
  • IN/OUT: Bidirectional (configurable)

Channel Naming Convention

All channels follow the format:

{ModuleIndex}.{ModuleType}.{ChannelName}

Example: 0.ESH10000590.ADC05 (Module at position 0, ADC channel 5)


Common Programming Patterns

Channel Configuration

// Configure channels before use
ConfigureChannels(new[] {
    new AnalogChannel {
        NetName = "0.ESH10000590.ADC00",
        Enabled = true,
        Direction = DirectionTypes.IN,
        // ... additional parameters
    }
});

Reading Values

// Read one or more channels
string[] values = GetValues(new[] { 
    "0.ESH10000590.ADC00",
    "0.ESH10000590.ADC01"
});

Setting Values

// Set output channels
SetValues(
    new[] { "0.ESH10000590.DAC00" },
    new[] { "2.5" }  // 2.5V output
);

Getting Started

  1. Identify your module using the Product ID (found on the module label or via API)
  2. Read the module documentation to understand available channels and capabilities
  3. Configure channels using the programming interface
  4. Test basic operations (read inputs, set outputs)
  5. Apply calibration if supported by the module
  6. Implement your application following best practices

Module Development Guide

For guidance on generating documentation for new modules, see:


Support & Additional Resources

  • Source Code: submodules/accordionuno/Modules/ESH{ProductID}.cs
  • Channel Definitions: submodules/protocolserver/submodules/esharpdefinitions/ChannelSupport/ChannelDefinitions/*.cs
  • Device Library: submodules/devicelibrary/Devices/

Documentation Version: 1.0
Last Updated: March 2026
Copyright: © 2026 ESharp. All rights reserved.

An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.