

Protopoint
Indoor localization based on the DecaWave DW1000.
- Size
- 31.8 × 27.5 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 57
- Nets
- 84
- Pads
- 272
- Tracks, vias
- 857, 89
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 4
- Created
- 28 Mar 2015
- Updated
- 3 Jun 2019
Overview
Protopoint 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 31.8 × 27.5 mm with 57 parts on 84 nets, routed with 857 tracks and 89 vias.
It is built around the STM32F031G6U6, AO6604 and HHM1595A1. Its parts include 40 capacitors, 7 resistors, 7 ICs and 2 crystals. It belongs with the radio and wireless boards and the STM32 boards of this library.
Main components
3STM32F031G6U6
UFQFPN-28(4x4)-40℃~+85℃ 12bit 23 2V~3.6V 32 Bit 32KB 48MHz 4KB ARM Cortex-M0 Built-in FLASH UFQFPN-28(4x4) Microcontrollers (MCU/MPU/SOC) ROHSSTMicroelectronicsMicrocontrollers (MCU/MPU/SOC)AO6604
SOT-23-6L-55℃~+150℃ 1 N-Channel + 1 P-Channel 1.4V 2.3A、3.4A 30V 350mW、350mW 390pF、409pF 41pF、42pF 45mΩ@10V、75mΩ@10V 54.5pF、55pF N-Channel + P-Channel SOT-23-6L MOSFETs ROHSJSMSEMIMOSFETsHHM1595A1
0805-40℃~+85℃ 0.95mm 1.25mm 1.5dB 180°@±20° 2.5dB 2mm 3GHz~8GHz 50Ω:100Ω 8dB 0805 Balun ROHSTDKBalun
README
README.mdPolyPoint
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
git clone --recursive https://github.com/lab11/polypoint.gitso 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 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:
- SurePoint: Exploiting Ultra Wideband Flooding and Diversity to Provide Robust, Scalable, High-Fidelity Indoor Localization. Benjamin Kempke, Pat Pannuto, Bradford Campbell, and Prabal Dutta. Proceedings of the 14th ACM Conference on Embedded Networked Sensor Systems (SenSys’16).
- PolyPoint: Guiding Indoor Quadrotors with Ultra-Wideband Localization. Benjamin Kempke, Pat Pannuto, and Prabal Dutta. 2015 ACM Workshop on Hot Topics in Wireless (HotWireless’15).
If you use PolyPoint or its derivatives, please use the following citation:
@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
57| Qty | Value | Footprint | References |
|---|---|---|---|
| 16 | 0.1uF | Capacitors_SMD:C_0201 | C2, C6, C9, C13, C14, C15, C16, C18, C19, C20, C21, C23, C24, C27, C28, C29 |
| 4 | 12pF | Capacitors_SMD:C_0201 | C25, C26, C32, C36 |
| 3 | 100pF | Capacitors_SMD:C_0201 | C8, C10, C17 |
| 3 | 10pF | Capacitors_SMD:C_0201 | C1, C3, C11 |
| 3 | 10uF | Capacitors_SMD:C_0603 | C33, C39, C40 |
| 3 | 11k | Resistors_SMD:R_0201 | R1, R2, R5 |
| 2 | 100 | Resistors_SMD:R_0201 | R6, R7 |
| 2 | 12pF | Capacitors_SMD:C_0402 | C37, C38 |
| 2 | 330pF | Capacitors_SMD:C_0201 | C5, C7 |
| 2 | 4.7uF | Capacitors_SMD:C_0603 | C4, C22 |
| 2 | AO6604 | polypoint:TSOP-6 | U6, U7 |
| 1 | 0.01uF | Capacitors_SMD:C_0201 | C12 |
| 1 | 1.2pF | Capacitors_SMD:C_0201 | C34 |
| 1 | 16M | polypoint:FA-128 | X2 |
| 1 | 16k | Resistors_SMD:R_0201 | R3 |
| 1 | 18pF | Capacitors_SMD:C_0201 | C35 |
| 1 | 270 | Resistors_SMD:R_0201 | R4 |
| 1 | 27pF | Capacitors_SMD:C_0201 | C30 |
| 1 | 38.4M | polypoint:FA-128 | X1 |
| 1 | 820pF | Capacitors_SMD:C_0201 | C31 |
| 1 | DW1000 | polypoint:QFN-48-EP-6x6mm | U3 |
| 1 | HHM1595A1 | polypoint:HHM1595A1 | T1 |
| 1 | LXDC2HL | polypoint:LXDC2HL | U2 |
| 1 | ProtoPoint_Module | polypoint:ProtoPoint_Module_Castellated | U5 |
| 1 | SKY13317 | polypoint:MLPQ-UT-8-1.5X1.5mm | U4 |
| 1 | STM32F031G6U6 | polypoint:UFQFPN-28 | U1 |
Questions
How big is the Protopoint PCB?
It measures 31.8 × 27.5 mm and has 4 copper layers, 1.6 mm thick.
What parts does the Protopoint use?
57 parts, built around the STM32F031G6U6, AO6604 and HHM1595A1. 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 Protopoint KiCad files?
From the lab11/polypoint repository on GitHub, at the commit this page was made from: the board is pcb/tripoint/v2p0/protopoint.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Protopoint 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 mm

- 4 layers80 × 78.7 mm

Pinpoint timebase
lab11/polypoint
Indoor localization based on the DecaWave DW1000.
70 parts143Apache-2.0 - 4 layers31.8 × 27.5 mm

- 2 layers4.9 × 38.1 mm

Calibration brace
lab11/polypoint
Indoor localization based on the DecaWave DW1000.
38 parts143Apache-2.0 - 2 layers27.9 × 50.8 mm

Pinpoint tridev adapter
lab11/polypoint
Indoor localization based on the DecaWave DW1000.
27 parts143Apache-2.0 - 2 layers22 × 28 mm

Similar boards
- 2 layers74.9 × 20.3 mm

Rt soldering iron
kcuzner/rt-soldering-iron
Soldering iron driver board for Weller RT tips. A work in progress. Firmware in rust.
126 parts6 - 2 layers45 × 45 mm

- 4 layers68 × 68 mm

Backbone
andreapiccini/spaghettilab-community
SpaghettiLab is an open modular hardware and software ecosystem for rapid prototyping, embedded systems development, and product innovation.
212 parts10 - 4 layers83 × 82 mm

ReLoki ECAD
denjos007/ReLoki-pub
ReLoki is a Infrastructre-free UWB based relative localization system. It uses a combination of TWR and Geometric AoA for full 3D localizattion and message transfer between participating agents.
354 parts - 2 layers24 × 14.5 mm

Pinchito uesc
pablogs9/uesc-pinchito
An evolution of the uESC from the rcgroups.com forum by user nppc. Redesign by Pablo Garrido.
17 parts - 4 layers24.5 × 25.8 mm

- 4 layers102 × 40 mm

Display board
arcticlula/Netscore
Device that keeps track of a volleyball's game score (points and sets). Ideally it should be mounted on the net, since it has a display on the front and back and buttons on the sides.
80 partsMIT - 2 layers57 × 27.1 mm
