Skip to the content
PCBKitNew board
4 layers25.4 × 25.6 mmBotox Mote, the printed circuit board in 3D

Botox Mote

TUDSSL/Botoks11

Batteryless timekeeping software and hardware

Size
25.4 × 25.6 mm
Copper layers
4
Thickness
1.6 mm
Parts
109
Nets
113
Pads
472
Tracks, vias
1,417, 140
Pours
7
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
19 Jan 2020
Updated
9 Nov 2021

Overview

Botox Mote is an open-source printed circuit board by TUDSSL, from the TUDSSL/Botoks repository on GitHub. It is a 4-layer board of 25.4 × 25.6 mm with 109 parts on 113 nets, routed with 1,417 tracks and 140 vias.

It is built around the MSP430FR5994IRGZ, TS3A4751PWR and SN74AUP2G79DCU, with the TLV3691IDCK, S-1313A22-N4T1U3 and SN74AUP2G00DCU among its other parts. Its parts include 44 capacitors, 28 resistors, 18 ICs, 6 inductors and 5 connectors. It belongs with the power boards and the MSP430 boards of this library.

Main components

12

README

README.md

Botoks

Botoks is a batteryless timekeeping sensor that operates intermittently harvesting ambient energy. Botoks's hardware and software components enable IoT applications that require precise and intermittency-safe timekeeping. Both hardware design and software stack are open-source.

The cascaded hierarchical remanence timekeeper (CHRT) embedded on Botoks is a novel remanence timekeeper architecture. In principle, capacitive remanence timekeepers are simple RC circuits whose energy level is converted into time. To know more about them and the CHRT, refer to our paper (to be made public) and the docs.

The sensor is based on an MSP430 ultra-low-power, FRAM-enabled microcontroller (MSP430FR5994), and currently the software stack only supports this MCU.

Project Layout

text
apps/               ## Applications' source code
bin/                ## Compiled applications
config/             ## Various configuration files
docs/               ## Source documentation
external/           ## MSP430 base drivers
libs/               ## Core Botoks's libraries
platforms/          ## GPIO pin mappings
scripts/            ## Botoks's calibration scripts

Usage

Botoks's code can be built installing the MSP430-GCC toolchain, or using a preconfigured Docker container. Opting for the Docker container has the advantage of not having to install the toolchain, but requires you to mount the directory of the project into the container.

Executables can be uploaded and debugged using UniFlash or Code Composer Studio (CCS). The former method is easier to script, whilst the latter gives you access to a graphical IDE.

The following versions of CMake, MSP430-GCC and UniFlash were tested, but other versions might work as well.

SoftwareVersion
CMake3.13download
MSP430-GCC8.3.0download
UniFlash5.2.0download

Building with the Docker container

You can use the build_with_docker.sh script to build all applications inside a Docker container. Install docker on your machine and start/enable the docker daemon. Moreover, make sure that you can docker commands without root privileges (check here). The script uses this Docker image to build applications inside a Docker container pre-configured with CMake and the MSP430-GCC toolchain.

You can pass -t <target> to the script to specify a target for make. For instance, to build all projects and install the generated executables in the bin/ folder of this repository, run

bash
$ ./build_with_docker.sh -t install

Building without the Docker container

First of all, install CMake and the MSP430-GCC toolchain. CMake can be installed using your OS's package manager, though the latest version might not be available. In that case, download the binaries using the link above. As for the GCC toolchain, you can use the provided install_toolchain.sh script to download and install toolchain and support files.

To install, do

bash
$ MSP430_GCC_OS=linux64   # can be 'linux32' or 'macos' instead
$ INSTALL_PREFIX=~/ti     # where to install the toolchain
$ ./install_toolchain.sh

This will download toolchain and other support files from TI's website, and install them at $INSTALL_PREFIX/msp430-gcc. Then, assign the environment variable MSP430_TOOLCHAIN_PATH the absolute path to the root directory of the toolchain, e.g.

