Skip to the content
4 layers75 × 75 mmUSAN r0, the printed circuit board in 3D

This project documents the software and hardware of an ultrasonic anemometer, created in cooperation between FH Aachen and DLR Göttingen

Size
75 × 75 mm
Copper layers
4
Thickness
1.6 mm
Parts
262
Nets
207
Pads
778
Tracks, vias
2,055, 835
Pours
62
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
25 Sep 2025
Updated
27 May 2026

Overview

USAN r0 is an open-source printed circuit board by alu-source, from the alu-source/open_USAN repository on GitHub. It is a 4-layer board of 75 × 75 mm with 262 parts on 207 nets, routed with 2,055 tracks and 835 vias.

It is built around the LMZM23600SILR, TS912ID and ICL7660ACBAZA, with the AD5732AREZ, FT231XQ-R and BAV20W among its other parts. Its parts include 91 capacitors, 66 resistors, 24 diodes, 11 ICs and 8 transistors. It belongs with the STM32 boards of this library.

Main components

12

README

README.md

Summary

  1. Overview
  2. Build instructions
  3. Testing and validation

1. Overview

The goal of this project was to create a low cost small scale 2D ultrasonic anenomter. The resulting solution is based on a STM32F4 microcontroller and uses off the shelf electrical components with a cost of around 100€, and offers multiple IO options for data output, a USB interface, a dual-channel analog output, and a synchronization signal input. The sensor can be configured with various parameters and a maximum measurement frequency of 100 Hz can be achieved. A detailed explanation of the working principle and the technique used can be found in my thesis.

A brief explanation:

The speed of sound and the airspeed are calculated with the help of two ultrasound transmissions in opposite directions, the mean measured speed for both transmissions is the speed of sound and the difference to the mean is the airspeed.

To accurately calculate the speed of the transmissions, the time of flight (ToF) between transmission and reception must be accurately measured, which requires some neat digital signal processing. The sensor can be used and configured via serial terminal, all commands and expected behaviour are given in the manual.

2. Build instructions

Hardware

KiCad has been used for the PCB design, the design files and a production-ready export can be found in the Hardware folder. The PCB can be manufactured by most common PCB manufacturing services such as JLCPCB or Aisler. There are two different types of PCB, a two layer PCB for mounting the transceivers and a four layer PCB for the main board. All components can be soldered by hand, although reflow soldering (using a hot plate or hot air) is highly recommended. Most components are available from Mouser. The resistors should be 1% accurate and the ceramic capacitors should have a minimum nominal voltage rating of 24V.

The other part of the hardware consists of 3D printed parts and M3 screws. The arms are glued into the body to create a watertight connection, an epoxy glue should be used.

Software

The software devlopment was done in Segger embeded studio the files can be found in the Software folder. Further configuartion parameters can be set in the sensor_config.h file. This makes it possible to change the transceiver or to modify the geometry of the sensor.

Using the USB interface, different runmodes an trigger/sample times can be configured, for more information look in to the manual.

3. Testing and Validation

Testing and validation was carried out in a wind tunnel capable of generating air speeds of up to 45 m/s. A prantle tube and a Dantec high pression anemometer were used for velocity measurements.

In the first test, a velocity deficit was detected near the transceiver mounting location due to transceiver blockage, as shown below.

The left plot shows the measured velocity magnetude and the right plot shows the measurement error of magnitude and angle over the inflow angle.

In order to counteract this phenomenon, calibration was carried out at various inflow angle and air speeds. Each sensor has a slightly different optimum calibration, the data includes an averaged calibration for the sensor which does not give the best sensor performance but eliminates the need to perform a calibration. A semi-automated [skript] ("/2D-US-Calibration/Skript/Sensor_calibration_and_validation.m") was developed and tested to collect the raw data required for calibration. After calibration, a validation measurement was performed.

DOI

Parts

