Skip to the content
PCBKitNew board
2 layers58.4 × 50 mmPinpoint core, the printed circuit board in 3D

Pinpoint core

lab11/polypoint143

Indoor localization based on the DecaWave DW1000.

Size
58.4 × 50 mm
Copper layers
2
Thickness
1.6 mm
Parts
111
Nets
108
Pads
648
Tracks, vias
0, 0
Routed
Not yet
KiCad
KiCad 4
Created
28 Mar 2015
Updated
3 Jun 2019

Overview

Pinpoint core 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 2-layer board of 58.4 × 50 mm with 111 parts on 108 nets.

It is built around the SN65MLVD207D, AOZ1282CI and FT231XS-R, with the PCA9545AD, 93LC56B and FT4232HL among its other parts. Its parts include 50 resistors, 35 capacitors, 16 ICs, 5 connectors and 1 diode. It belongs with the radio and wireless boards of this library.

Main components

7

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

111
QtyValueFootprintReferences
180.1uFCapacitors_SMD:C_0402C10, C11, C12, C13, C14, C15, C16, C17, C18, C20, C21, C22, C23, C24, C28, C30 +2
161KResistors_SMD:R_0402R29, R30, R31, R32, R33, R34, R35, R36, R37, R38, R39, R40, R41, R42, R43, R44
8290Resistors_SMD:R_0402R45, R46, R47, R48, R49, R50, R51, R52
8DNPResistors_SMD:R_0402R14, R15, R16, R19, R22, R23, R25, R27
7C_SmallCapacitors_SMD:C_0402C32, C33, C34, C35, C36, C37, C38
510KResistors_SMD:R_0402R4, R7, R8, R9, R21
54.7uFCapacitors_SMD:C_0805C1, C2, C19, C27, C29
4P82B96-PPHousings_SSOP:TSSOP-8_3x3mm_Pitch0.65mmU12, U13, U15, U17
4SN65MLVD207DHousings_SOIC:SOIC-14_3.9x8.7mm_Pitch1.27mmU5, U6, U8, U10
3CONN_02X18polypoint:PCIx_36posP2, P3, P4
210Resistors_SMD:R_0402R17, R18
2100Resistors_SMD:R_0402R10, R11
227Resistors_SMD:R_0402R12, R13
230pFCapacitors_SMD:C_0402C25, C26
247pFCapacitors_SMD:C_0402C7, C8
2FILTERCapacitors_SMD:C_0402FB1, FB2
2R_SmallResistors_SMD:R_0402R24, R28
10Resistors_SMD:R_0402R1
110uFCapacitors_SMD:C_0805C3
112K/1%Resistors_SMD:R_0402R20
115.8KResistors_SMD:R_0402R3
122uHpolypoint:INDUCTOR_6.0mm_6.0mmL1
12KResistors_SMD:R_0402R26
149.9KResistors_SMD:R_0402R2
193LC56BHousings_SOT-23_SOT-143_TSOT-6:SOT-23-6U9
1AOZ1282CIHousings_SOT-23_SOT-143_TSOT-6:SOT-23-6U1
1CONN_02X18polypoint:PCIx_36pos_Card_EdgeP1
1CRYSTAL_SMD_4polypoint:XTAL_2.50mm_2.00mm_4PADX1
1D_Schottky_SmallDiodes_SMD:SOD-323D1
1FT231XSpolypoint:SSOP-20_6.0x8.7mm_Pitch0.65mmU4
1FT4232Housings_QFP:LQFP-64_10x10mm_Pitch0.5mmU7
1ICS574Housings_SOIC:SOIC-8_3.9x4.9mm_Pitch1.27mmU11
1INTEL_EDISONpolypoint:INTEL_EDISONU3
1PCA9545AHousings_SSOP:TSSOP-20_4.4x6.5mm_Pitch0.65mmU14
1SN74AVCH8T245Housings_SSOP:TSSOP-24_4.4x7.8mm_Pitch0.65mmU16
1USB_Bpolypoint:USB_Micro-B_VertP13

Questions

How big is the Pinpoint core PCB?

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

What parts does the Pinpoint core use?

111 parts, built around the SN65MLVD207D, AOZ1282CI, FT231XS-R and PCA9545AD. 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 core KiCad files?

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

Can I use the Pinpoint core 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
  • 4 layers80 × 78.7 mmPinpoint timebase, the printed circuit board in 3D

    Pinpoint timebase

    lab11/polypoint

    Indoor localization based on the DecaWave DW1000.

    70 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

  • 4 layers60 × 60 mmASPECT2, the printed circuit board in 3D

    ASPECT2

    xboxoneresearch/ASPECT2-PCB

    Facet2 FabA PCB Clone

    132 parts18
  • 4 layers180 × 140 mmOpenPNP, the printed circuit board in 3D

    OpenPNP

    jaytektas/openPNP_mobo

    393 parts
  • 2 layers35.6 × 19.1 mmI2C Extenion, the printed circuit board in 3D

    I2C Extenion

    koson/KicadProject

    17 parts
  • 2 layers70 × 79 mmIntegrated circuits, the printed circuit board in 3D

    Integrated circuits

    LilyTronics/lily_kicad_lib

    KiCad library by LilyTronics

    37 parts2MIT
  • 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