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:
- Overview - Brief module description
- Description - Detailed capabilities and key features
- Hardware Details - Chip specifications, communication buses, addresses
- Channel Naming Convention - NetName format and examples
- User-Accessible Channels - Complete channel table with types and usage
- Channel Configuration - Configuration parameters and modes
- Programming Interface - Code examples for common operations
- Best Practices - Recommendations for effective usage
- Module Initialization Sequence - Reset behavior and startup sequence
- 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
- Identify your module using the Product ID (found on the module label or via API)
- Read the module documentation to understand available channels and capabilities
- Configure channels using the programming interface
- Test basic operations (read inputs, set outputs)
- Apply calibration if supported by the module
- Implement your application following best practices
Module Development Guide
For guidance on generating documentation for new modules, see:
- generate_module_description.md - Methodology for creating module documentation from source code
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.