PCs and Linux SBCs are strong for networking, UI, databases, AI, and cloud workloads.
Edgeware iOP-1000
Python-first I/O Processor for Linux SBCs and PCs
Control analog input, analog output, digital I/O, PWM, counters, Stepper, and Fault functions from hosts such as PCs, Raspberry Pi, Orange Pi, and CM4 using only a Python library.
Edgeware iOP-1000 turns Linux SBCs and PCs into Python-controlled I/O systems.
Edgeware iOP-1000 is an I/O Processor platform that lets PCs and Linux SBCs control analog and digital I/O with Python.
Problem
Linux and Python are powerful, but real-time I/O is difficult.
However, 10-100 ms control loops, stable PWM, counters, Fault latch, and analog/digital I/O often require separate MCU development.
Conventional MCU boards require users to develop firmware directly.
Conventional DAQ or PLC I/O can be expensive or weak as a Python-first development experience.
Solution
iOP-1000 is a dedicated I/O Processor between the host and field I/O.
iOP-1000 hides the internal implementation so users do not need to manage it, and exposes only a Python library and a fixed I/O model. Users call device I/O functions from Python code without writing MCU firmware.
Technical Spec
Key Features / Technical Specification
| Host Interface | USB 2.0 Device, SPI Slave, I2C Slave |
|---|---|
| Analog Input | Up to 16 channels, 12-bit, sequential sampling |
| Analog Output | 2 channels, 12-bit DAC |
| Digital I/O Pool | 24-32 channels target, function-selectable |
| PWM | Up to 8 channels |
| Counter | Up to 4 channels |
| Stepper / Pulse | Up to 2 axes |
| Fault Latch | Up to 8-channel logic specification |
| Watchdog | Host timeout safe-state support |
| Python SDK | pyiop provided |
iOP-1000 is not a fixed-pin full channel device. It uses a configurable I/O pool architecture. DIO pins can be assigned as DI, DO, PWM, Counter, Stepper, or Fault depending on configuration.
pyIop Python SDK
Control I/O with a few lines of Python code
from pyiop import IOP1000
io = IOP1000.open_usb()
voltage = io.ai.read(0)
io.ao.write(0, 1.25)
io.do.write(3, True)
io.pwm.set(0, frequency=1000, duty=40.0)
count = io.counter.read(0)
faults = io.fault.status()pyIop abstracts USB, SPI, and I2C transport, and users control iOP-1000 through the same API.
Forms
Product Forms
iOP-1000 Reference Board
Developer evaluation and validation board
For early customers, partners, and distributorsiOP-1000 Bare Board
Low-cost USB/SPI/I2C I/O board
For makers, labs, and small automationiOP-1000 Module
Module mountable on customer PCBs
For OEMs and equipment manufacturersiOP-1000-RC
Pre-programmed chip form
For volume customers and long-term targetsUse Cases
Use Cases
Notice
Limitations and Safety Notice
- iOP-1000 Reference/Bare Board is not an isolated industrial PLC I/O module.
- The default analog input range is in the 0-3.3 V domain based on the MCU supply.
- 0-10 V, 4-20 mA, 24 V DI/DO, and high-voltage/high-current control require external signal conversion, protection circuits, and isolation circuits.
- Safety-critical shutdown must be used together with external hardware interlocks.
- The internal implementation of iOP-1000 may change, but the goal is to maintain Python API and I/O model compatibility.
Resources
Resources
FAQ
FAQ
How is iOP-1000 different from a general MCU development board?
iOP-1000 is not a development board where users write firmware. It is an I/O Processor platform that controls predefined I/O functions through a Python library.
Does Python perform real-time control directly?
No. Python handles configuration, commands, monitoring, and 10-100 ms control loops. Time-sensitive functions such as PWM, counters, and Fault latch are handled inside iOP-1000.
Can 24 V industrial inputs be connected?
We recommend not connecting them to the basic Reference/Bare Board. 24 V DI/DO, 0-10 V, and 4-20 mA require external signal conversion, protection, and isolation circuits.
Can it be used with PCs as well as Raspberry Pi?
It can be used with PCs, laptops, and industrial PCs through USB, and with Linux SBCs such as Raspberry Pi, Orange Pi, and CM4 through SPI/I2C.
What is the internal implementation of iOP-1000?
The initial implementation is based on a low-cost mixed-signal MCU. Users do not develop the internal MCU directly; they use it like an I/O Processor through the iOP-1000 protocol and pyIop library.
Contact / RFQ
Interested in the Edgeware iOP-1000 Reference Board and pyIop SDK?
Send a sample inquiry, partner inquiry, or technical documentation request. This static site has no backend submission handler, so the form opens an email inquiry.