Skip to the content
2 layers30 × 15 mmTFASPDIMU02, the printed circuit board in 3D

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

Size
30 × 15 mm
Copper layers
2
Thickness
1.6 mm
Parts
43
Nets
36
Pads
143
Tracks, vias
249, 70
Pours
5
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
2 Aug 2021
Updated
4 Feb 2026

Overview

TFASPDIMU02 is an open-source printed circuit board by ThunderFly-aerospace, from the ThunderFly-aerospace/TFASPDIMU02 repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 30 × 15 mm with 43 parts on 36 nets, routed with 249 tracks and 70 vias.

It is built around the PCA9617ADP, ICM-20948 and MIC5504-1.8YM5-TR, with the MIC5504-3.3YM5-TR, BZX585-B5V6,115-JSM and SM04B-GHS-TB among its other parts. Its parts include 13 capacitors, 12 resistors, 6 ICs, 2 diodes and 1 connector. It belongs with the sensors and measurement boards of this library.

Main components

6

README

README.md

TFASPDIMU02 - Differential pressure sensor and IMU

Kicad - production files generator

ThunderFly TFASPDIMU02 is I2C bus sensor board equipped with a differential pressure sensor (Sensirion SDP3x) and 9-axis motion tracking sensor (ICM-20948). The board is equipped with a 4-pin 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. The featured use (after firmware improvement) could be an angle of attract sensor, stall detector, or vibration (Flutter) detector.

TFASPDIMU02 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: 30 x 15 mm
  • Power input: +5 V
  • Connection: 4pin JST-GH connector PixHawk compatible

SDP3x differential pressure sensor

  • Range: +/- 125/500/1500 Pa (depending on exact sensor type SDP33 by default)
  • 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 (0d33), could be changed by JP2 and/or resorderig the R10 value.

ICM-20948 9-axis IMU unit

  • 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 adjusting the JP1.

Example of uses

WINDGUAGE - weather vane sensor

Ground control station anemometer WINDGAUGE03 is based on a TFASPDIMU sensor which is used for both wind direction and wind speed measurement.

TFSLOT01 - UAV airspeed sensor

Our TFSLOT sensor is an airspeed sensor for use mainly on UAVs. Due to the 3D printed case, optimizing housing according to the sensor's location on the UAV and tuning its characteristics is possible. The first use of this sensor was on our autogyro TF-G2.

TFSLOT01 sensor

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

TFPIPE01 - UAV airspeed sensor

The symmetric variant of TFSLOT sensor for different mounting options TFPIPE01.

TFVENTUFO - innovative anemometer

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

Angle of Attack sensor

In case of mounting on slip-ring bearing the sensor could sense air AoA of the vehicle.

Stall detector

The venturi geometry could also be inverted therefore the pressure ports look in open airflow. That results in the ability to detect stalls on wings by detecting the absence of pressure difference and increasing pressure fluctuations on the wing surface.

Hardware

TFASPDIMU02 PCB

Electronics schema

Full schema is available in PDF TFASPDIMU02 schema

PCB dimensions

TFASPDIMU02 dimensions

Pressure sensor connections are aligned to the center of the PCB width.

I2C connector pinout

SignalPixhawk ColorThunderFly color
+5VRedred Red
SCLBlackyellow Yellow
SDABlackgreen Green
GNDBlackblack Black

Pixhawk pinout is listed according to the Pixhawk connector standard.

PixHawk autopilot connection cable

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

  • 10 twists for each pair SCL/+5V and SDA/GND per 30cm cable length
  • 4 turns/twists of pairs per 30cm cable length.

ThunderFly I2C jstgh

Usage

Python

For reading data from the sensor, we have prepared a Python script in the PyMLAB library that uses the pySMBus to read 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 verification

Calibration can be verified by mounting an anemometer to the car roof and comparing it to GNSS speed. This needs to be done in windless weather.

PX4

There exists a pull-request of modified SDP33 driver into PX4 stack.

