Skip to the content
PCBKitNew board
2 layers11.8 × 8.9 mmReceiver6, the printed circuit board in 3D

Code for Bluetooth Low Energy bee tracking system

Size
11.8 × 8.9 mm
Copper layers
2
Thickness
0.2 mm
Parts
3
Nets
8
Pads
10
Tracks, vias
8, 0
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
18 Mar 2024
Updated
27 May 2026

Overview

Receiver6 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 11.8 × 8.9 mm with 3 parts on 8 nets, routed with 8 tracks and 0 vias.

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

3
QtyValueFootprintReferences
1
1Conn_01x08_PinLibrary:FPC_1x08_P1.00mm_plug_3mmJ1

The 2 most common of 3 parts.

Questions

How big is the Receiver6 PCB?

It measures 11.8 × 8.9 mm and has 2 copper layers, 0.2 mm thick.

What parts does the Receiver6 use?

3 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 KiCad files?

From the SheffieldMLtracking/BLETrack repository on GitHub, at the commit this page was made from: the board is Tag PCBs/2026 Tag Designs/Supercap Dev/receiver6.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 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 layers47 × 71.2 mmReceiver6 rep, the printed circuit board in 3D

    Receiver6 rep

    SheffieldMLtracking/BLETrack

    Code for Bluetooth Low Energy bee tracking system

    288 partsGPL-3.0
  • 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

Similar boards

  • 2 layers40 × 30 mmBlinky, the printed circuit board in 3D

    Blinky

    earthtojake/text-to-cad

    Design physical products with AI

    3 parts26kMIT
  • 2 layers51.9 × 16 mmPassive2-rpi non standard adapter, the printed circuit board in 3D

    Passive2-rpi non standard adapter

    hzeller/rpi-rgb-led-matrix

    Controlling up to three chains of 64x64, 32x32, 16x32 or similar RGB LED displays using Raspberry Pi GPIO

    3 parts4.4kGPL-2.0
  • 2 layers16.3 × 16.3 mmSensor, the printed circuit board in 3D

    Sensor

    scottbez1/splitflap

    DIY split-flap display

    3 parts4.2k
  • 2 layersSub, the printed circuit board in 3D

    Sub

    atopile/atopile

    Design circuit boards with code! ✨ Get software-like design reuse 🚀, validation, version control and collaboration in hardware; starting with electronics ⚡️

    3 parts4kMIT
  • 2 layers85 × 30 mmDual stomp, the printed circuit board in 3D

    Dual stomp

    torvalds/GuitarPedal

    Linus learns analog circuits

    3 parts2.5kGPL-2.0
  • 2 layers124.5 × 33.7 mm172319-1 connector, the printed circuit board in 3D

    172319-1 connector

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    3 parts1.2k
  • 2 layers10.5 × 83 mmProgrammingAdapter, the printed circuit board in 3D

    ProgrammingAdapter

    stuartpittaway/diyBMSv4

    Version 4 of the diyBMS

    3 parts1.1k
  • 2 layers21.2 × 51.3 mmPico reset, the printed circuit board in 3D

    Pico reset

    hackclub/sprig

    🍃 Learn to code by making games in a JavaScript web-based game editor.

    3 parts1.1kMIT