bash
$ export MSP430_TOOLCHAIN_PATH=~/ti/msp430-gcc

Finally, to build all projects, do

bash
$ git clone https://github.com/TUDSSL/Botoks.git
$ cd Botoks
$ mkdir build && cd build
$ cmake ..
$ make

Then run make install to build all projects and install the generated executables in the bin/ folder of this repository. To build applications individually, run make <app-name>.

Running applications

First, connect Botoks to a debugger capable of debugging the MSP430 line of products. Then power Botox using the auxiliary power connector on the PCB. The voltage provided needs to be between 3.4 and 5V.

To upload an application install UniFlash. As of now, all scripts assume UniFlash is installed at /opt/ti/uniflash. From the project's directory root, run:

bash
$ ./flash.sh bin/<app-name>.out

The serial output can now be monitored using your favorite serial monitor (e.g., picocom) with a baudrate of 19200.

bash
$ picocom /dev/ttyACM1 -b 19200 --imap lfcrlf

Calibration

For the calibration procedure please refer to the docs. Running the calibration procedure requires a licensed version of MATLAB and the serial terminal picocom.

Documentation

The Docker container comes with all the dependencies to build the documentation. Simply run

bash
$ ./build_with_docker.sh -t docs

and find the HTML documentation in build/docs/html.

Hardware

The hardware is designed in KiCad, however, PDF schematics and gerbers are available in the hardware folder.

Parts

109
QtyValueFootprintReferences
20100nFCapacitor_SMD:C_0402_1005MetricC1, C4, C22, C23, C24, C27, C28, C29, C30, C31, C32, C33, C34, C37, C38, C44 +4
1110MResistor_SMD:R_0402_1005MetricR2, R4, R5, R6, R7, R8, R11, R22, R23, R24, R25
6DNPCapacitor_SMD:C_0402_1005MetricC2, C3, C17, C21, C39, C43
5100Resistor_SMD:R_0402_1005MetricR9, R10, R26, R27, R37
422MResistor_SMD:R_0805_2012MetricR13, R14, R30, R31
4BAS40-02V-V-G-08Diode_SMD:D_SOD-523D1, D2, D3, D4
4TS3A4751Package_DFN_QFN:Texas_S-PVQFN-N14U3, U6, U10, U14
3100pFCapacitor_SMD:C_0402_1005MetricC9, C10, C14
3SN74AUP2G79DCUPackage_SO:VSSOP-8_2.4x2.1mm_P0.5mmU4, U11, U12
3TLV3691IDCKjaspers_footprints:Texas_R-PDSO-G5U8, U9, U17
20.7pFCapacitor_SMD:C_0402_1005MetricC12, C13
22.2 / 220nFCapacitor_SMD:C_0805_2012MetricC25, C35
22.2uFCapacitor_SMD:C_0402_1005MetricC15, C18
222 nF / 2.2uFCapacitor_SMD:C_0805_2012MetricC26, C36
239nHInductor_SMD:L_0402_1005MetricL3, L4
239pFCapacitor_SMD:C_0402_1005MetricC8, C11
28.7nHInductor_SMD:L_0402_1005MetricL1, L2
2Conn_01x02Connector_PinHeader_1.00mm:PinHeader_1x02_P1.00mm_VerticalJ3, J5
2S-1313A22-N4T1U3Package_TO_SOT_SMD:SC-82ABU1, U18
2SN74AUP2G00DCUPackage_SO:VSSOP-8_2.4x2.1mm_P0.5mmU5, U13
11.1MResistor_SMD:R_0402_1005MetricR35
11.5MResistor_SMD:R_0402_1005MetricR33
1100uFCapacitor_SMD:C_0805_2012MetricC42
110kResistor_SMD:R_0402_1005MetricR36
110uCapacitor_SMD:C_0805_2012MetricC20
119nHInductor_SMD:L_0402_1005MetricL5
12.2nFCapacitor_SMD:C_0402_1005MetricC40
12.4MResistor_SMD:R_0402_1005MetricR16
122uFCapacitor_SMD:C_0603_1608MetricC41
1360kResistor_SMD:R_0402_1005MetricR34
147kResistor_SMD:R_0402_1005MetricR32
149.9k ±1%Resistor_SMD:R_0402_1005MetricR1
17.5nHInductor_SMD:L_0402_1005MetricL6
19.1MResistor_SMD:R_0402_1005MetricR15
1952-3602-NDConnector_PinHeader_1.27mm:PinHeader_1x06_P1.27mm_VerticalJ1
1CCapacitor_SMD:C_0402_1005MetricC16
1Conn_01x03Connector_PinHeader_1.00mm:PinHeader_1x03_P1.00mm_VerticalJ2
1ECS-240-8-37CKMjaspers_footprints:ECX-1637Y1
1KXOB25-02X8Fjaspers_footprints:KXOB25-02X8FSC1
1MCP1810T-12Package_TO_SOT_SMD:SOT-23-5U7
1MIC841HYC5jaspers_footprints:SC70-5U16
1MM8030-2610jaspers_footprints:MM8030J4
1MSP430FR5994IRGZPackage_DFN_QFN:QFN-48-1EP_7x7mm_P0.5mm_EP5.15x5.15mmU15
1SF16-0868M4jaspers_footprints:SF16-0868M4F1
1W3016jaspers_footprints:W3016AE1
1ZL70550jaspers_footprints:QFN-32-1EP_5x5mm_P0.5mm_EP3.45x3.45mm_ThermalVias_0.3mm_DrillU2