262
QtyValueFootprintReferences
32TestPointTestPoint:TestPoint_Pad_D1.5mmID1, T_-5V1, T_-12V1, T_3V3, T_5V1, T_12V1, T_24V1, T_Analog1, T_Analog2, T_Analog3, T_Analog4, T_DAC_A1, T_DAC_B1, T_GND1, T_GND2, T_GND3 +16
241uCapacitor_SMD:C_0603_1608MetricC15, C27, C33, C38, C39, C43, C46, C47, C49, C50, C53, C55, C56, C57, C59, C60 +8
16BAV20WDiode_SMD:D_SOD-123D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19
15100nCapacitor_SMD:C_0603_1608MetricC21, C23, C26, C34, C35, C36, C37, C40, C41, C42, C51, C52, C79, C80, C81
810u, 35VCapacitor_SMD:CP_Elec_4x5.4C2, C9, C10, C11, C12, C13, C86, C89
8120RResistor_SMD:R_0603_1608MetricR3, R25, R39, R53, R75, R76, R77, R78
8330RResistor_SMD:R_0603_1608MetricR4, R9, R21, R26, R35, R40, R49, R54
833KResistor_SMD:R_0603_1608MetricR19, R20, R29, R30, R43, R44, R57, R58
847kResistor_SMD:R_0603_1608MetricR12, R14, R16, R22, R24, R36, R50, R66
8SI2300DSPackage_TO_SOT_SMD:SOT-23-3Q1, Q2, Q4, Q5, Q7, Q8, Q10, Q11
74u7Capacitor_SMD:C_0805_2012MetricC16, C22, C44, C45, C69, C70, C85
61kResistor_SMD:R_0603_1608MetricR7, R8, R68, R69, R70, R71
6DNPCapacitor_SMD:C_0603_1608MetricC5, C24, C25, C68, C90, C93
41.5kResistor_SMD:R_0603_1608MetricR11, R33, R47, R61
4100kResistor_SMD:R_0603_1608MetricR17, R27, R41, R55
4100n, 25VCapacitor_SMD:C_0603_1608MetricC18, C19, C83, C84
410kResistor_SMD:R_0603_1608MetricR10, R32, R46, R60
41u Capacitor_SMD:C_0603_1608MetricC71, C72, C73, C74
422uCapacitor_SMD:C_0805_2012MetricC1, C6, C28, C67
46.2kResistor_SMD:R_0603_1608MetricR15, R23, R37, R51
4B78416A2232A003SamacSys_Parts:B78416A2232A003T1, T2, T3, T4
4C3216X5R1H106K160ABCapacitor_SMD:C_1206_3216MetricC4, C82, C88, C92
4DNPErstellte_Footprints:US_SolderpadLS1, LS2, LS3, LS4
4EEEFK1C221PCapacitor_SMD:CP_Elec_8x6.2C48, C54, C58, C62
4LMZM23600SILRSamacSys_Parts:LMZM23600SILTV_ADJ1, V_ADJ2, V_ADJ3, V_ADJ4
4M3MountingHole:MountingHole_3.2mm_M3_Pad_ViaH1, H2, H3, H4
4TS912IDPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU3, U4, U5, U6
3DNP (27)Resistor_SMD:R_0603_1608MetricR72, R73, R74
3LED BlueLED_SMD:LED_0603_1608MetricD2, D3, D20
20RResistor_SMD:R_0805_2012MetricR31, R34
210u, 25VCapacitor_SMD:C_0805_2012MetricC7, C91
227RResistor_SMD:R_0603_1608MetricR5, R6
22u2Capacitor_SMD:C_0603_1608MetricC31, C32
247pCapacitor_SMD:C_0603_1608MetricC29, C30
24u7, 25VCapacitor_SMD:C_0805_2012MetricC17, C20
2ICL7660ACBAZADownloads:SOIC127P600X175-8NIC1, IC2
2SMBJ10CA-E3/52Diode_SMD:D_SMBD22, D23
1 SMBJ24ADiode_SMD:D_SMBD1
110uCapacitor_SMD:C_0805_2012MetricC87
111.5kResistor_SMD:R_0603_1608MetricR18
120.5kResistor_SMD:R_0603_1608MetricR13
1220uF, 35VCapacitor_SMD:CP_Elec_8x10C14
133kResistor_SMD:R_0603_1608MetricR1
14.3kResistor_SMD:R_0603_1608MetricR28
14k7Resistor_SMD:R_0603_1608MetricR2
1501331-0407Downloads:501331-0407J3
1AD5732AREZDownloads:SOP65P640X120-25NIC3
1BAT54WS-7-FDiode_SMD:D_SOD-323D25
1BOOTJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP1
1DNP (22u)Capacitor_SMD:C_0805_2012MetricC66
1DNP (Conn_01x06)Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalIN1
1DNP (IS66WVS4M8BLL-104NLI-TR)Downloads:SOIC127P600X175-8NIC5
1ECS-2520MV-160-CN-TRDownloads:ECS2520MV250BNTRY1
1ESD5Z5.0T1GDiode_SMD:D_SOD-523D21
1FT231XQPackage_DFN_QFN:QFN-20-1EP_4x4mm_P0.5mm_EP2.5x2.5mmU1
1LOGOErstellte_Footprints:FH_LOGO_05G***
1LOGOErstellte_Footprints:DLR_05G***
1LOGOErstellte_Footprints:DLR_HELG***
1MLZ2012N100LT000 Inductor_SMD:L_0805_2012MetricFB1
1MUSB-B5-S-VT-TSMT-T/RConnector_USB:USB_Mini-B_AdamTech_MUSB-B5-S-VT-TSMT-1_SMD_VerticalJ1
1NRSTJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP2
1REF3425TIDBVRDownloads:SOT95P280X145-6NIC4
1SMD1210B020TFFuse:Fuse_1210_3225MetricF1
1STM32F469VGTxPackage_QFP:LQFP-100_14x14mm_P0.5mmU2
1SolderJumper_2_ClosedJumper:SolderJumper-2_P1.3mm_Bridged_Pad1.0x1.5mmGND_CONN1
1SolderJumper_2_OpenJumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mmDAC_UP1
1SolderJumper_3_Bridged12Jumper:SolderJumper-3_P1.3mm_Bridged12_RoundedPad1.0x1.5mmSWD_JMP1

