Skip to the content
2 layers36 × 14 mmTFASPDIMU01, the printed circuit board in 3D

SPI or I²C differential pressure sensor and IMU unit.

Size
36 × 14 mm
Copper layers
2
Thickness
1.6 mm
Parts
26
Nets
35
Pads
124
Tracks, vias
344, 59
Pours
3
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
29 Oct 2020
Updated
22 Feb 2026

Overview

TFASPDIMU01 is an open-source printed circuit board by ThunderFly-aerospace, from the ThunderFly-aerospace/TFASPDIMU01 repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 36 × 14 mm with 26 parts on 35 nets, routed with 344 tracks and 59 vias.

It is built around the ICM-20948, MIC5504-1.8YM5-TR and MIC5504-3.3YM5-TR, with the TXS0108EPW and SM07B-GHS-TB among its other parts. Its parts include 11 capacitors, 8 resistors, 5 ICs, 1 diode and 1 connector. It belongs with the sensors and measurement boards of this library.

Main components

5

README

README.md

TFASPDIMU01 - sdp3x differental pressure sensor and IMU 9-axis unit

.github/workflows/KiCad.yml

ThunderFly TFASPDIMU01 is SPI/I2C sensor board equipped with a differential pressure sensor (Senserion SDP3x) and 9-axis motion tracking sensor (ICM-20948). Board is equipped with 7pin JST-GH connector. The sensor board is designed for multiple uses. It can be used as a self-adjusting anemometer WINDGAUGE03 or as an airspeed sensor for UAVs with optional function as the external magnetometer.

TFASPDIMU01 PCB

TFASPDIMU is commercially available from ThunderFly s.r.o., write an email to info@thunderfly.cz or shop at Tindie store.

Specification

  • Type: Differential and 9-axis motion sensor board
  • Mass: 3 g
  • Size: 36 x 14 mm
  • Power: +5 V
  • Connection: 7pin JST-GH connector, custom pinout

SDP3x

  • Range: +/- 125/500 Pa (depending on exact sensor type)
  • Excellent accuracy and repeatability, even below one Pascal
  • No zero-point offset, no temperature drift
  • Calibrated and temperature compensated
  • Fast sampling time of 2kHz at 16 bit resolution
  • I2C address: 0x21 (d33)

ICM-20948

  • 3-axis gyroscope, 3-axis accelerometer, 3-axis compass (magnetometer)
  • Onboard Digital Motion Processor (DMP)
  • On-Chip 16-bit ADCs and Programmable Filters
  • 7 MHz SPI or 400 kHz Fast Mode I²C
  • Digital temperature sensor
  • Default I2C address: 0x68 (0d104), can be changed to 0x69 (0d105) by moving the resistor R2->R1.

Example of uses

WINDGUAGE01

Ground control station anemometer WINDGAUGE03

TFSLOT01 - UAV airspeed sensor

Our TFSLOT senzor is an airspeed sensor for use mainly on UAV. Due to 3D printed case it is possible to optimalize part according to the location of sensor on UAV and tune their characteristics. First use of this sensor was on our autogyro TF-G2.

TFSLOT01 sensor

More details about this solution is available in the repository TFSLOT01.

TFPIPE01 - UAV airspeed sensor

Symmetric variant of TFSLOT sensor for different mounting options TFPIPE01.

TFVENTUFO - omnidirectional anemometer

This anemometer should also based on venturi effect. Thanks to an clever design, it will measure the wind speed from all directions (without knowing the direction).

Angle of Attack sensor

In case of mounting on rotation slip-ring bearing the sensor could sense air AoA of the vehicle. Due to ability to turn in direction of airflow. The turnig direction could be sensed differentialy to position of aircraft by IMU embedded in the TFASPDIMU01 sensor.

Hardware

TFASPDIMU01 sensor

Eletronic schema

Full schema is avialible in PDF schema

Hardware layout

** IMG - technical draft **

Pinout

Pin #I2CSPI
1+5V+5V
2SCLSCK
3--MISO
4SDAMOSI
5--CS
6INTINT
7GNDGND

Due to the possible wider use of the sensor, a standard pixhawk pinout is not used.

PixHawk autopilot cable

To increase the transmission quality, it is recommended to create pairs SDA,GND and SCL,+5V on the cable (as shown in image)

I2C jstgh

TFASPDIMU01 PinSigalPixhawkColor
1+5V1Red
2SCL2Yellow
4SDA3Green
7GND4Black

Pixhawk pinout is listed according to the Pixhawk connector standard.

