Skip to the content
PCBKitNew board
2 layers65 × 56.5 mmPitail, the printed circuit board in 3D

DecaWave DW1000 Linux kernel driver

Size
65 × 56.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
372
Nets
49
Pads
588
Tracks, vias
577, 79
Pours
3
Routed
Yes
KiCad
KiCad 4
Created
13 Mar 2018
Updated
16 Oct 2019

Overview

Pitail is an open-source printed circuit board by mcb30, from the mcb30/dw1000 repository on GitHub. It is a 2-layer board of 65 × 56.5 mm with 372 parts on 49 nets, routed with 577 tracks and 79 vias.

It is built around the DWM1000, 24LC128-I/P and MIC5504-3.3YM5. Its parts include 11 resistors, 4 capacitors, 4 diodes, 3 ICs and 3 connectors. It belongs with the radio and wireless boards of this library.

Main components

3

README

README.md

Overview

The DecaWave DW1000 is an IEEE 802.15.4 ultra-wideband (UWB) radio chip, capable of timestamping received and transmitted packets with a nominal resolution of 64GHz (15ps). This equates to a distance of around 0.5cm, allowing the DW1000 to be used to construct a viable indoor positioning system. (Note that sub-centimetre resolution is extremely unlikely to be achieved in practice.)

This repository contains a Linux kernel module for the DecaWave DW1000 radio chip, and a reference design for a Raspberry Pi Hat PCB based around the DWM1000 module. The total material cost in single-unit quantities is around $30-$50 per board (including the manufacture of the PCB itself).

Build instructions

On your Raspberry Pi, install the most recent kernel along with the corresponding kernel headers:

text
sudo apt update
sudo apt install raspberrypi-kernel raspberrypi-kernel-headers

If necessary, reboot to ensure that you are running the correct kernel version:

text
sudo reboot

Build and install the kernel module(s):

text
git clone --depth 1 https://github.com/raspberrypi/linux rpi/kernel/linux
KBUILD=/lib/modules/`uname -r`/build
make -C ${KBUILD} M=`pwd`/rpi/kernel
sudo make -C ${KBUILD} M=`pwd`/rpi/kernel modules_install
sudo depmod -a

Install the udev and ifupdown configuration files:

text
sudo make -C rpi/config install

Retrigger udev to detect the DW1000:

text
sudo udevadm trigger

List your network devices:

text
ip addr

You should see two interfaces: wpan0 and lowpan0. For example:

text
wpan0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 123 state UNKNOWN
 link/ieee802.15.4 70:b3:d5:b1:e0:00:00:02 brd ff:ff:ff:ff:ff:ff:ff:ff
lowpan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1280 state UNKNOWN
 link/6lowpan 70:b3:d5:b1:e0:00:00:02 brd ff:ff:ff:ff:ff:ff:ff:ff
 inet6 fe80::72b3:d5b1:e000:2/64 scope link
    valid_lft forever preferred_lft forever

Congratulations; you now have a working DW1000 network interface!

Parts

372
QtyValueFootprintReferences
4RPi_Hat:RPi_Hat_Mounting_Hole, , ,
410KResistors_SMD:R_0603R7, R10, R12, R14
4150RResistors_SMD:R_0603R0, R1, R2, R3
33K9Resistors_SMD:R_0603R4, R5, R6
3FiducialFiducials:Fiducial_1mm_Dia_2.54mm_Outer_CopperTopFID1, FID2, FID3
21uCapacitors_SMD:C_0603C0, C1
1100nCapacitors_SMD:C_0603C2
110nCapacitors_SMD:C_0603C3
124LC128Housings_SOIC:SOIC-8_3.9x4.9mm_Pitch1.27mmU2
13V3pitail:Test_PadTP1
1CONN_01X02Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mmJ1
1DWM1000_div:DWM1000U1
1MIC5504-3.3YM5TO_SOT_Packages_SMD:SOT-23-5U0
1RXLEDs:LED_0603D1
1RXpitail:Test_PadTP4
1RXOKpitail:Test_PadTP2
1RXOKLEDs:LED_0603D3
1Raspberry_Pi_2_3pitail:Samtec_HLE-120-02-XXX-DV-BE-XX-XX_MirroredJ0
1Raspberry_Pi_2_3pihat:Samtec_HLE-120-02-XXX-DV-BE-XX-XXJ2
1SFDpitail:Test_PadTP3
1SFDLEDs:LED_0603D2
1TXLEDs:LED_0603D0
1TXpitail:Test_PadTP5
1WPpitail:Test_PadTP0

The 38 most common of 372 parts.

Questions

How big is the Pitail PCB?

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

What parts does the Pitail use?

372 parts, built around the DWM1000, 24LC128-I/P and MIC5504-3.3YM5. 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 Pitail KiCad files?

From the mcb30/dw1000 repository on GitHub, at the commit this page was made from: the board is rpi/circuit/pitail.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Pitail design in my own project?

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

Similar boards

  • 4 layers90.9 × 100 mmTycho, the printed circuit board in 3D

    Tycho

    greatscottgadgets/tycho

    Production test jig for Cynthion

    168 parts7CERN-OHL-P-2.0
  • 2 layers58.2 × 38.1 mmUsb sniffer, the printed circuit board in 3D

    Usb sniffer

    ataradov/usb-sniffer

    Low-cost LS/FS/HS USB sniffer with Wireshark interface

    87 parts1.3kBSD-3-Clause
  • 2 layers85.1 × 62.2 mmMic extension board, the printed circuit board in 3D

    Mic extension board

    StoneRose35/cortexguitarfx

    guitar effects processor implemented on various arm cortex platforms

    75 parts146
  • 4 layers100 × 100 mmSDR board, the printed circuit board in 3D

    SDR board

    BillyWoods/Narrowband-SDR

    A four-channel narrowband SDR receiver based around the Mirics MSi001, MAX11131 and FX2LP.

    467 parts16
  • 4 layers42.7 × 68.1 mmFpgb, the printed circuit board in 3D

    Fpgb

    dotcypress/fpgb

    Forth Programmable Breadboard

    35 parts11Apache-2.0
  • 2 layers49.5 × 5.7 mmCAP EEPROM-24LC, the printed circuit board in 3D

    CAP EEPROM-24LC

    CrashBangProto/CAP_EEPROM-24LC

    Toadstool CAP - EEPROM 24LC

    8 partsGPL-3.0
  • 4 layers101.6 × 53.3 mmRC202-68000 SIO 1, the printed circuit board in 3D

    RC202-68000 SIO 1

    MarkD833/RCBUS-68xxx

    My Motorola 68000 & 68302 processors (+ SIO, PIO & MFP boards) for the RCBus ecosystem.

    42 parts8GPL-3.0
  • 6 layers64 × 64 mmMain power hub, the printed circuit board in 3D

    Main power hub

    bluesatunsw/owr

    This repo includes all software necessary to operate the Test Rover Platform that is being designed and developed in the 502 project.

    135 parts5Apache-2.0