Skip to main content

BB-400 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.