Usage

Python

For reading data from the sensor, we have prepared a python script in PyMLAB library that uses the pySMBus to readout data. It can be used directly from a computer with a corresponding converter (for example MLAB USBI2C01A) or with one-board computers (Odroid, raspberry and similar) that have own smbus output.

Calibration vertification

Calibration can be verified by mounting of an anemometer to car roof and comparing it to speed obtained from GPS (gpsd). This needs to be done in windless weather.

PX4

We are now working on implementation of driver into PX4 stack.

Main usage of this sensor is as airspeed sensor. It can be also used as an external magnetometer and thermometer.

Ardupilot

We are currently unable to implement the sensor in the Ardupilot flight stack. However, we will be happy to provide assistance with implementation. You can contact us

configuration

TODO

Parts

26
QtyValueFootprintReferences
6100nFMlab_R:SMD-0603C1, C2, C3, C4, C9, C10
610kMlab_R:SMD-0603R4, R5, R6, R7, R8, R9
41uFMlab_R:SMD-0603C5, C6, C7, C8
1-Mlab_R:SMD-0603R1
10RMlab_R:SMD-0603R2
110uFMlab_R:SMD-0805C11
1BZV55C-5,6VDiode_SMD:D_MiniMELFD1
1ICM-20948Sensor_Motion:InvenSense_QFN-24_3x3mm_P0.4mmU2
1MIC5504-1.8YM5-TRPackage_TO_SOT_SMD:SOT-23-5U5
1MIC5504-3.3YM5-TRPackage_TO_SOT_SMD:SOT-23-5U4
1SDP3xMlab_IO:SDP3xU1
1SM07B-GHS-TBConnector_JST:JST_GH_SM07B-GHS-TB_1x07-1MP_P1.25mm_HorizontalJ1
1TXS0108EPWPackage_SO:TSSOP-20_4.4x6.5mm_P0.65mmU6

Similar boards

  • 2 layers30 × 15 mmTFASPDIMU02, the printed circuit board in 3D

    TFASPDIMU02

    ThunderFly-aerospace/TFASPDIMU02

    I²C bus differential pressure sensor with IMU and Magnetometer.

    43 parts3GPL-3.0
  • 4 layers97.5 × 80 mmDE10-lite shield, the printed circuit board in 3D

    DE10-lite shield

    ben5049/EEEBalanceBug

    Repository for group 1's balancing robot (2023)

    107 parts2
  • 2 layers30 × 30 mmIMUTracker, the printed circuit board in 3D

    IMUTracker

    komori-t/QUIKS

    An inexpensive motion tracking system

    32 parts3Apache-2.0
  • 2 layers51.8 × 41.7 mmPayloadPrototypeBoard, the printed circuit board in 3D

    PayloadPrototypeBoard

    Case-Rocket-Team/PayloadPrototypeBoard2021

    Prototype Payload Board for the 2021 ESRA Payload using Parafoil Guidance. KiCad Project

    84 parts2
  • 2 layers101.1 × 60.5 mmDATALOGGER02, the printed circuit board in 3D

    DATALOGGER02

    mlab-modules/DATALOGGER02

    Arduino based data logger with LoRa IoT interface.

    161 partsGPL-3.0
  • 4 layers51 × 45 mmFlight controller atlas, the printed circuit board in 3D

    Flight controller atlas

    williamjroche/Drone_Flight_Controller

    This is a GPS-Denied Autonomous Drone that uses computer vision to fly with radio transmission override. Autonomy is a work in progress.

    66 parts1MIT
  • 2 layers70.6 × 50.3 mmTFUNIPAYLOAD01, the printed circuit board in 3D

    TFUNIPAYLOAD01

    ThunderFly-aerospace/TFUNIPAYLOAD01

    Universal interface for TF-ATMON sensor payload.

    81 parts1GPL-3.0

Questions

How big is the TFASPDIMU01 PCB?

It measures 36 × 14 mm and has 2 copper layers, 1.6 mm thick.

What parts does the TFASPDIMU01 use?

26 parts, built around the ICM-20948, MIC5504-1.8YM5-TR, MIC5504-3.3YM5-TR and TXS0108EPW. 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 TFASPDIMU01 KiCad files?

From the ThunderFly-aerospace/TFASPDIMU01 repository on GitHub, at the commit this page was made from: the board is hw/sch_pcb/TFASPDIMU01.kicad_pcb and its schematic hw/sch_pcb/TFASPDIMU01.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the TFASPDIMU01 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).