Skip to the content
2 layers147.5 × 50.8 mmPrueba, the printed circuit board in 3D

Open-source fan array wind tunnel (FAWT) software and hardware

Size
147.5 × 50.8 mm
Copper layers
2
Thickness
1.6 mm
Parts
27
Nets
57
Pads
124
Tracks, vias
200, 10
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
11 Mar 2024
Updated
18 Nov 2025

Overview

Prueba is an open-source printed circuit board by UPNAdrone, from the UPNAdrone/JavaFAWT repository on GitHub, published under the Apache-2.0 licence. It is a 2-layer board of 147.5 × 50.8 mm with 27 parts on 57 nets, routed with 200 tracks and 10 vias.

It is built around the HMHA2801AR2 and XT60-M. Its parts include 12 resistors, 8 connectors, 6 transistors and 1 IC.

Main components

2

README

README.md

JavaFAWT

JavaFAWT is a fan-array-wind tunnel (FAWT) open-source software and hardware architecture developed by the drones lab of Universidad Pública de Navarra. It includes diagrams and PCB layouts for electronics, CAD designs for hardware, and source files for running and adapting the software.

Introduction

The proposed control scheme follows a wireless server-client architecture. A Java GUI is provided for the control station (server) to connect and command each fan, organized in series of modules. Each module is managed by a single Raspberry Pi client (currently tested with Raspberry Pi 3, 4, Zero 2 w), which receives the fan speed control messages from the server via a wireless WebSocket. The client receives the message, identifies its connected fans, and converts the speed signal to a PWM output for each fan, allowing for precise individual control of an indefinite number of fans. Thanks to the custom PCB interface, an external power supply can be used for each module, and a single control power source is used to elevate the 3.3V PWM control signal for each and every fan up to a standard required voltage.

Features

  • Modular low-cost FAWT architecture.
  • Individual or multiple fan speed control through a simple unified interface.
  • Websockets protocol implemented for wireless communication with each fan module.
  • User-programmable automatic speed sequences via .CSV files for repeatability and reproducibility of experiments.

Relevant links

Bill of Materials (BOM) can be found here

PCB Manufacturing project can be found here

How to install & run

Detailed instructions for installing and running the software can be found here.

A Tutorial/Manual of use can be found here.

Files structure

  • Documentation
    • private
      • docs -> .md files for generating public documentation site.
      • site -> compiled documentation website for dev purposes.
    • public -> compiled documentation website for public purposes.
  • Examples -> provided examples.
  • Hardware
    • module -> All the components required to assemble a single module.
    • testing_equipment -> Other components developed for testing.
  • Software
    • clientCode -> Python PWM client
    • functionalities -> example functionalities provided for automatic fan control.
    • pythonCode -> Python client file for controlling the fans from the Raspberry Pi.
    • serverCode -> JavaFAWT server software.

Dataset for inverse flow control

Our recorded dataset consists of approximately 45,176 samples recorded with our experimental 6x4 wind tunnel. It includes two CSV files: one for relative pressures (directly extracted from the nanoDAQ LTS-32 pressure scanner readings), one for velocities (extracted by converting the relative pressure, temperature and density values to velocity). The dataset can be found in Hugging Face: https://huggingface.co/datasets/UPNAdrone/WindTunnel

Work in progress

  • Fan speed feedback is currenly under development.

Licensing

JavaFAWT is made available under the MIT License. You are free to use, modify, and distribute this module in accordance with the terms of the MIT License.

Reference and Citation

If you use this module for research, please consider citing our paper to acknowledge its contribution:

bibtex
@article{pending,
  title={},
  author={},
  journal={},
  volume={},
  pages={},
  year={},
  publisher={}
}

Parts

27
QtyValueFootprintReferences
12RResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12
6HMHA2801AR2KiCAD:MFP4_100AL_OSI-MQ1, Q2, Q3, Q4, Q5, Q6
6Screw_Terminal_01x04TerminalBlock_MetzConnect:TerminalBlock_MetzConnect_Type011_RT05504HBWC_1x04_P5.00mm_HorizontalJ1, J2, J3, J4, J5, J6
1RASPBERRY_PI_3_MODEL_B_RASPBERRY_PI_3_MODEL_B_:MODULE_RASPBERRY_PI_3_MODEL_B_U1
1Screw_Terminal_01x02TerminalBlock_MetzConnect:TerminalBlock_MetzConnect_Type011_RT05502HBWC_1x02_P5.00mm_HorizontalJ8
1XT60-MXT60-M:AMASS_XT60-MJ7

Similar boards

  • 4 layers108 × 110 mmAP2000, the printed circuit board in 3D

    AP2000

    imagestream/kicad

    Kicad designs and libraries

    152 parts1MIT
  • 4 layers100.1 × 60.2 mmHades, the printed circuit board in 3D

    Hades

    pms67/HadesFCS

    Complete flight control system designed from scratch. Hardware designed with KiCad.

    215 parts1kBSD-3-Clause
  • 2 layers120 × 100 mmRoot, the printed circuit board in 3D

    Root

    GonzaCerv/noah-hardware

    This repo contains all the hardware description for the Noah project. Here lies 3D models, electronics PCB and Firmware software of the robot.

    127 parts28MIT
  • 2 layers110 × 110 mmMs pcb, the printed circuit board in 3D

    Ms pcb

    opatiny/micromouse

    Designing a custom micromouse robot.

    39 parts15CERN-OHL-P-2.0
  • 2 layersPlaca alimentacao, the printed circuit board in 3D

    Placa alimentacao

    edromufu/edromufu

    Repositório da EDROM-UFU destinado ao desenvolvimento do projeto humanoide para participação nas competições LARC e ROBOCUP.

    26 parts9MIT
  • 2 layers107.9 × 63.2 mmTeam2(10-30), the printed circuit board in 3D

    Team2(10-30)

    RoboJackets/robowrestling

    Autonomous 3kg sumo

    116 parts9MIT
  • 2 layers99.5 × 67 mmController Board, the printed circuit board in 3D

    Controller Board

    kairobyte/bipedal_self_balance

    A bipedal self balancing robot with 2DOF in each leg. Built from scratch.

    23 parts7MIT
  • 4 layers65.8 × 77.2 mmVtx scanner pcb, the printed circuit board in 3D

    Vtx scanner pcb

    deets/deets-fpv-vtx-scanner

    39 parts5

Questions

How big is the Prueba PCB?

It measures 147.5 × 50.8 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Prueba use?

27 parts, built around the HMHA2801AR2 and XT60-M. 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 Prueba KiCad files?

From the UPNAdrone/JavaFAWT repository on GitHub, at the commit this page was made from: the board is hardware/module/electronics/prueba.kicad_pcb and its schematic hardware/module/electronics/prueba.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Prueba design in my own project?

Its repository publishes it under the Apache-2.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).