Skip to the content
PCBKitNew board
2 layers47 × 71.2 mmReceiver6 rep, the printed circuit board in 3D

Code for Bluetooth Low Energy bee tracking system

Size
47 × 71.2 mm
Copper layers
2
Thickness
0.2 mm
Parts
288
Nets
12
Pads
1,184
Tracks, vias
3,296, 96
Pours
320
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
18 Mar 2024
Updated
27 May 2026

Overview

Receiver6 rep is an open-source printed circuit board by SheffieldMLtracking, from the SheffieldMLtracking/BLETrack repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 47 × 71.2 mm with 288 parts on 12 nets, routed with 3,296 tracks and 96 vias.

Its parts include 64 capacitors, 32 ICs, 32 connectors and 32 crystals. It belongs with the radio and wireless boards of this library.

README

README.md

path

Code for Bluetooth Low Energy bee tracking system.

  • "Transmitter" folder contains the code to be flashed to the BT832X/BM832E transmitter board.
  • "Receiver" folder contains the code to be flashed to the DA14531 chip on-tag and the 'Active Scanner' code for testing & diagnostics.
  • "To Print" folder contains FreeCAD files of the transmitter housing.
  • "Path Inference" folder contains code to process data from tag/dev board
  • Test data stored here

Notes on Programming Transmitter

Transmitter programming:

  • Requires nRF Connect SDK.
  • Create a build for the nrf52dk_nrf52832 and add the included device tree overlay.
  • Connect nrf52dk and BT832X/BM832E to the computer via JLINK (done via micro USB cable). Connect DEBUG OUT on nrf52dk to DEBUG IN on BT832X/BM832E:nrf52dk_programming_example
  • flashthisfirst.c must be flashed to the BT832X/BM832E first - then main.c can be flashed.

NOTE: P0.31 is used for encoder output A, P0.30 for encoder output B and P0.11 for hall effect sensor input.

Receiver programming:

  • Requires Keil uVision and configuration of environment as shown here.
  • To program a receiver tag via flashing code to the OTP memory, follow these instructions. If you need to debug code on a tag, do not flash to the OTP. DA14531 USB Development Kit can be used as a serial wire debug probe to debug code on an external DA14531 chip on the receiver tag using this configuration of SWIO cables and DIP switches.
  • Note: binary for compiled DA14531 is found in Keil/DA14531_OUT/Objects.
  • Note: USB dev kit switches should be configured as shown: da14531_usb

Usage of the System

Setting Up Transmitters

  • Charge transmitters before field trial!
  • Each transmitter is placed onto a tripod across the landscape. The 0 degree point on the tripod (denoted by the small magnet on the base the transmitter sits in) should be pointed north using a compass before placing the transmitter itself upon the tripod. The transmitter should be level with the ground and mounted as high up as possible.
  • As each transmitter is turned on, the time between turning each on should be taken using a stop watch. This time is later used to zero the time readouts in the packets.
  • Using the "Active Scanner" code downloaded to the DA14531 USB Dev Kit, the serial output from the dev kit - which can be accessed using a serial terminal program such as Tera Term - should be used to verify the functionality of the tramsitters. The packets recieved by the active scanner are in the following form and should be assessed to ensure that the transmitter is in fact transmitting and that the motor is reading out ~360 degrees of rotation, resetting at the zero point. If there is an issue, the transmitter may need reprogramming, regarching or the motor encoder may have been knocked out of place. Screenshot from 2024-10-29 13-43-06
  • Each transmitter currently has a range of approximately 100m (further at peak signal strength but not currently used in angle inference algorithm). The area tracked should be covered by at least 2, preferably 3 transmitters.

Using a Receiever Tag

  • A programmed tag should be allowed to drain fully to hardware reset, then be charged and attatched to a bee.
  • Following retrieval, put the tag on charge and apply ground to the interrupt pin to switch the tag into transmit mode.
  • The data of each packet is encoded in the destination addr, in the same form as the transmitted packets except the RSSI of the packet is encoded in the leftmost byte. Using a bluetooth sniffer (reccomended nrf52 BLE sniffer) and Wireshark the transmitted packets can be read. The following filter shows only read packets:

btle.advertising_header.pdu_type == 0x01 && !_ws.expert && btle.advertising_address == 80:ea:ca:70:00:04

Performing Infernece

  • Instructions for performing path inference on data are located in PathInferenceFinalCut.inpyb

Parts

