Skip to the content
PCBKitNew board
2 layers31.8 × 76.2 mmPi-1w shield, the printed circuit board in 3D

Multi-Input 1-wire shield for Raspberry Pi's. Connect up to six 1-wire sensor busses to a Raspberry Pi. This is useful if you have long sensor lines or want to connect many sensors.

Size
31.8 × 76.2 mm
Copper layers
2
Thickness
1.6 mm
Parts
12
Nets
40
Pads
74
Tracks, vias
55, 0
Pours
1
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
3 Jan 2022
Updated
7 Dec 2023

Overview

Pi-1w shield is an open-source printed circuit board by knulpi, from the knulpi/pi-1wire-multi-shield repository on GitHub, published under the MIT licence. It is a 2-layer board of 31.8 × 76.2 mm with 12 parts on 40 nets, routed with 55 tracks and 0 vias.

Its parts include 6 resistors, 4 connectors and 2 capacitors. It belongs with the sensors and measurement boards of this library.

README

README.md

1-wire multi-shield for Raspberry Pi

Use up to six 1-wire bus lines to connect multiple sensors on long lines.

🇩🇪 Deutsche version

This is a project providing a circuit and PCB design for a Raspberry Pi shield. The board can connect up to six 1-wire buses, enabling to connect up to around 60 sensors, such as the DS18B20. Each data pin of the terminals is wired to one specific GPIO. The board can easily be plugged onto a Raspberry Pi.

Motivation

Connecting 1-wire sensors with long lines is error-prone and will not work with many sensors. You may get random disappearing sensors or bad value readings. Splitting problematic sensor lines into own buses greatly reduces these inabilities.

Circuit

The circuit is quite simple. It basically connects

  • the GND terminals with a Raspberry GND pin
  • the VDD terminals with the Raspberry's 5V net
  • each Data terminal pin with an own GPIO
  • used data pins are
    • GPIO 4, 5, 6, 17, 22, 27

Since the Raspberry's data pins operate at 3V3, the pull-up resistors for the data lines are using the 3V3 net of the Raspberry. The pull-ups are lower than the default recommended value (4k7). This should stabilize long bus lines.

Each power net has a 47uF capacitor for stabilization.

circuit

PCB

The PCB follows the schematic. The pin-header is mounted on the bottom side of the board (see images). This enables the board to be connected directly with the Raspberry pin headers.

Each screw terminal is connected to one net. There is one for GND, one for VDD and one for DATA. Be aware that you might reduce more insulation of your cables to reach all terminals.

pcb

Parts

The gerber files can be used to directly order the board, e.g. via Aisler.

The following parts are needed:

  • 6x 2k7 resistors or similar
  • 2x 47µF capacitors or similar
  • Pitch Screw Terminal Blocks with a 5.08mm pin distance to connect 3x6 wires (e.g. 3x6-pin-blocks or 6x3-pin-blocks etc.)
  • A 20x2 pin female header with a 2.54mm pin distance

Software

⚠ Your kernel must not be too old, so that it supports multiple 1-wire enabled GPIOs

To set up your Pi, enable each GPIO used for 1-wire protocol in your /boot/config.txt. Every GPIO we connected will have its own line. If you are unsure what to do, follow other tutorials in the web that describe the procedure in detail, like this tutorial.

In the end, your /boot/config.txt file should contain these lines:

text
dtoverlay=w1-gpio,gpiopin=4
dtoverlay=w1-gpio,gpiopin=5
dtoverlay=w1-gpio,gpiopin=6
dtoverlay=w1-gpio,gpiopin=17
dtoverlay=w1-gpio,gpiopin=22
dtoverlay=w1-gpio,gpiopin=27

Restart and your sensors will appear in /sys/bus/w1/devices.

General recommendations

  • use shielded wires on long connections
  • lower the resistor to something like 1k5 if you are getting problems with many sensors

Contributing

Feel free to open Pull Requests or just create issues if you feel that something is missing or can be improved.

Parts

12
QtyValueFootprintReferences
62k7Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1, R2, R3, R4, R5, R6
247uCapacitor_THT:CP_Radial_D6.3mm_P2.50mmC1, C2
1DATATerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-6-5.08_1x06_P5.08mm_HorizontalJ2
1GNDTerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-6-5.08_1x06_P5.08mm_HorizontalJ3
1Raspberry_Pi_2_3Connector_PinSocket_2.54mm:PinSocket_2x20_P2.54mm_VerticalJ4
1VDDTerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-6-5.08_1x06_P5.08mm_HorizontalJ1

Questions

How big is the Pi-1w shield PCB?

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

What parts does the Pi-1w shield use?

12 parts. 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 Pi-1w shield KiCad files?

From the knulpi/pi-1wire-multi-shield repository on GitHub, at the commit this page was made from: the board is kikad/pi-1w-shield.kicad_pcb and its schematic kikad/pi-1w-shield.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Pi-1w shield design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layersNrf bga, the printed circuit board in 3D

    Nrf bga

    github-linguist/linguist

    Language Savant. If your repository's language is being reported incorrectly, send us a pull request!

    12 parts14kMIT
  • 2 layers66.9 × 74.5 mmDeskHop, the printed circuit board in 3D

    DeskHop

    hrvach/deskhop

    Fast Desktop Switching Device

    12 parts7.9kGPL-3.0
  • 2 layers40 × 15 mmSensors, the printed circuit board in 3D

    Sensors

    google/mozc-devices

    Circuit diagrams and firmware source code for Gboard DIY keyboards

    12 parts3kApache-2.0
  • 2 layers42.7 × 56.5 mmTle6240 driver, the printed circuit board in 3D

    Tle6240 driver

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    12 parts1.2k
  • 2 layers49 × 25 mm5v boost regulator, the printed circuit board in 3D

    5v boost regulator

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    12 parts915
  • 2 layers28.3 × 10.3 mmTap Photosensor PCB, the printed circuit board in 3D

    Tap Photosensor PCB

    VoronDesign/Voron-Tap

    Tap is a nozzle-based z-probe for the V2 and Trident printer designs. The entire toolhead moves to trigger an optical switch. Tap offers many advantages:

    12 parts716GPL-3.0
  • 2 layers25.4 × 70.4 mmTpmsniffer, the printed circuit board in 3D

    Tpmsniffer

    stacksmashing/pico-tpmsniffer

    A simple, very experimental TPM sniffer for LPC bus

    12 parts696