IOB-Baseboard

Fork project on GitHub

IOB Baseboard - wiring termination and I2C / Power bus management

IOB-Baseboard-Graphic
IOB-Baseboard-Graphic

 

Download IOB-Baseboard -

 

IOB-Baseboard Version 1.0

First built: 2020.09

This board was originally produced to help me build control panels for my model railroad - I needed to connect many different buttons, switches and lights to an Arduino, and also connect the Arduino to a communications bus (Ethernet, CAN or Loconet), and I couldn't find anything that had both high IO point density AND visual feedback. The design moved from overly generic and/or overly specialized designs to a generic design with daughterboards that encapsulate the appliance-specific buffering and logic. The benefits provided by these IOB boards include:

  • Improved I/O bank utilization (leftover capacity is now a multiple of 4-bit daughtercard instead of 16-bit I2C card...)
  • Riser height eliminates having to custom cut 3M track - Allows custom circuitry to be added to Signal, Detector and Turtle drivers

Previous I2C-xxx designs either let to a proliferation of adapters (current sink, input filters…) and to less than robust mechanical designs (daughtercards that easily pulled out of their sockets with cable movement) This version does 4 things:

  • All wiring is terminated into mechanically stable connection points
  • There are personality adapters to account for the level shifting, buffering and other I/O line adaptions that may be needed
  • While I like having blinking LED lights on every I/O line for debugging, others do not - so there is now a plug-in LED monitor slot for each set of 4x I/O lines
  • A generic I2C Expander plug in footprint.

I have built several board variations for various different I2C Expander chips to take advantage of unique addressing, I/O levels, cost, etc - with the only thing changing between boards being the chip related stuff. Maintaining and stocking several “slightly different” board designs gets expensive, both from both inventory and support perspectives. V1.0 is a prototype that seeks to validate the basic modular assumptions I’m making.

Cautions

With several hundred IO loads, and up to 256 external breakout devices, a suitable power supply (or supplies) must be used. In practice, a 3A 9-12VDC supply a good choice for most small to medium sized control points. This supply needs to power the core processor, its direct IO loads, the I2C expander chain AND provide ~100mA to each IO4 device. Instead of relying on the Arduino's onboard regulated supply (which is only good for about 100mA itself), each board has its own regulator with a common supply feed that can handle up to 4A @ 12v. If more power is needed, the daisy chained power feed thru can be replaced with a per-board independent supply.

Schematic
Schematic
Bot Silk
Bot Silk
Board
Board
Top Silk
Top Silk

Download IOB-Baseboard.gerbers.zip - Gerber Fabrication files
Download IOB-Baseboard.parts - Parts List (spreadsheet data)

 

IOB-Baseboard.bom

Parts Value Package Quantity Library Type/Feeder
C1 0.1uF 0603-CAP 1x SPCoast 19
PWR 2.1mm DCJ0202 1x SPCoast PTH
R2, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R18, R21, R22 2K0 0603-RES 17x SPCoast 42
VIN1, VIN2 2mm POWER-R2 2x SPCoast PTH
VIN 7.5-12vDC PWR_LABEL 1x SPCoast PTH
C2 10uF 0603-CAP 1x SPCoast 22
C4 220uF 0810-CAP 1x SPCoast NONE
BOARD1 BOARD BOARD-DINRAIL-3.17IN-IOB 1x SPCoast PTH
VR1 CJ7805 TO-252 1x SPCoast NONE
U$2 CONNECTOR-I2C-EXPANDER I2C-EXPANDER 1x SPCoast PTH
IOB1, IOB2, IOB3, IOB4 CONNECTOR IOB-V3-BASE 4x SPCoast PTH
FID-LR, FID-UL FIDUCIAL FIDUCIAL_1MM 2x SPCoast NONE
LED18 G 0603-LED 1x SPCoast 3
J1, J2 I2C I2C-L 2x SPCoast PTH
U$3, U$4, U$5 MOUNTINGHOLE MOUNTINGHOLE 3x SPCoast PTH
U$1 OSHW OSHW-LOGO-L 1x SparkFun PTH
Q0, Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, Q10, Q11, Q12, Q13, Q14, Q15 P-FET SOT23 16x SPCoast 9
LED2, LED3, LED4, LED5, LED6, LED7, LED8, LED9, LED10, LED11, LED12, LED13, LED14, LED15, LED17, LED19 Y 0603-LED 16x SPCoast 2

This technical documentation is licensed under the CERN Open Hardware Licence v1.2

Tags: eagle SPCoast