Skip to the content
2 layers99 × 99 mmOpto 16 channel, the printed circuit board in 3D

16 CHANNEL OPTO I/O BOARD for Adafruit Feather boards.

Size
99 × 99 mm
Copper layers
2
Thickness
1.6 mm
Parts
48
Nets
111
Pads
229
Tracks, vias
170, 0
Pours
1
Routed
Yes
KiCad
KiCad 4
Created
12 Nov 2017
Updated
16 Apr 2022

Overview

Opto 16 channel is an open-source printed circuit board by 0xd-projects, from the 0xd-projects/OPTO-IO-BOARD repository on GitHub. It is a 2-layer board of 99 × 99 mm with 48 parts on 111 nets, routed with 170 tracks and 0 vias.

It is built around the LTV-847, LM1117-3.3 and MCP23017-E/SS. Its parts include 19 resistors, 16 diodes, 7 ICs, 4 connectors and 2 capacitors. It belongs with the microcontroller boards boards and the ESP32 boards of this library.

Main components

3

README

README.md

OPTO-IO-BOARD

This board provides 16 independent voltage detection channels. The channels can be configured to detect Open/Ground signals or Open/5-40V signals. Each channel has a LED that indicates if the channel is ON or OFF, a currently limiting Resistor and an Opto-Isolator. Each channel is then inputted into the MCP23017 IC that is setup as an Open/Ground detect. The MCP23017 has an internal 100K internal pullup to 3.3V that is grounded by the Opto-Isolator when the Input is Active. The MCP23017 samples it's inputs and reports their state over the I2C bus. The Adafruit HUZZAH32 - ESP32 Feather board is used to poll the MCP23017 and send the current state of the channels over the network. The HUZZAH32 Feather can be used over Wifi or with the optional Ethernet FeatherWing.

The board was designed to provide a large input voltage range. The input circuit is a series of two diodes and any input that provides enough current to activate the diodes will trigger the input. The input trigger point is approximately 33ua because the Opto-isolator only has to sink the 33ua provided by the MCP23017 100K pullup to 3.3V. A input 0.5V over the two diodes forward voltage is enough to do this. The minimum input of 5V is more than enough to trigger this as the LED ( approx 2.2V ) and opto-isolator ( approx 1.2V ) have a combined forward voltage of approximately 3.4V and the Opto-isolator has a gain of approximately 70% at this low current level so ( (5V - 3.4V) / 10K ) * 70% => 112ua which is more than the 33ua sourced by the pullup resistor. Note: Some LEDs can have a forward voltage as high as 3.3V which would result in a current of 35ua just a little bit more than the 33ua required.

If you would like to change the voltage level trigger you can add a Zener diode in series to the input circuit. The Zener diode will increase the input level trigger by it's value + approximately 5V. So, if you want to trigger at say 20V you can put a 15V Zener diode in series on the input.

The input voltage is limited by 10K resistor at 1/2W and the max steady state current rating of the input diodes ( Typically 20ma ). At 40V input there is only approximately 3.66ma of current at 0.133W going through the input circuit this is far below the LED's 20ma max at around 4W. The input was rated at 40V ( approximately 27% load ) as a very conservative limit not knowing what conditions the circuit would be used in. The real 50% max input threshold is approximately 53.4V at around 1/4W and 5ma. The 100% load is approximately 74V at around 1/2W and 7ma.

Folder structure

  • doc : Contains PDFs of the board design and the BOM.
  • hw : Contains the Gerber and Kiacad design files for the PCB.
  • sw/opto : Contains example source code for using the board with the optional Ethernet FeatherWing.
  • sw/opto_wifi : Contains example source code for using the board with wifi.
  • sw/sample_receiver : Contains example source code to receive and print the channel status on change.

You can find an overview of the Adafruit HUZZAH32 - ESP32 board at the link below.

You can find an overview of the Adafruit Ethernet FeatherWing at the link below.

You can find the MCP23017 data sheet at the link below.

To build the code you need to download the following SW :

To edit the PCB design you can download Kicad at the link below.

License

The contents of the doc and hw folders are licensed under the Creative Commons Attribution 3.0 license. The contents of the sw folder is licensed under the MIT license.

Parts

48
QtyValueFootprintReferences
19RResistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1, R2, R3, R4, R5, R6, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19 +3
16LEDLEDs:LED_SideEmitter_Rectangular_W4.5mm_H1.6mmD1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16
4LTV-847Housings_DIP:DIP-16_W7.62mmU1, U2, U3, U4
4Screw_Terminal_01x08Connectors_Terminal_Blocks:TerminalBlock_Pheonix_MPT-2.54mm_8polJ1, J2, J3, J4
1CCapacitors_THT:C_Disc_D4.3mm_W1.9mm_P5.00mmC1
1CPCapacitors_THT:CP_Radial_D5.0mm_P2.50mmC2
1LM1117-3.3TO_SOT_Packages_THT:TO-220_VerticalU7
1MCP23017Housings_DIP:DIP-28_W7.62mmU5
1esp_32_boardSockets:ADAFRUIT_FEATHERU6

Similar boards

  • 2 layers160 × 100 mmMPCNC Nano Estlcam Shield, the printed circuit board in 3D

    MPCNC Nano Estlcam Shield

    tnn85/MPCNC-Nano-Estlcam-Shield

    Ein CNC Shield für die MPCNC in Verwendung mit Estlcam

    96 parts70
  • 2 layers83.8 × 120.7 mmAtu100wifi, the printed circuit board in 3D

    Atu100wifi

    ftl/atu100wifi

    A wifi adapter device for David Fainitski's ATU-100 antenna tuner (https://github.com/Dfinitski/N7DDC-ATU-100-mini-and-extended-boards)

    31 parts28MIT
  • 2 layers63 × 80 mmBrakeOutBoard, the printed circuit board in 3D

    BrakeOutBoard

    gmoccapy/T4-MFA

    This is a color MFA designed to be used in a Volkswagen T4 Van

    65 parts9
  • 2 layers155 × 108 mmOpenPlc Rpi, the printed circuit board in 3D

    OpenPlc Rpi

    FOSSEE/openplc_v2

    115 parts5MIT
  • 2 layers320 × 81.3 mmDisplay and controls board, the printed circuit board in 3D

    Display and controls board

    411568/Atmega8_FM_radio

    Simple FM radio based on Atmega8 and TEA5767 module

    103 parts3MIT
  • 4 layers157.5 × 130 mmJv thesis, the printed circuit board in 3D

    Jv thesis

    JhonVelasquez/Embedded_system_Synchronize_Plant

    Project of a embedded system that synchronizes signals in a plant. There is electronic (PCB) and software design (FreeRTOS for STM32F7).

    233 parts2
  • 2 layers228.6 × 152.4 mmMainPCB, the printed circuit board in 3D

    MainPCB

    0x9ONU/BOREALIS

    71 parts1

Questions

How big is the Opto 16 channel PCB?

It measures 99 × 99 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Opto 16 channel use?

48 parts, built around the LTV-847, LM1117-3.3 and MCP23017-E/SS. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Opto 16 channel KiCad files?

From the 0xd-projects/OPTO-IO-BOARD repository on GitHub, at the commit this page was made from: the board is hw/kicad/opto_16_channel.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Opto 16 channel design in my own project?

Its repository states no licence, so its author keeps all rights: ask 0xd-projects before reusing the design.