Skip to the content
2 layers100 × 100 mmOptocupler, the printed circuit board in 3D

Expander board for driving valve motors, relays and measuring tempature

Size
100 × 100 mm
Copper layers
2
Thickness
1.6 mm
Parts
63
Nets
69
Pads
202
Tracks, vias
320, 6
Pours
1
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
26 Jul 2024
Updated
9 Jun 2026

Overview

Optocupler is an open-source printed circuit board by Lenart12, from the Lenart12/etera-uart-bridge repository on GitHub. It is a 2-layer board of 100 × 100 mm with 63 parts on 69 nets, routed with 320 tracks and 6 vias.

It is built around the BS170. Its parts include 20 resistors, 11 capacitors, 10 diodes, 9 connectors and 8 ICs. It belongs with the audio and music and home automation and IoT boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

1

README

README.md

Etera uart gpio expander

Project Description

This project is an expander board designed to provide control for valve motors, eight relays, and the ability to measure multiple temperature sensors using the one-wire protocol. The board is implemented using KiCad PCB design software and the PCB files can be found in the pcb folder. The firmware for the board is developed using PlatformIO and can be found in the pio-eub-firmware folder. Additionally, a Python library for interfacing with the expander board is available in the pyetera-uart-bridge folder.

More information about the expander board, including usage instructions and examples, can be found in the pyetera-uart-bridge/README.md file.

Hardware Description

The expander board is designed to provide versatile control capabilities for various applications. It features 8 GPIO pins that can be utilized for controlling relays or other general-purpose tasks. Additionally, the board is equipped with the ability to control 4 motors, incorporating optocouplers to ensure protection and isolation of the motor control circuits.

For temperature monitoring, the board supports one-wire temperature sensors. These sensors are enhanced with an active pull-up mechanism to ensure reliable communication over long distances. Furthermore, the board includes a FET driver to improve the slew rate, which helps in reducing electromagnetic interference and improving signal integrity over long wire distances. For this purpose the standard Arduino OneWire library was modified into OneWireFet which can support mastering the 1-wire bus with two uC pins.

Appendix A. Improved CPU Bus Interface

Appendix A. Improved CPU Bus Interface

For long line applications, modifications are necessary. Appendix A shows a variant of the microprocessor port-pin attachments, i e., a FET driver with slew-rate control and a 1kΩ pullup resistor. A radius of up to 200m and a weight of up to 200m can be reliably supported using this interface.

For more detailed guidelines on setting up reliable long-line one-wire networks, you can refer to this technical article.

Schematic

Schematic

Circuit

Circuit

Home assistant MQTT device

MQTT

Hardware

Installed PCBs

Parts

63
QtyValueFootprintReferences
20RResistor_THT:R_Axial_DIN0411_L9.9mm_D3.6mm_P12.70mm_HorizontalR1, R2, R3, R4, R5, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20 +4
8CCapacitor_THT:C_Axial_L17.0mm_D6.5mm_P20.00mm_HorizontalC1, C2, C3, C4, C5, C6, C7, C8
8LEDLED_THT:LED_D5.0mmD1, D2, D3, D4, D5, D6, D7, D8
8NSL-32optocupler:DIP-5-6_W7.62mm_LongPadsU1, U2, U3, U4, U5, U6, U7, U8
4Conn_01x04_MaleConnector_Phoenix_MSTB:PhoenixContact_MSTBVA_2,5_4-G_1x04_P5.00mm_VerticalJ4, J5, J6, J7
3CCapacitor_THT:C_Disc_D4.7mm_W2.5mm_P5.00mmC9, C10, C11
2Conn_01x03_FemaleConnector_JST:JST_NV_B03P-NV_1x03_P5.00mm_VerticalJ3, J9
2D_ShockleyDiode_THT:D_A-405_P10.16mm_HorizontalD9, D10
2FuseFuse:Fuseholder_Cylinder-5x20mm_Stelvio-Kontek_PTF78_Horizontal_OpenF1, F2
1Arduino_Nano_v3.xModule:Arduino_NanoA1
1BS170Package_TO_SOT_THT:TO-92_InlineQ1
1Conn_01x04_FemaleConnector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalJ8
1Conn_01x05_FemaleConnector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_VerticalJ2
1Conn_01x10_FemaleConnector_PinSocket_2.54mm:PinSocket_1x10_P2.54mm_VerticalJ1
1VaristorVaristor:RV_Disc_D15.5mm_W4mm_P7.5mmRV1

Similar boards

  • 2 layers21.1 × 26.9 mmDemo, the printed circuit board in 3D

    Demo

    easyw/kicadStepUpMod

    kicadStepUp: ECAD to MCAD FreeCAD WorkBench

    16 parts704
  • 2 layers94.6 × 46.1 mmHeaterMeterPI, the printed circuit board in 3D

    HeaterMeterPI

    CapnBry/HeaterMeter

    HeaterMeter and LinkMeter Arduino BBQ Controller

    66 parts557MIT
  • 2 layers97.1 × 97 mmADX, the printed circuit board in 3D

    ADX

    WB2CBA/ADX

    ADX - Arduino Digital Modes HF Transceiver

    82 parts136
  • 2 layers121 × 68 mmFreeds sanchez, the printed circuit board in 3D

    Freeds sanchez

    pablozg/freeds

    Derivador de energía solar excedente creado por Pablo Zerón, Diseño PCB por Amcalo, Tester original por Aeizoon, Wiki por Zoilo Mora

    42 parts108
  • 2 layers167.6 × 97.5 mmAS3397 proto DIP, the printed circuit board in 3D

    AS3397 proto DIP

    PhysicsDptAngers/polyUAnalog

    Open source, analog and polyphonic synthesizer

    142 parts88MIT
  • 2 layersT41-Main+RF board V012, the printed circuit board in 3D

    T41-Main+RF board V012

    DRWJSCHMIDT/T41

    This is the repository for the officially released V10, V11, and V12 versions of the T41 Software Defined Transceiver hardware and kits.

    255 parts66
  • 2 layers71.1 × 24.1 mmDactyl manuform gimbal, the printed circuit board in 3D

    Dactyl manuform gimbal

    sffubs/dactyl_manuform_gimbal

    Instrutions and designs for building the dactyl-manuform-gimbal keyboard

    20 parts57

Questions

How big is the Optocupler PCB?

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

What parts does the Optocupler use?

63 parts, built around the BS170. 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 Optocupler KiCad files?

From the Lenart12/etera-uart-bridge repository on GitHub, at the commit this page was made from: the board is pcb/optocupler.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Optocupler design in my own project?

Its repository states no licence, so its author keeps all rights: ask Lenart12 before reusing the design.