

Nucleo shield
Configurable Home Controller
- Size
- 151 × 90.9 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 77
- Nets
- 170
- Pads
- 523
- Tracks, vias
- 1,244, 44
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 4
- Created
- 11 Dec 2016
- Updated
- 20 Dec 2020
Overview
Nucleo shield is an open-source printed circuit board by clementleger, from the clementleger/chc repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 151 × 90.9 mm with 77 parts on 170 nets, routed with 1,244 tracks and 44 vias.
It is built around the PCF8574AP, LTV-847 and 74HC595, with the ULN2803 among its other parts. Its parts include 31 resistors, 23 connectors, 15 ICs and 1 capacitor.
Main components
4PCF8574AP
DIP-16-40℃~+85℃ 100kHz 10uA 2.5V~6V 25mA 300uA 8 8 Cascade and address expansion、Built-in LED driver I2C Interrupt Output Quasi-bidirectional output DIP-16 I/O Expanders ROHSHGSEMII/O ExpandersLTV-847
DIP-16-30℃~+110℃ 1.2V 100mV@20mA,1mA 200mW 35V 3us 4 4us 50% 50mA 50mA 5kV 600% 6V DC Phototransistor DIP-16 Transistor, Photovoltaic Output Optoisolators ROHSLite-OnTransistor, Photovoltaic Output Optoisolators74HC595
SOP-16-40℃~+85℃ 1 100ns@5V,50pF 10MHz 2V~6V 74HC 8 Serial-to-Serial or Parallel Tri-State SOP-16 Shift Registers ROHSGRShift RegistersULN2803
SOP-18-300mil-20℃~+70℃ 1.7V 100uA 15pF 30V 500mA 50V 65uA 8 SOP-18-300mil Darlington Transistor Arrays ROHSShanghai Siproin MicroelectronicsDarlington Transistor Arrays
README
README.mdCHC
Configurable Home Controller is a home automation software in order to control relays, sensors, etc. It aims at beeing the low level interface between the server and the electric part of the installation. For that, it is connected through ethernet to the home network.
The board has a lot of IO such as:
-
Sensors:
- BME280
- BH1750
- DS18B20
-
GPIO:
- Microcontroller GPIO
- Shift register (74hc595)
- PCF8574 GPIO expander
-
Screen:
- ILI9341
- SSD1306
-
Buses:
- I2C
- SPI
- OneWire
- RS485
-
Ethernet:
- Wiznet W5100/5200, etc
The currently implemented protocol is MySensor and can be used other ethernet or serial.
Software
The software part uses JSON to describe the board.
### Requirements
In order to be able to build the software, you will need gcc4mbed. For that, use the following command:
$ cd sw/gcc4mbed $ ./linux_install
Then follow the instruction.
Build
To build chc, you will need to go into sw/src folder. Then execute make:
$ make
The system will generate binaries for Configured nucleo boards and for
To override the default config, use make CONFIG=config_name
Hardware
Pictures

