Skip to the content
2 layers53.3 × 39.1 mmUniversal v2, the printed circuit board in 3D

Multi node heater control on Nordic BTLE

Size
53.3 × 39.1 mm
Copper layers
2
Thickness
1.6 mm
Parts
30
Nets
114
Pads
229
Tracks, vias
342, 34
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
24 Mar 2019
Updated
31 Jan 2020

Overview

Universal v2 is an open-source printed circuit board by TheTosters, from the TheTosters/HeaterControl repository on GitHub, published under the BSD-3-Clause licence. It is a 2-layer board of 53.3 × 39.1 mm with 30 parts on 114 nets, routed with 342 tracks and 34 vias.

It is built around the BME680, DS18B20 and BL654. Its parts include 8 resistors, 6 capacitors, 6 ICs, 6 connectors and 2 diodes.

Main components

3

README

README.md

IMPORTANT

Toolchain:

  • gcc-arm-none-eabi-8-2018-q4-major, or
  • gcc-arm-none-eabi-8-2019-q3-update-linux

NRF SDK:

  • nRF5_SDK_15.2.0_9412b96

You also need nrfprog tools and small patch for SDK from CMSIS. But this is handled by preapre_env.sh

To build & run tests...

This is super-glue solution, so your eyes will bleeed... It will use host compiler (not cross-compiler) to build host based tests. It is NOT ment to test all, only most complicated logic. So to have test build and run you have to:

text
cmake .. -DBUILD_TESTS=ON
make all

then you can call for example: ./test/time_schedule_tests

Manual patching SDK

If you set C++ to use C++17 dialect then compilation fails :P You have to manualy patch NordicSDK (15.2) and upgrade CMSIS to have things working go here Arm CMSIS 5 on Github and download following files which should be placed here:

CMSIS fileDestination
libarm_cortexM4lf_math.a, libarm_cortexM4l_math.a>nordic_SDK_15.2/components/toolchain/cmsis/dsp/GCC
arm_cortexM4lf_math.lib arm_cortexM4l_math.lib>nordic_SDK_15.2/components/toolchain/cmsis/dsp/ARM
CMSIS_5-develop/CMSIS/Core/Include>nordic_SDK_15.2/components/toolchain/cmsis/include

clean & build all should work

Variants

This repository contains several firmware variants. It can be used by setting proper defines for CMake, most easy way to do it is to execute ccmake. Below is list of build variants and their descriptions:

VariantEntry pointDescription
Indoor SHT_ADVmain_indoor_1.cppBT: Advertisement
Sensor: SHT30
Buttons: None
LED: None
Display: None
Indoor SHT_GATTmain_indoor_1a.cppBT: GATT
Sensor: SHT30
Buttons: None
LED: None
Display: None
Indoor DS_FULLmain_indoor_1.cppBT: Advertisement
Sensor: DS18B20
Buttons: yes
LED: None
Display: Yes

Origins

first instruction taken from: https://github.com/Polidea/cmake-nRF5x It is constantly changed and improved (or downproved :P)

Parts

30
QtyValueFootprintReferences
610Resistor_SMD:R_0402_1005MetricR1, R2, R3, R6, R7, R8
4100nFCapacitor_SMD:C_0402_1005MetricC1, C3, C4, C5
210uFCapacitor_Tantalum_SMD:CP_EIA-2012-12_Kemet-RC2, C6
24,7kResistor_SMD:R_0402_1005MetricR4, R5
2BME680Package_LGA:Bosch_LGA-8_3x3mm_P0.8mm_ClockwisePinNumberingU2, U6
2BatteryCR2032_BatHolder:Cr2032-HolderB1, B2
2DS18B20Pads:3PadsJ1, J4
2EXT_PORTPads:5xPadJ3, J5
2LED_BARGEverlight:Everlight_19-237_R6GHBHC-M07_2TD1, D2
2PROG_PORTPads:5xPadJ2, J6
2SHT30-DIS-BSHT30-DIS-B:DFN250X250X100-9NU3, U5
1BL654Laird:BL654U4
1HolyIot-18010HolyIot:HolyIot_18010U1

