Skip to the content
2 layers16.7 × 12.8 mmUSlime BNO085 Module, the printed circuit board in 3D

USlime BNO085 Module

ReSummit/uSlime4

Micro form of SlimeVR trackers using BNO085

Size
16.7 × 12.8 mm
Copper layers
2
Thickness
1.6 mm
Parts
19
Nets
21
Pads
65
Tracks, vias
122, 10
Pours
3
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
10 May 2024
Updated
6 Jan 2025

Overview

USlime BNO085 Module is an open-source printed circuit board by ReSummit, from the ReSummit/uSlime repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 16.7 × 12.8 mm with 19 parts on 21 nets, routed with 122 tracks and 10 vias.

It is built around the BNO085 and X1502WR-05K-N0SN. Its parts include 7 resistors, 4 capacitors, 2 connectors and 1 IC.

Main components

2

README

README.md

Micro form of SlimeVR trackers using BNO085 and ESP32-C6-MINI module, as small as possible

Limited to 1 sided PCB but utilizes two layer to achieve a maximal dimension of 25mm x 28mm (including the ESP32-C6-MINI module)

Also includes some test points if you wanna add idk RGB lights to it or something like that lol

PCB Variants and Versions

Currently, v1.0.0 is the preferred PCB version and is listed in the releases. As a note, your red charge LED will always be on while the device is on. While this makes for a good indicator that your tracker is on, some may not like that the LED is always on. v1.1.0 fixes this but results in a long trace, change in pinout, and additional components needed.

If you do not mind the always on LED, use v1.0.0 as it is less likely to result in RF issues. If you are bothered by the LED, use a 2k or higher SMD resistor value or use v1.1.0.

On variants, there are currently three different types of main board PCBs and 2 types of supplementary modules. The first kind are listed as follows:

  • uSlime_PCB: The default PCB with the BNO085 circuit on board. Contains the working BNO085 utilizing the internal crystal (of which there is little room for an external crystal)
  • uSlime_PCB_Module: Similar to the default PCB; however, the BNO085 is replaced with a 5 pin I2C pin for attaching a uSlime_BNO085_Module on the back or front side of the PCB (in case you want to replace the IMU with a better one).
  • uSlime_PCB_Pack: The default PCB but using pack resistors to attempt the reduction of part placements by quantity. This has not been updated to v1.0.0 yet, DO NOT USE.

For supplementary modules, the variants are as follows:

  • uSlime_BNO085_Module: The default PCB for supplementary modules. In addition to the connectors that are compatible with the original SlimeVR trackers, they also have headers that you can use to connect it to something else instead if you decide not to use it for SlimeVR. This increases the versatility of the IMU for other projects. Due to the small size, a crystal could not be placed; however, one could be placed with a slightly larger PCB size.
  • uSlime_BNO085: The other PCB for supplementary modules without the header pins. This is if you are sure that you are only using this for SlimeVR. You can technically still use this for other projects like with headers, but you will likely solder on wires.

BOM and Pre-requisites

Bill of materials (BOMs) can be found in the bom folder within the respective PCB folder. These are generated on a by release basis, so they may not be up to date. It is highly recommended to generate the BOM using the "Interactive Html Bom" plugin found in typical KiCAD repository plugins.
Following the BOM placements using a BOM plugin to show where components are placed is mandatory, as there is no space for reference designators on the PCB.

In addition to this, a hot plate, solder paste, and some needle tipped tweezers are also required. Flux may also be needed to fix any bridges that pop up on the board. Obviously, the components on the BOM are also required.

Building the PCB

When ordering the PCB, choose to place the JLC PCB indicator as a preferred spot is placed on the PCB itself (if using JLCPCB for PCB production). You should also get a stencil to put solder paste on the PCB.

Again, following the BOM placements using a BOM plugin to show where components are placed is mandatory, as there is no space for reference designators on the PCB. Place solder paste on the PCB. Afterwards, follow the Interactive HTML BOM to place all the capacitors, resistors, IMU, and MCU on the PCB. When ready, you can then place this on a hot plate. Please make sure that there are no bridges on the BNO085 or the USB C connector, as these can cause issues with functionality.

Verification (MUST READ)

Before testing and using, make sure to bridge the address bridge pads on the back of the PCB. Verify that the board and the IMU functions by flashing the ESP32-C6 firmware first. If there is no address response, something may be wrong with the IMU (more likely to fail). Once you have verified that the IMU and MCU works, you can then solder the rest of the THT components such as the external IMU connector and battery connector.

Firmware

The PCB currently uses a ESP32-C6 or equivalent MCU. Right now, there is a pull request to introduce this MCU into the SlimeVR ESP32 firmware located here:
SlimeVR ESP32-C6 Pull Request

The Arduino core is technically updated but is still pending its full support to the ESP32-C6 line. Therefore, treat this as a beta firmware and subject to broken features or bugs.

PCB Limitations

Due to the inherent nature of this PCB, there is a chance that this PCB may produce RF. We have not tested for RF emission but regardless, be careful if using this in RF restricted environments.