288
QtyValueFootprintReferences
32CCapacitor_SMD:C_0402_1005MetricC1, C1, C1, C1, C1, C1, C1, C1, C1, C1, C1, C1, C1, C1, C1, C1 +16
32CP3225ALibrary:CAPCP3225X100N_improvedC2, C2, C2, C2, C2, C2, C2, C2, C2, C2, C2, C2, C2, C2, C2, C2 +16
32Conn_01x08_PinLibrary:FPC_1x08_P1.00mm_plug_3mmJ1, J1, J1, J1, J1, J1, J1, J1, J1, J1, J1, J1, J1, J1, J1, J1 +16
32Crystal_GND24Library:Crystal_SMD_Abracon_ABM13W-4Pin_1.2x1.0mmY1, Y1, Y1, Y1, Y1, Y1, Y1, Y1, Y1, Y1, Y1, Y1, Y1, Y1, Y1, Y1 +16
32DA14531_17-ball_WLCSPLibrary:DA14531_17-ball_WLCSPU1, U1, U1, U1, U1, U1, U1, U1, U1, U1, U1, U1, U1, U1, U1, U1 +16
32SolderWirePad_1x01_SMD_1x2mmConnector_Wire:SolderWirePad_1x01_SMD_1x2mmA1, A1, A1, A1, A1, A1, A1, A1, A1, A1, A1, A1, A1, A1, A1, A1 +16

The 192 most common of 288 parts.

Questions

How big is the Receiver6 rep PCB?

It measures 47 × 71.2 mm and has 2 copper layers, 0.2 mm thick.

What parts does the Receiver6 rep use?

288 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 Receiver6 rep KiCad files?

From the SheffieldMLtracking/BLETrack repository on GitHub, at the commit this page was made from: the board is Tag PCBs/rec8/receiver6_rep.kicad_pcb and its schematic Tag PCBs/2026 Tag Designs/Flat LED Tag 44uF Caps/Flat LED Tag/flatLEDtag/flatLEDtag.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Receiver6 rep design in my own project?

Its repository publishes it under the GPL-3.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 SheffieldMLtracking/BLETrack

8
  • 2 layers80.1 × 22.5 mmAccel tag, the printed circuit board in 3D

    Accel tag

    SheffieldMLtracking/BLETrack

    Code for Bluetooth Low Energy bee tracking system

    14 partsGPL-3.0
  • 2 layers64.9 × 8.9 mmFlatLEDtag, the printed circuit board in 3D

    FlatLEDtag

    SheffieldMLtracking/BLETrack

    Code for Bluetooth Low Energy bee tracking system

    11 partsGPL-3.0
  • 2 layers64.9 × 8.9 mmFlatLEDtag, the printed circuit board in 3D

    FlatLEDtag

    SheffieldMLtracking/BLETrack

    Code for Bluetooth Low Energy bee tracking system

    11 partsGPL-3.0
  • 2 layers11.8 × 38.4 mmReceiver6, the printed circuit board in 3D

    Receiver6

    SheffieldMLtracking/BLETrack

    Code for Bluetooth Low Energy bee tracking system

    10 partsGPL-3.0
  • 2 layers11.8 × 8.9 mmReceiver6, the printed circuit board in 3D

    Receiver6

    SheffieldMLtracking/BLETrack

    Code for Bluetooth Low Energy bee tracking system

    9 partsGPL-3.0
  • 2 layers11.8 × 39.2 mmReceiver6, the printed circuit board in 3D

    Receiver6

    SheffieldMLtracking/BLETrack

    Code for Bluetooth Low Energy bee tracking system

    8 partsGPL-3.0
  • 2 layers11.8 × 38.4 mmReceiver6, the printed circuit board in 3D

    Receiver6

    SheffieldMLtracking/BLETrack

    Code for Bluetooth Low Energy bee tracking system

    8 partsGPL-3.0
  • 2 layers11.8 × 8.9 mmReceiver6, the printed circuit board in 3D

    Receiver6

    SheffieldMLtracking/BLETrack

    Code for Bluetooth Low Energy bee tracking system

    3 partsGPL-3.0

Similar boards

  • 2 layers302.4 × 230.7 mmSandy 3in1, the printed circuit board in 3D

    Sandy 3in1

    jpskenn/Sandy

    a Keyboard with key height optimization

    288 parts5MIT
  • 2 layers200 × 99.1 mmUsbchargerpanel12, the printed circuit board in 3D

    Usbchargerpanel12

    cvanbibber/USB-Charger

    A simple USB charger board for soldering, with USB-C bidirectional port, USB-A, and micro-USB as an introduction to pcb design and usb standards.

    288 parts1GPL-3.0
  • 2 layers304.3 × 108.3 mmNyx, the printed circuit board in 3D

    Nyx

    HorrorTroll/Nyx

    65% layout PCB with compatible many UDB position

    288 parts1GPL-2.0
  • 2 layers100 × 100 mmSmartmeter IR ReaderOnly V12 multi, the printed circuit board in 3D

    Smartmeter IR ReaderOnly V12 multi

    greenMikeEU/shrdzm

    SHRDZM (just a name, not an acronym) is an ESP8285/ESP8266 based sensor and actor integration platform.

    288 partsGPL-3.0
  • 2 layers99.8 × 89.8 mmPanelized, the printed circuit board in 3D

    Panelized

    jensh/attiny-20led-ring.kicad

    Kicad files for https://github.com/jensh/attiny-20led-ring : Charlieplexing 20 LEDs on an attiny45.

    288 parts
  • 2 layers148.7 × 104.3 mmPrntrBoardV2, the printed circuit board in 3D

    PrntrBoardV2

    kitspace-test-repos/kicad6-file-collection

    288 partsMIT