ULN2803A
Eight-channel Darlington sink driver: each output pulls LOW while its input is HIGH.
Live catalog
Prefer labwired_describe with the catalog id over guessing pins or addresses.
Status at a glance
| Aspect | Status |
|---|---|
| Catalog id | uln2803 |
| Bus | GPIO (logic_gate) |
| Address | — |
| Source | configs/devices/uln2803.yaml (declarative, no Rust model) |
| Datasheet | Toshiba ULN2803APG/AFWG (2010-12-03) schematic and electrical characteristics; TI ULN2803C SLRS076B Table 4-1 for pin names |
| Tier | smoke-proven (pad-level tests on a NUCLEO-L476RG bus: crates/core/tests/everyday_sensor_set.rs) |
Pins / attachment
| Pin / net | Role |
|---|---|
| IN1..IN8 (1B..8B / I1..I8) | Inputs — MCU outputs, keys in1_pin..in8_pin |
| OUT1..OUT8 (1C..8C / O1..O8) | Outputs, keys out1_pin..out8_pin |
| COM, GND | Not modelled |
Every role must be bound in a placement.
Support matrix
| Behavior | Status | Notes |
|---|---|---|
| OUTn = !INn, eight independent channels | ✅ | |
| Propagation delay | ⚠️ | One delay, 200 ns (tOFF); tON is 100 ns on silicon |
| Open collector | ⚠️ | An OFF output is driven HIGH, standing in for the load or pull-up |
| Output current, VCE(sat), COM clamp diodes | ❌ | |
| Input threshold (VIN(ON) ≥ 3.5 V recommended) | ❌ | Any logic-high pad turns the channel on |
Stimulus
The input pads themselves; there are no host channels.
How to run
- Place the part and an MCU in Playground, or add it to a system YAML:
- Agent:
labwired_list→labwired_describe id=uln2803→ wire →labwired_validate→labwired_run/labwired_verify. - Pad-level smoke:
cargo test -p labwired-core --test everyday_sensor_set— all-off, all-on, both checkerboards and a walking one, read back through the GPIO input registers. The negative control proves the check fails against outputs stuck low, stuck high, or following the inputs;uln2803_tracks_stimuluswalks the 200 ns delay cycle by cycle.
Limitations
- A channel with nothing connected floats on a bench. Here it reads high.
See the YAML header for the full datasheet trace and every named approximation.