Also, the main PCB does not have USB voltage protection circuits! Unfortunately, we ran out of time for the release but it is plausible to add it...

In addition, due to the single-sided PCB layout, this is not technically as small as it could be. There have been countless videos that showcase the design possibly being smaller. Some resistor and SMD components can also be moved to the back due to the ease in soldering those components. However, those are slated for a v2.0.0 PCB and is not expected to be released within anytime this year.

Lastly, it is known that the charger SMD compoenent tends to heat up rather quickly while charging the battery. This shouldn't reach the melting point of solder but it is worth mentioning; perhaps a more efficient IC would be better here.

Images:

Footprints Used

Some footprints and symbols were used from other sources:

Parts

19
QtyValueFootprintReferences
40.1uFCapacitor_SMD:C_0402_1005MetricC1, C2, C3, C4
42.2kResistor_SMD:R_0402_1005MetricR3, R4, R6, R7
310kResistor_SMD:R_0402_1005MetricR1, R2, R5
2LOGOuSlime-libs:uSlime_logoG***, G***
1BNO085uSlime-libs:BNO080U1
1Conn_01x05Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_VerticalJ1
1Jumper_3_OpenJumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mmJP1
1X1502WR-05K-N0SNuSlime-libs:CONN-TH_5P-P1.50_X1502WR-05K-N0SNCN1

The 17 most common of 19 parts.

More from ReSummit/uSlime

4
  • 2 layers25 × 22.6 mmUSlime, the printed circuit board in 3D

    USlime

    ReSummit/uSlime

    Micro form of SlimeVR trackers using BNO085

    48 parts4GPL-3.0
  • 2 layers25 × 22.6 mmUSlime PCB Pack, the printed circuit board in 3D

    USlime PCB Pack

    ReSummit/uSlime

    Micro form of SlimeVR trackers using BNO085

    40 parts4GPL-3.0
  • 2 layers25 × 22.6 mmUSlime PCB Module, the printed circuit board in 3D

    USlime PCB Module

    ReSummit/uSlime

    Micro form of SlimeVR trackers using BNO085

    36 parts4GPL-3.0
  • 2 layers16.7 × 12.8 mmUSlime BNO085, the printed circuit board in 3D

    USlime BNO085

    ReSummit/uSlime

    Micro form of SlimeVR trackers using BNO085

    14 parts4GPL-3.0

Similar boards

  • 2 layers29.5 × 24.3 mmEidon tracker, the printed circuit board in 3D

    Eidon tracker

    Eidon-AI/eidon-tracker

    Wearable battery powered IMU to Bluetooth module.

    19 parts20
  • 4 layers46.1 × 45.6 mmAvionics mainboard, the printed circuit board in 3D

    Avionics mainboard

    AFS-pt/PROMETHEUS-1

    Documentation lives here: https://afs-pt.github.io/PROMETHEUS-1

    202 parts15
  • 6 layers100 × 62 mmExpansion board v4, the printed circuit board in 3D

    Expansion board v4

    naizhao/Pilot-Kit-Box-ESP32-P4

    Pilot Kit Box (ESP32-P4 Edition)

    235 parts11MIT
  • 8 layers99.4 × 60 mmIO SDR 1.1, the printed circuit board in 3D

    IO SDR 1.1

    rishivg/IO-SDR

    Open-Source software-defined FPGA radio hardware platform

    339 parts10CERN-OHL-S-2.0
  • 2 layers188.9 × 115 mmLayer3, the printed circuit board in 3D

    Layer3

    8076ducc/robocup-2025

    ducc.'s RCJ Soccer 2025 Team Repository

    59 parts4
  • 2 layers115.8 × 160.2 mmKicad RCJ, the printed circuit board in 3D

    Kicad RCJ

    edrobotics/rescue_maze_2024

    Code for Robocup Junior Rescue Maze 2024

    84 parts4GPL-3.0
  • 6 layers80 × 80 mmV2ultimateflightcomp, the printed circuit board in 3D

    V2ultimateflightcomp

    codinga593/IRIS

    A next generation model rocket focused on a precise propulsive landing on a tower.

    144 parts3
  • 6 layers91.5 × 91.5 mmIO SDR 1.1, the printed circuit board in 3D

    IO SDR 1.1

    SunnyYoshimitsu/Reconfigurable-Space-Compute-Cluster

    Here will be the repository for an "extremely reconfigurable satellite" aimed toward at competing in NASA Minds and hopefully assist Artemis in its missions.

    284 parts3

Questions

How big is the USlime BNO085 Module PCB?

It measures 16.7 × 12.8 mm and has 2 copper layers, 1.6 mm thick.

What parts does the USlime BNO085 Module use?

19 parts, built around the BNO085 and X1502WR-05K-N0SN. 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 USlime BNO085 Module KiCad files?

From the ReSummit/uSlime repository on GitHub, at the commit this page was made from: the board is uSlime_BNO085_Module/uSlime_BNO085_Module.kicad_pcb and its schematic uSlime_BNO085/BNO085.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the USlime BNO085 Module 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).