Skip to the content
PCBKitNew board
4 layers80 × 78.7 mmPinpoint timebase, the printed circuit board in 3D

Pinpoint timebase

lab11/polypoint143

Indoor localization based on the DecaWave DW1000.

Size
80 × 78.7 mm
Copper layers
4
Thickness
1.6 mm
Parts
70
Nets
103
Pads
372
Tracks, vias
637, 96
Pours
1
Routed
Yes
KiCad
KiCad 4
Created
28 Mar 2015
Updated
3 Jun 2019

Overview

Pinpoint timebase is an open-source printed circuit board by lab11, from the lab11/polypoint repository on GitHub, published under the Apache-2.0 licence. It is a 4-layer board of 80 × 78.7 mm with 70 parts on 103 nets, routed with 637 tracks and 96 vias.

It is built around the STM32F031G4U6, AOZ1282CI and NCP1117ST, with the SN74AVC1T45DCK and RJ45 among its other parts. Its parts include 30 capacitors, 11 ICs, 10 resistors, 9 connectors and 1 diode. It belongs with the radio and wireless boards and the STM32 boards of this library.

Main components

5

README

README.md

PolyPoint

PolyPoint

PolyPoint is a system for using ultra-wideband RF time-of-flight ranging to perform indoor localization. It incorporates the DecaWave DW1000 for UWB packet transmission and timestamping into a solder-on module that provides node-to-node ranges over an I2C interface.

Name

The name PolyPoint comes from the use of many polygons and shapes in the prototype design and the desire to pinpoint where users are with the system.

Git Clone

When cloning this repository, be absolutely sure to do

text
git clone --recursive https://github.com/lab11/polypoint.git

so that you get the submodules as well. All of the supporting libraries and build tools are in submodules for the various hardware platforms used in this project.

Hardware

The PolyPoint system is composed of several hardware pieces. At the core is the TriPoint module which is a 1.25" on a side triangle that encompasses all of the core ranging hardware and software. TriPoint has castellated edges and can be soldered on to a carrier board, effectively as a ranging IC. TriTag is one such carrier board designed to be the tag in the ranging system. It includes the UWB antennas and a Bluetooth Low Energy radio plus a battery charging circuit. TriTag is able to provide ranges to a mobile phone application.

TriPoint

TriPoint includes the following components:

  • DecaWave DW1000 UWB radio
  • STM32F031G6U6 MCU
  • RF switch

The MCU contains all the necessary code to run the DW1000 and the ranging protocol.

TriTag

TriTag

TriTag includes:

  • The TriPoint module
  • 3 UWB antennas
  • nRF51822 BLE radio
  • 3.3 V LDO
  • Li-ion battery charger

TriTag is designed to be the tag to be localized in the system and connected to a smartphone.

TriDev

TriDev is a breakout and testing board for the TriPoint module. It contains the same BLE hardware as TriTag, but also adds an FTDI chip for issuing I2C commands over USB.

Software

PolyPoint contains many software layers that run at various levels of the system.

TriPoint

The core firmware that makes the drop-in TriPoint module work includes all of the logic to implement two way ToF ranging on top of the DecaWave DW1000 UWB radio. The firmware architecture supports multiple "applications", or ranging algorithms, that can be selected at runtime.

TriTag

The TriTag code implements a BLE application that uses the TriPoint module as an I2C device and prov a BLE service. It puts the TriTag hardware into TAG mode and provides ranges over a BLE characteristic.

Phone and BLE

The tools in the /phone directory interact with TriTag and read data across the BLE interface.


Academic Publications

The PolyPoint project has led to two academic publications, and an invited talk at HotWireless'16. If you are interested in the theory behind the ranging protocol, please check out our publications:

If you use PolyPoint or its derivatives, please use the following citation:

