Digital I/O Configuration
I/O Line Overview
The BB-400 provides 8 digital I/O lines (DIO 0-7) that can be individually configured as inputs or outputs. These lines are managed by the Arduino-compatible ATMEGA32U4 co-processor, providing real-time signal processing independent of the main CPU.
NPN/PNP Configuration
The I/O lines are grouped into two banks of four (DIO 0-3 and DIO 4-7), each with independent jumper selection for NPN or PNP sensor compatibility.
- NPN Mode (Pull-up): For active-low sensors that sink current to ground
- PNP Mode (Pull-down): For active-high sensors that source current
The jumpers are located inside the enclosure on the main PCB, adjacent to the terminal block connectors.
Input Configuration
Basic Digital Inputs
When configured as inputs, the lines accept voltage levels from 0V to 30V:
- Logic Level 0 (Low): 0V to +1V
- Logic Level 1 (High): +2V to +30V
Counter Inputs
Each input can be configured to count transitions at rates up to 200 Hz. Counter values persist across power-off periods.
- 16-bit mode: Counts from 0 to 65,535
- 32-bit mode: Counts from 0 to 4,294,967,296
Latched Inputs
Latched inputs are triggered by programmable positive or negative edges and remain true until explicitly acknowledged by software. This ensures transient events are not missed during polling intervals.
Debounce Settings
Software-configurable debounce timing (0 to 4000 ms) filters mechanical switch bounce and electrical noise.
Output Configuration
When configured as outputs, the lines provide open-drain outputs with protected MOSFET drivers:
- Maximum current per output: 0.85 A
- Maximum combined load: 4 A total
- Maximum load voltage: 30V
- Intelligent short-circuit protection: up to 36V
Default output state is low (off). The open-drain configuration requires an external pull-up or load connected to a positive voltage supply.