
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

This project documents the software and hardware of an ultrasonic anemometer, created in cooperation between FH Aachen and DLR Göttingen
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.
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.
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.
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.
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.
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.

| Qty | Value | Footprint | References |
|---|---|---|---|
| 32 | TestPoint | TestPoint:TestPoint_Pad_D1.5mm | ID1, 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 |
| 24 | 1u | Capacitor_SMD:C_0603_1608Metric | C15, C27, C33, C38, C39, C43, C46, C47, C49, C50, C53, C55, C56, C57, C59, C60 +8 |
| 16 | BAV20W | Diode_SMD:D_SOD-123 | D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19 |
| 15 | 100n | Capacitor_SMD:C_0603_1608Metric | C21, C23, C26, C34, C35, C36, C37, C40, C41, C42, C51, C52, C79, C80, C81 |
| 8 | 10u, 35V | Capacitor_SMD:CP_Elec_4x5.4 | C2, C9, C10, C11, C12, C13, C86, C89 |
| 8 | 120R | Resistor_SMD:R_0603_1608Metric | R3, R25, R39, R53, R75, R76, R77, R78 |
| 8 | 330R | Resistor_SMD:R_0603_1608Metric | R4, R9, R21, R26, R35, R40, R49, R54 |
| 8 | 33K | Resistor_SMD:R_0603_1608Metric | R19, R20, R29, R30, R43, R44, R57, R58 |
| 8 | 47k | Resistor_SMD:R_0603_1608Metric | R12, R14, R16, R22, R24, R36, R50, R66 |
| 8 | SI2300DS | Package_TO_SOT_SMD:SOT-23-3 | Q1, Q2, Q4, Q5, Q7, Q8, Q10, Q11 |
| 7 | 4u7 | Capacitor_SMD:C_0805_2012Metric | C16, C22, C44, C45, C69, C70, C85 |
| 6 | 1k | Resistor_SMD:R_0603_1608Metric | R7, R8, R68, R69, R70, R71 |
| 6 | DNP | Capacitor_SMD:C_0603_1608Metric | C5, C24, C25, C68, C90, C93 |
| 4 | 1.5k | Resistor_SMD:R_0603_1608Metric | R11, R33, R47, R61 |
| 4 | 100k | Resistor_SMD:R_0603_1608Metric | R17, R27, R41, R55 |
| 4 | 100n, 25V | Capacitor_SMD:C_0603_1608Metric | C18, C19, C83, C84 |
| 4 | 10k | Resistor_SMD:R_0603_1608Metric | R10, R32, R46, R60 |
| 4 | 1u | Capacitor_SMD:C_0603_1608Metric | C71, C72, C73, C74 |
| 4 | 22u | Capacitor_SMD:C_0805_2012Metric | C1, C6, C28, C67 |
| 4 | 6.2k | Resistor_SMD:R_0603_1608Metric | R15, R23, R37, R51 |
| 4 | B78416A2232A003 | SamacSys_Parts:B78416A2232A003 | T1, T2, T3, T4 |
| 4 | C3216X5R1H106K160AB | Capacitor_SMD:C_1206_3216Metric | C4, C82, C88, C92 |
| 4 | DNP | Erstellte_Footprints:US_Solderpad | LS1, LS2, LS3, LS4 |
| 4 | EEEFK1C221P | Capacitor_SMD:CP_Elec_8x6.2 | C48, C54, C58, C62 |
| 4 | LMZM23600SILR | SamacSys_Parts:LMZM23600SILT | V_ADJ1, V_ADJ2, V_ADJ3, V_ADJ4 |
| 4 | M3 | MountingHole:MountingHole_3.2mm_M3_Pad_Via | H1, H2, H3, H4 |
| 4 | TS912ID | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U3, U4, U5, U6 |
| 3 | DNP (27) | Resistor_SMD:R_0603_1608Metric | R72, R73, R74 |
| 3 | LED Blue | LED_SMD:LED_0603_1608Metric | D2, D3, D20 |
| 2 | 0R | Resistor_SMD:R_0805_2012Metric | R31, R34 |
| 2 | 10u, 25V | Capacitor_SMD:C_0805_2012Metric | C7, C91 |
| 2 | 27R | Resistor_SMD:R_0603_1608Metric | R5, R6 |
| 2 | 2u2 | Capacitor_SMD:C_0603_1608Metric | C31, C32 |
| 2 | 47p | Capacitor_SMD:C_0603_1608Metric | C29, C30 |
| 2 | 4u7, 25V | Capacitor_SMD:C_0805_2012Metric | C17, C20 |
| 2 | ICL7660ACBAZA | Downloads:SOIC127P600X175-8N | IC1, IC2 |
| 2 | SMBJ10CA-E3/52 | Diode_SMD:D_SMB | D22, D23 |
| 1 | SMBJ24A | Diode_SMD:D_SMB | D1 |
| 1 | 10u | Capacitor_SMD:C_0805_2012Metric | C87 |
| 1 | 11.5k | Resistor_SMD:R_0603_1608Metric | R18 |
| 1 | 20.5k | Resistor_SMD:R_0603_1608Metric | R13 |
| 1 | 220uF, 35V | Capacitor_SMD:CP_Elec_8x10 | C14 |
| 1 | 33k | Resistor_SMD:R_0603_1608Metric | R1 |
| 1 | 4.3k | Resistor_SMD:R_0603_1608Metric | R28 |
| 1 | 4k7 | Resistor_SMD:R_0603_1608Metric | R2 |
| 1 | 501331-0407 | Downloads:501331-0407 | J3 |
| 1 | AD5732AREZ | Downloads:SOP65P640X120-25N | IC3 |
| 1 | BAT54WS-7-F | Diode_SMD:D_SOD-323 | D25 |
| 1 | BOOT | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP1 |
| 1 | DNP (22u) | Capacitor_SMD:C_0805_2012Metric | C66 |
| 1 | DNP (Conn_01x06) | Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_Vertical | IN1 |
| 1 | DNP (IS66WVS4M8BLL-104NLI-TR) | Downloads:SOIC127P600X175-8N | IC5 |
| 1 | ECS-2520MV-160-CN-TR | Downloads:ECS2520MV250BNTR | Y1 |
| 1 | ESD5Z5.0T1G | Diode_SMD:D_SOD-523 | D21 |
| 1 | FT231XQ | Package_DFN_QFN:QFN-20-1EP_4x4mm_P0.5mm_EP2.5x2.5mm | U1 |
| 1 | LOGO | Erstellte_Footprints:FH_LOGO_05 | G*** |
| 1 | LOGO | Erstellte_Footprints:DLR_05 | G*** |
| 1 | LOGO | Erstellte_Footprints:DLR_HEL | G*** |
| 1 | MLZ2012N100LT000 | Inductor_SMD:L_0805_2012Metric | FB1 |
| 1 | MUSB-B5-S-VT-TSMT-T/R | Connector_USB:USB_Mini-B_AdamTech_MUSB-B5-S-VT-TSMT-1_SMD_Vertical | J1 |
| 1 | NRST | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP2 |
| 1 | REF3425TIDBVR | Downloads:SOT95P280X145-6N | IC4 |
| 1 | SMD1210B020TF | Fuse:Fuse_1210_3225Metric | F1 |
| 1 | STM32F469VGTx | Package_QFP:LQFP-100_14x14mm_P0.5mm | U2 |
| 1 | SolderJumper_2_Closed | Jumper:SolderJumper-2_P1.3mm_Bridged_Pad1.0x1.5mm | GND_CONN1 |
| 1 | SolderJumper_2_Open | Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm | DAC_UP1 |
| 1 | SolderJumper_3_Bridged12 | Jumper:SolderJumper-3_P1.3mm_Bridged12_RoundedPad1.0x1.5mm | SWD_JMP1 |

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

FabianSchwartau/OBSPro
Version of the OpenBikeSensor hardware optimized for PCBA

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…



open-batt/openbms-test-bench-hardware
OpenBMS 600W resistive load (dissipative) hardware [schematic] [PCB layout]



benklop/screen-adapter
This directory contains documentation and configuration files for supporting a 720x720 DSI display with FL7707N controller.
It measures 75 × 75 mm and has 4 copper layers, 1.6 mm thick.
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.
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.
Its repository states no licence, so its author keeps all rights: ask alu-source before reusing the design.