More from TheTosters/HeaterControl

4
  • 2 layers48.5 × 36.8 mmReciever, the printed circuit board in 3D

    Reciever

    TheTosters/HeaterControl

    Multi node heater control on Nordic BTLE

    21 partsBSD-3-Clause
  • 2 layers32.8 × 24.9 mmHeaterControl, the printed circuit board in 3D

    HeaterControl

    TheTosters/HeaterControl

    Multi node heater control on Nordic BTLE

    17 partsBSD-3-Clause
  • 2 layers35.3 × 30.2 mmUniversal v3, the printed circuit board in 3D

    Universal v3

    TheTosters/HeaterControl

    Multi node heater control on Nordic BTLE

    16 partsBSD-3-Clause
  • 2 layers31.5 × 27.2 mmHeaterControl, the printed circuit board in 3D

    HeaterControl

    TheTosters/HeaterControl

    Multi node heater control on Nordic BTLE

    14 partsBSD-3-Clause

Similar boards

  • 2 layers54 × 54 mmPCB C, the printed circuit board in 3D

    PCB C

    dragondgold/CanSat

    Plataforma educativa basada en un satélite CanSat

    58 parts1GPL-3.0
  • 2 layers86 × 80 mmStromwaechter, the printed circuit board in 3D

    Stromwaechter

    generationmake/Stromwaechter_PCB

    PCB with current sensors for 12 V battery systems

    132 parts
  • 2 layers100 × 100 mmPcbV10, the printed circuit board in 3D

    PcbV10

    klaus-liebler/labathome

    Der kleine Bruder von lab@home. Ermöglicht das Experimentieren mit PT1...PTn-Gliedern, die intern als RC-Kombination (entkoppelt über Operationsverstärker) ausgeführt sind.

    221 parts5MIT
  • 2 layers70 × 70 mmSensactUp4, the printed circuit board in 3D

    SensactUp4

    klaus-liebler/sensact

    Es gibt vier Namespaces für Nachrichten "REQUEST" und "RESPONSE", "EVENT" und "ACKNOWLEDGE". Dies wird mit den beiden LSB des Versions-Namespace-Bytes erklärt (Somit bleiben 64 Versionierungsmöglichkeiten) Alle vier…

    147 parts4Apache-2.0
  • 2 layers48 × 49 mmSensors, the printed circuit board in 3D

    Sensors

    Th3Link/homeautomation

    Components for a CAN-bus home-automation system: relay/rollershutter/ light/button/sensor nodes on a shared CAN bus, bridged to MQTT (and from there to openHAB or Home Assistant) by a gateway.

    58 partsGPL-3.0
  • 2 layers65 × 30 mmTr109-sensorboard, the printed circuit board in 3D

    Tr109-sensorboard

    directive0/TR-109

    Design and production files for the TR-109 Picorder

    57 parts37MIT
  • 2 layers64 × 50 mmEverAliveSensor PCB, the printed circuit board in 3D

    EverAliveSensor PCB

    jfm92/everAliveSensor

    Solar-powered BLE environmental sensor (temp, humidity, pressure) with a 50F supercapacitor — potentially infinite lifetime, 19-day dark autonomy. ESP32 + BME680. Experimental.

    54 parts28
  • 2 layers43 × 43 mmBadge, the printed circuit board in 3D

    Badge

    oshwabadge2020/Badge-PCB

    Open Hardware Summit 2020 wrist-watch badge

    78 parts19

Questions

How big is the Universal v2 PCB?

It measures 53.3 × 39.1 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Universal v2 use?

30 parts, built around the BME680, DS18B20 and BL654. 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 Universal v2 KiCad files?

From the TheTosters/HeaterControl repository on GitHub, at the commit this page was made from: the board is hardware/universal_v2/Universal_v2.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Universal v2 design in my own project?

Its repository publishes it under the BSD-3-Clause licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).