Questions

How big is the Botox Mote PCB?

It measures 25.4 × 25.6 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Botox Mote use?

109 parts, built around the MSP430FR5994IRGZ, TS3A4751PWR, SN74AUP2G79DCU and TLV3691IDCK. 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 Botox Mote KiCad files?

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

Can I use the Botox Mote design in my own project?

Its repository states no licence, so its author keeps all rights: ask TUDSSL before reusing the design.

Similar boards

  • 2 layers98 × 128 mmENGAGE, the printed circuit board in 3D

    ENGAGE

    TUDSSL/ENGAGE

    Source code repository for ENGAGE: Battery-Free Game Boy

    125 parts286MIT
  • 2 layers59 × 42 mmKivar demo, the printed circuit board in 3D

    Kivar demo

    markh-de/KiVar

    PCB Assembly Variants for KiCad

    66 parts65MIT
  • 2 layers85 × 50 mmTcsullivan noisecard noisecard, the printed circuit board in 3D

    Tcsullivan noisecard noisecard

    punkfab/pcb-corpus

    235 real KiCad boards from open-source hardware repositories, prepared as a placement and routing benchmark

    32 parts1
  • 2 layers60 × 35 mmGateDriver, the printed circuit board in 3D

    GateDriver

    jfhansen/3-Phased-Inverter-for-Electric-Gokart

    Repository containing Simulation files, PCB files and embedded software for three-phased inverter drive.

    52 parts
  • 4 layers21 × 17 mmClvHd EMG, the printed circuit board in 3D

    ClvHd EMG

    Aightech/CleverHand-hardware

    25 parts17GPL-3.0
  • 4 layers70 × 50 mmMotor power poc, the printed circuit board in 3D

    Motor power poc

    Galacs/motor-power-poc

    A POC PCB to test circuit electrical protections and motor control schemes

    165 parts
  • 4 layers128.1 × 87.6 mmThesis, the printed circuit board in 3D

    Thesis

    MZMurad/X-band_Transmitter_Thesis_Files

    This is a repo for all the files used and mentioned in my thesis

    103 parts
  • 2 layers17 × 10 mmRF CAL, the printed circuit board in 3D

    RF CAL

    PicoballoonLabs/Debug-Boards

    Hardware designs for the integrated debug probe, debug adapter, flex debug cables and RF VNA calibrator

    7 parts1MIT