Schematic and Board
The schematic and board layout was made using Kicad
Parts
77| Qty | Value | Footprint | References |
|---|---|---|---|
| 30 | R | Resistors_SMD:R_0805_HandSoldering | R1, R2, R3, R17, R18, R19, R20, R25, R26, R27, R28, R34, R35, R36, R37, R38 +14 |
| 6 | LTV-847 | Housings_DIP:DIP-16__300 | U3, U4, U5, U6, U15, U16 |
| 4 | 74HC595 | Housings_DIP:DIP-16__300 | U1, U2, U11, U12 |
| 3 | PCF8574A | Housings_DIP:DIP-16__300 | U7, U8, U14 |
| 2 | ULN2803 | Housings_DIP:DIP-18__300 | U9, U10 |
| 1 | CONN_02X06 | Pin_Headers:Pin_Header_Straight_2x06 | P14 |
| 1 | CONN_1WIRE | Pin_Headers:Pin_Header_Straight_1x03 | P18 |
| 1 | CONN_EXT2 | Pin_Headers:Pin_Header_Straight_2x03 | P15 |
| 1 | CONN_EXTI2C | Pin_Headers:Pin_Header_Straight_1x05 | P16 |
| 1 | CONN_EXT_SPI | Pin_Headers:Pin_Header_Straight_1x06 | P19 |
| 1 | CONN_INH1 | w_conn_screw:mors_8p | P1 |
| 1 | CONN_INH2 | w_conn_screw:mors_8p | P5 |
| 1 | CONN_INH3 | w_conn_screw:mors_8p | P17 |
| 1 | CONN_LCD_SD | Pin_Headers:Pin_Header_Straight_2x05 | P7 |
| 1 | CONN_OUT3 | Pin_Headers:Pin_Header_Straight_1x10 | P2 |
| 1 | CONN_OUT4 | Pin_Headers:Pin_Header_Straight_1x10 | P8 |
| 1 | CONN_OUTH1 | w_conn_screw:mors_8p | P10 |
| 1 | CONN_OUTH2 | w_conn_screw:mors_8p | P11 |
| 1 | CONN_RS485_IN | Pin_Headers:Pin_Header_Straight_1x04 | P13 |
| 1 | CONN_RS485_OUT | Pin_Headers:Pin_Header_Straight_1x04 | P12 |
| 1 | CONN_SCT | Pin_Headers:Pin_Header_Straight_1x02 | P9 |
| 1 | CON_BH | Pin_Headers:Pin_Header_Straight_1x04 | P21 |
| 1 | CON_BME | Pin_Headers:Pin_Header_Straight_1x04 | P20 |
| 1 | CP | Capacitors_ThroughHole:C_Radial_D5_L11_P2 | C1 |
| 1 | ETH_CONN | Pin_Headers:Pin_Header_Straight_2x04 | P6 |
| 1 | Nucleo-F411RE-CN10 | Pin_Headers:Pin_Header_Straight_2x19 | CN101 |
| 1 | Nucleo-F411RE-CN7 | Pin_Headers:Pin_Header_Straight_2x19 | CN71 |
| 1 | POWER_24V_CON | w_conn_screw:mors_2p | P3 |
| 1 | POWER_CON | w_conn_screw:mors_2p | P4 |
| 1 | R_LCD_LED | Resistors_SMD:R_0805_HandSoldering | R33 |
The 70 most common of 77 parts.
More from clementleger/chc
1- 2 layers

Similar boards
- 2 layers160 × 111.4 mm

- 2 layers90 × 90 mm

595-n channel drive
jbteja/jbt05-io-extender-74hc595-uln2803-mosfet
IO extender for switching On/Off low current motors and solenoid valves
146 partsMIT - 2 layers50 × 50 mm

- 2 layers140 × 75 mm

- 2 layers86.1 × 121.7 mm

OpenDeck v0
Bugatsec/OpenDeck-RP2040-v0
OpenDeck-RP2040-v0 is a DIY 9-key macro pad prototype inspired by the Elgato Stream Deck, built around the Seeed XIAO RP2040.
32 parts1MIT - 2 layers31.7 × 58.4 mm

- 2 layers88.9 × 142.2 mm

MiniJoyMiniStepper
Believotron/Believotronics
Believotronics is a low-cost DIY open source robotics platform you can print and build at work or from home. Our first projects are a MicroscopeBot and a ThroughholeSolderBot.
94 parts8MIT - 2 layers120 × 80 mm

Questions
How big is the Nucleo shield PCB?
It measures 151 × 90.9 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Nucleo shield use?
77 parts, built around the PCF8574AP, LTV-847, 74HC595 and ULN2803. 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 Nucleo shield KiCad files?
From the clementleger/chc repository on GitHub, at the commit this page was made from: the board is hw/nucleo_shield/nucleo_shield.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Nucleo shield design in my own project?
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).