The main use of this sensor is as an airspeed sensor. It can also be 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 assist with implementation. You can contact us

Parts

43
QtyValueFootprintReferences
8100nFCapacitor_SMD:C_0402_1005MetricC1, C2, C3, C4, C9, C10, C12, C13
610kResistor_SMD:R_0402_1005MetricR4, R5, R6, R7, R8, R9
41uFCapacitor_SMD:C_0402_1005MetricC5, C6, C7, C8
4HOLE_TFMlab_Mechanical:dira_3mmM1, M2, M3, M7
32k7Resistor_SMD:R_0402_1005MetricR2, R3, R10
275RResistor_SMD:R_0402_1005MetricR1, R11
2FiducialFiducial:Fiducial_1mm_Mask2mmFID1, FID2
2PCA9617APackage_SO:TSSOP-8_3x3mm_P0.65mmU3, U6
2SolderJumper_3_Bridged12Jumper:SolderJumper-3_P1.3mm_Bridged12_RoundedPad1.0x1.5mmJP1, JP2
110uFCapacitor_SMD:C_0402_1005MetricC11
1180RResistor_SMD:R_0402_1005MetricR12
1BZX585-B5V6.115Diode_SMD:D_SOD-523D2
1GREENLED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolderD1
1ICM-20948Sensor_Motion:InvenSense_QFN-24_3x3mm_P0.4mmU2
1LOGOMLAB_LOGA:TF 14x6,6G***
1MIC5504-1.8YM5-TRPackage_TO_SOT_SMD:SOT-23-5U5
1MIC5504-3.3YM5-TRPackage_TO_SOT_SMD:SOT-23-5U4
1SDP3xMlab_IO:SDP3xU1
1SM04B-GHS-TBConnector_JST:JST_GH_SM04B-GHS-TB_1x04-1MP_P1.25mm_HorizontalJ1

Similar boards

  • 2 layers36 × 14 mmTFASPDIMU01, the printed circuit board in 3D

    TFASPDIMU01

    ThunderFly-aerospace/TFASPDIMU01

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

    26 parts1GPL-3.0
  • 2 layers30 × 15 mmTFHT01, the printed circuit board in 3D

    TFHT01

    ThunderFly-aerospace/TFHT01

    Airborne Humidity and Temperature sensor for UAVs.

    34 parts10GPL-3.0
  • 2 layers25 × 23 mmTFI2CADT01, the printed circuit board in 3D

    TFI2CADT01

    ThunderFly-aerospace/TFI2CADT01

    I2C address translator module, allows connection of multiple I2C devices with the same address to one bus.

    38 parts10GPL-3.0
  • 2 layers37.5 × 19 mmTFRPM01, the printed circuit board in 3D

    TFRPM01

    ThunderFly-aerospace/TFRPM01

    Revolutions per minute (RPM) meter for UAV, rotors, wheels and engines.

    28 parts9GPL-3.0
  • 2 layers25 × 15 mmTFI2CEXT01, the printed circuit board in 3D

    TFI2CEXT01

    ThunderFly-aerospace/TFI2CEXT01

    I2C bus wire length extension module. Enabling the use of more extensive bus interconnection.

    26 parts8GPL-3.0
  • 2 layers45 × 45 mmTFESC02, the printed circuit board in 3D

    TFESC02

    ThunderFly-aerospace/TFESC02

    ESC for BLDC motors for UAVs with I2C interface

    75 parts3GPL-3.0
  • 2 layers25 × 15 mmTFI2CADC01, the printed circuit board in 3D

    TFI2CADC01

    ThunderFly-aerospace/TFI2CADC01

    I2C Analog to digital converter for PixHawk

    20 parts1GPL-3.0
  • 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 TFASPDIMU02 PCB?

It measures 30 × 15 mm and has 2 copper layers, 1.6 mm thick.

What parts does the TFASPDIMU02 use?

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

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

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