More from alu-source/open_USAN

1
  • 2 layers10 × 80 mmUSAN TR r0, the printed circuit board in 3D

    USAN TR r0

    alu-source/open_USAN

    This project documents the software and hardware of an ultrasonic anemometer, created in cooperation between FH Aachen and DLR Göttingen

    3 parts1

Similar boards

  • 4 layers64 × 77 mmOBSPro, the printed circuit board in 3D

    OBSPro

    FabianSchwartau/OBSPro

    Version of the OpenBikeSensor hardware optimized for PCBA

    131 parts3LGPL-2.1
  • 2 layers102.8 × 46.5 mmMETAL AIR BMS, the printed circuit board in 3D

    METAL AIR BMS

    MAATHES-THILAK-K/METAL_AIR_BMS

    STM32-based Single Cell Metal-Air Battery Management System (BMS) featuring real-time voltage/current monitoring, temperature sensing, hydrogen gas detection, protection mechanisms, UART communication, and a…

    88 parts
  • 4 layers118 × 250 mmPcb lab, the printed circuit board in 3D

    Pcb lab

    y-watal/pcb_lab

    285 parts
  • 2 layers23.2 × 50.6 mmA1200 pwr, the printed circuit board in 3D

    A1200 pwr

    MastaTabs/a1200spwr

    Amiga 1200 single source 12V power supply

    20 parts21
  • 2 layers327.5 × 219.5 mmOpenbms load, the printed circuit board in 3D

    Openbms load

    open-batt/openbms-test-bench-hardware

    OpenBMS 600W resistive load (dissipative) hardware [schematic] [PCB layout]

    113 parts2MIT
  • 8 layers50 × 50 mmFPGA, the printed circuit board in 3D

    FPGA

    WolframDioxide2/FPGA_devboard_poc

    83 parts
  • 4 layers88 × 82 mmSignalGen, the printed circuit board in 3D

    SignalGen

    Daxxn/BenchyReloaded

    New and improved Benchy, now with more doodads!

    148 parts2AGPL-3.0
  • 4 layers28 × 28 mmAdapter, the printed circuit board in 3D

    Adapter

    benklop/screen-adapter

    This directory contains documentation and configuration files for supporting a 720x720 DSI display with FL7707N controller.

    9 parts4

Questions

How big is the USAN r0 PCB?

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

What parts does the USAN r0 use?

262 parts, built around the LMZM23600SILR, TS912ID, ICL7660ACBAZA and AD5732AREZ. 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 USAN r0 KiCad files?

From the alu-source/open_USAN repository on GitHub, at the commit this page was made from: the board is 2D-US-Anemometer-Hardware/Electrical/USAN_r0/USAN_r0.kicad_pcb and its schematic 2D-US-Anemometer-Hardware/Electrical/USAN_TR_r0/USAN_TR_r0.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the USAN r0 design in my own project?

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