bibtex
@inproceedings{kempke16surepoint,
	title = {{SurePoint}: Exploiting Ultra Wideband Flooding and Diversity to Provide Robust, Scalable, High-Fidelity Indoor Localization},
	booktitle = {Proceedings of the 14th ACM Conference on Embedded Networked Sensor Systems},
	series = {SenSys'16},
	year = {2016},
	month = {11},
	location = {Stanford, CA, USA},
	conference-url = {http://sensys.acm.org/2016/},
	author = {Kempke, Benjamin and Pannuto, Pat and Campbell, Bradford and Dutta, Prabal},
}

Parts

70
QtyValueFootprintReferences
270.1uFCapacitors_SMD:C_0402C1, C2, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C23, C24, C25, C26 +11
8SMApolypoint:SMA_EDGEeP7, P2, P3, P4, P5, P8, P9, P10
5RJ45polypoint:RJ45_8J1, J2, J3, J4, J5
4R_SmallResistors_SMD:R_0402R1, R2, R6, R7
210uFCapacitors_SMD:C_0805C21, C22
2150Resistors_SMD:R_0402R3, R4
2551SHousings_SOIC:SOIC-8_3.9x4.9mm_Pitch1.27mmU2, U10
2CONN_01X03Pin_Headers:Pin_Header_Straight_1x03P1, P6
2ICS8545Housings_SSOP:TSSOP-20_4.4x6.5mm_Pitch0.65mmU3, U9
1130Resistors_SMD:R_0402R5
122uHpolypoint:NR6045L1
14.7KResistors_SMD:R_0402R8
14.7uFCapacitors_SMD:C_0805C20
149.9KResistors_SMD:R_0402R9
17N-XX.XXXMBP-Tpolypoint:7N-xx.xxxMBP-TU6
1830S21Housings_SOIC:SOIC-8_3.9x4.9mm_Pitch1.27mmU8
19.53KResistors_SMD:R_0402R10
1AOZ1282CITO_SOT_Packages_SMD:SOT-23-6U4
1BARREL_JACKConnect:BARREL_JACKCON1
1D_SchottkyDiodes_SMD:SOD-323D1
1NCP1117TO_SOT_Packages_SMD:SOT-223U11
1SI5317polypoint:QFN-36_1EP_6x6mmU5
1SN74AVC1T45TO_SOT_Packages_SMD:SC-70-6U1
1STM32F031G4U6polypoint:UFQFPN-28U7
1TC2030-JLINK-NLpolypoint:TC2030J6

Questions

How big is the Pinpoint timebase PCB?

It measures 80 × 78.7 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Pinpoint timebase use?

70 parts, built around the STM32F031G4U6, AOZ1282CI, NCP1117ST and SN74AVC1T45DCK. 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 Pinpoint timebase KiCad files?

From the lab11/polypoint repository on GitHub, at the commit this page was made from: the board is pcb/pinpoint/pinpoint_timebase/pinpoint_timebase.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Pinpoint timebase design in my own project?

Its repository publishes it under the Apache-2.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).

More from lab11/polypoint

6
  • 2 layers58.4 × 50 mmPinpoint core, the printed circuit board in 3D

    Pinpoint core

    lab11/polypoint

    Indoor localization based on the DecaWave DW1000.

    111 parts143Apache-2.0
  • 4 layers31.8 × 27.5 mmProtopoint, the printed circuit board in 3D

    Protopoint

    lab11/polypoint

    Indoor localization based on the DecaWave DW1000.

    57 parts143Apache-2.0
  • 4 layers31.8 × 27.5 mmProtopoint, the printed circuit board in 3D

    Protopoint

    lab11/polypoint

    Indoor localization based on the DecaWave DW1000.

    52 parts143Apache-2.0
  • 2 layers4.9 × 38.1 mmCalibration brace, the printed circuit board in 3D

    Calibration brace

    lab11/polypoint

    Indoor localization based on the DecaWave DW1000.

    38 parts143Apache-2.0
  • 2 layers27.9 × 50.8 mmPinpoint tridev adapter, the printed circuit board in 3D

    Pinpoint tridev adapter

    lab11/polypoint

    Indoor localization based on the DecaWave DW1000.

    27 parts143Apache-2.0
  • 2 layers22 × 28 mmDwatum, the printed circuit board in 3D

    Dwatum

    lab11/polypoint

    Indoor localization based on the DecaWave DW1000.

    14 parts143Apache-2.0

Similar boards

  • 2 layers65 × 29.9 mmPiHat, the printed circuit board in 3D

    PiHat

    mkramar/dizzyrobot

    65 parts13
  • 2 layers130 × 65 mmCan breakout pcb, the printed circuit board in 3D

    Can breakout pcb

    the-mr-music/OrangeCanBreakout

    Board to test the MCP2517 SPI CAN controller together with the Orange Pi Zero Plus 2

    154 parts1CC-BY-SA-4.0
  • 4 layers88 × 35.8 mmNref ports one, the printed circuit board in 3D

    Nref ports one

    cetola/reform-next-mirror

    The original Open Hardware laptop, reloaded.

    153 parts
  • 2 layers56.3 × 62.8 mmLaser projector, the printed circuit board in 3D

    Laser projector

    phuid/laser_projector

    this script installs all the dependencies of my programs and sets up the RaspberryPi to start all the programs on boot using pm2.

    45 parts3
  • 2 layers55 × 73.5 mmPcb dezentral, the printed circuit board in 3D

    Pcb dezentral

    petermaerki/puenterswis_heizung_2023_git

    Puenterswis Heizungsersatz, Steuerung Anlage mit Oekofen Kaskade Pellematic Maxi PESK

    98 parts1
  • 2 layers99.1 × 99.1 mmCnc, the printed circuit board in 3D

    Cnc

    romanchom/cnc-pcb

    PCB designed for use with GRBL ESP32 as a CNC controller.

    54 parts1
  • 2 layers60 × 44 mmBpm meter, the printed circuit board in 3D

    Bpm meter

    schenfab/bpm_meter

    BPM meter for the Auto-Vari 64 drum machine

    85 parts