The mini airflow tunnel project aim is to build a low cost platform of wind analysis for architects. The idea is to facilitate preliminary wind analysis of conceptual designs for architects and designers, using a mini low speed wind tunnel. It is suitable for preliminary analysis of aerodynamic phenomena near buildings, such as airflow acceleration, that can produce discomfort issues on pedestrians. Its purpose is in the field of early design stage physical prototyping and teaching. This project does not try to replace well know technologies such as atmospheric boundary layer wind tunnels or computational fluid dynamics programs. We know the limitations of our mini tunnel to replicate real wind conditions. It is for this reason that we call this project the mini airflow tunnel, defining it as tool that facilitates the visualisation and comprehension of basic aerodynamic phenomena around building concepts, using current low cost and easy-to-use components.

The mini airflow tunnel project has three basic parts:


The design of this mini low speed airflow tunnel has the following specifications:

  • Four extractor fans: Model FA-23235 / Diameter 300mm/ 520W
  • Maximum wind speed: 4.5 m/s
  • Cross section of test chamber: 880x880mm
  • Overall length module: 590mm
  • Overall length short version: 1,770mm (3 modules)
  • Overall length large version: 5,310mm (9 modules)

In the following sections it is explained how to build or set up each part.

1) Modular tunnel structure

The airflow tunnel consists of several modules built to be installed on tables to form a continuous square duct. The design considered the use of cheap materials and an easy and quick assembly process, in addition with the idea to make a mobile structure. To keep a reduced size, the concept of the mini airflow tunnel was simplified to only the test chamber, without contraction or diffuser ducts. The total length of the tunnel (number of modules) is optional and will depend of the kind of airflow effect required in the experiments. In a short tunnel the wind flow has an uniform velocity profile, in a long tunnel it is possible to generate (using screens and roughness on the ground) an atmospheric boundary layer effect.


The modular tunnel is a structure built with MDF of 6mm and panel walls of MDF of 3mm (some walls can be built with transparent acrylic panels of 3mm for observation of the experiments). This MDF parts can be manufactured in a laser cutter machine (very common in design schools). Some of the panel walls can be made with transparent acrylic of 3mm rather than MDF to work as windows for a clearer visualisation of the experiments.

The modular tunnel has an outlet module to install 4 extractor fans, the test chamber modules for the tests and the inlet module with a bell-mouth structure.

First step: laser cutter manufacturing

The first step is to cut the MDF parts (3mm and 6mm) in a laser cutter machine. It is recommended to use the same machine to cut all the parts. In this way we avoid possible different levels of tolerances with the cuts.

The template with the design of the parts is in the download section of this web (DXF and SVG format). The template file only consider the parts to assemble one module and the bellmouth. The user must cut the necessary parts to complete the number of modules for the complete tunnel that he or she is planning. In general a short tunnel will need four modules; a large tunnel will need 9 modules. All the parts fit on a MDF sheet of 600 x 900mm. The template includes 8 panels for the 4 walls of a module. The design of the tunnel is composed of 3 walls of MDF 3mm and 1 wall of transparent acrylic 3mm for a lateral window.


Second step: Assembly of square frames

The second step is to assemble the square frames of each module, following the diagram bellow. No tools are needed. The corners must be jointed to the beams and each joint is reinforced with a frame-clip (see picture). The right position of the corners must be considered to leave a slot in horizontal position for the module-clips.


Each module has two square frames connected with 16 horizontal timbers bracing elements. These timbers must be interlocked in the slots in the inner edge of each frame.


Third step: Assembly of walls

Once the structure is ready, you can install the walls. The panel wall has several slots to fit with the horizontal timbers and a finger joint edge that must be assembled with the opposite edge of the next wall at the corner of the module (remember to cut all the parts with the same machine or the slots of the walls could not be coincident with the structure). Repeat the process of assembly for each module up to complete the total number of modules that you require.


Fourth step: Assembly of modular tunnel

Put all the modules attached to each other on tables and install the module-clips in the horizontal slots (in each corner) to join the modules. In the outlet module install the four extractor fans. It is necessary to build a shelf to support these fans. The centre of each fan will be at 1/4 of the module section. Remember, these fans must extract the air from the tunnel to generate a stable stream from the inlet module.


Connect the ribs for the bell-mouth on the inlet module (four for each side). Fit them with glue or with a binder clip to the horizontal timbers. The surface of the bell-mouth can be made with a sheet of cardboard glued to the curved edge of each rib.


2) Electronic wind sensors platform with Arduino

For the wind speed measurement system we will use an Arduino board, electronic wind sensors (anemometers) and other electronic components. We chose Arduino technology because it is easy to learn and use; in addition it is easily integrated with Grasshopper 3D to gather digital data for further visualisation. In general, you can buy many of these elements in an electronic shop, but you can buy them on-line, as well. The Arduino board used in this project is a Mega 2560 model, because it has many analogue inputs and more sensors can be incorporate in the system. However you can use the traditional Arduino Uno if you have few sensors to use. Finally, the wind sensors (Rev.P) must be bought on-line in moderndevice.com

Electronic components for arduino

This is the basic list of elements that you will need:

Element Number Note
Arduino board 1 (One, Mega, etc)
Wind sensors (rev P) 6  (it is optional, can be more)
Adaptor 12v 1
Bread board 1
Jumper wires for Arduino 4 (for each sensor)
Packs of wires 2m 1 (for each sensor)
Machined Pin IC Socket Strips 12 (for each sensor and cable)

From the description of the modern device web: the micro wind sensor is a low-cost anemometer (wind sensor) made for use with electronic projects. The Wind Sensor is a thermal anemometer based on a traditional technique for measuring wind speed. The technique is called “hot-wire” technique, and involves heating an element to a constant temperature and then measuring the electrical power that is required to maintain the heated element at temperature as the wind changes.


For our project we use the “wind sensor Rev. P” that is the newest developed version. This sensor provides temperature data and wind velocity data (it does not provide wind direction data). For an acceptable response of the sensor, the incident wind angle cannot surpass the 30 degree regarding the orientation of the hot wire element. Finally, the accuracy of the sensor is +-0.5m/s for a laminar airflow of 5m/s. For more information about characteristics of these sensors, please read Daniel Prohasky’s paper: “Low Cost Hot-element Anemometry Verses the TFI Cobra“.

This sensor has 5 holes at the bottom to connect wires. We will use the first four holes: GND to connect the ground wire; 12v to provide the power; and both OUT – TMP to connect with the analog inputs of the Arduino board. We will solder header pin sockets to the sensor’s holes to facilitate the connection of sensors and cables (see pictures below).


To set up the circuit of sensors just download the circuit diagram from the download section (you will need the Fritzing program to open it) and connect the sensors and wires following that configuration. This diagram was drawn for four wind sensors, but you can include the additional two sensors to complete six. Just repeat the wire configuration for two more sensors. Use the jumper wires (short wires) for the connections from the Arduino to the bread board and the wires of 2m to connect the sensors to the bread board (because the sensors will be inside of the airflow tunnel, while the Arduino board will be outside).

The Arduino board is connected to the computer USB port using a USB jack cable. However, for this project with the revP wind sensors, a 12v power supply is needed. We have utilised a DC jack on the Arduino Mega to supply the sensors with 12v from the Vin pin. For this reason, an adapter of 12v is connected to the power jack of the Arduino.



Arduino sketch

The sketch (code) to work with these sensors is in the download section. You just need to upload it to the Arduino board. We have adapted the original sketch by Paul Badger (provided by the builder of sensors) to work for our experiment with four sensors and Grasshopper + Firefly (we commented some lines of the original code). However, you can do your own edition if you want to include more sensors. Moreover, the sketch measures the wind velocity in MPH (miles per hour), but we work in meters per second for this project, so in the Grasshopper script we do a conversion.


/* A demo sketch for the Modern Device Rev P Wind Sensor
* Requires a Wind Sensor Rev P from Modern Device
* http://moderndevice.com/product/wind-sensor-rev-p/
* The Rev P requires at least at least an 8 volt supply. The easiest way to power it
* if you are using an Arduino is to use a 9 volt or higher supply on the external power jack
* and power the sensor from Vin.
* Hardware hookup
* Sensor Arduino Pin
* Ground Ground
* +10-12V Vin
* Out A0
* TMP A2
* Paul Badger 2014
* code in the public domain
* Adapted for 6 sensors by Rafael Moya & Daniel Prohasky 06/2015

const int OutPin[6] = {A0, A2, A4, A6, A8}; // 6 wind sensor analog pin hooked up to Wind P sensor “OUT” pin
const int TempPin[6] = {A1, A3, A5, A7, A9}; // 6 temp sesnsor analog pin hooked up to Wind P sensor “TMP” pin

void setup(){


void loop(){

// wind formula derived from a wind tunnel data, annemometer and some fancy Excel regressions
// this scalin doesn’t have any temperature correction in it yet

for (int i=0; i<6; i++){
int windADunits = analogRead(OutPin[i]);
float windMPH = pow((((float)windADunits – 264.0) / 85.6814), 3.36814);
//Serial.print(” MPH\t”);
// temp routine and print raw and temp C
for (int i=0; i<6; i++){
int tempRawAD = analogRead(TempPin[i]);
// Serial.print(“RT “); // print raw A/D for debug
// Serial.print(tempRawAD);
// Serial.print(“\t”);

// convert to volts then use formula from datatsheet
// Vout = ( TempC * .0195 ) + .400
// tempC = (Vout – V0c) / TC see the MCP9701 datasheet for V0c and TC

float tempC = ((((float)tempRawAD * 5.0) / 1024.0) – 0.400) / .0195;
//Serial.print(” C\t”);


Once the sensors are connected and the code is uploaded to the Arduino board,  the serial monitor should show lines of numbers like this:
0.0, 0.0, 0.0, 0.0 , 0.0 , 0.0 , 25.0 , 25.0 , 25.0 , 25.0, 25.0, 25.0
The first 6 numbers are the measurement of wind speed (in mph) from the six sensors (“0.0” is when there is not wind). The second group of six numbers is the temperature data of the air in Celsius degrees (it should be the room temperature).

3) Visualisation with Grasshopper 3D

The goal of this project is to get a graphical visualisation of the wind speed data around buildings in real time. In this way, architects can get a quick feedback and better comprehension of the wind phenomena to develop design strategies for wind discomfort issues in the outdoor environment near buildings and other related problems.

To achieve this objective we use Rhino 3D with parametric software Grasshopper 3D + Firefly plug-in to translate the numerical data from the Arduino platform and sensors into graphical representations in a friendly interface. This allows us to create a clear and comprehensive visualisation of the wind data, for quick analyses. For instance, the images below show the wind intensity at the bottom of a building. We created a digital model of the building and overlapped the data sent from the sensors.  Each sphere represents the location of a wind sensor, while the size of the sphere shows the level of wind speed in that point.

visualisationWe provide an example of a Grasshopper script in the download section. Remember that you must have Firefly plug-in for Grasshopper already installed in your computer to use it (see the links section for third party programs). Firefly allows the communication between grasshopper and Arduino board. This script converts the MPH data from the sensors into m/s and provides two method of representation for the wind velocity: spheres that represent each sensor and a threshold line that represent and intermediate velocity between several sensors (see the video). However, you can make your own graphical representation.


To use our script, you must create a digital model of your experiment using Rhino 3D and put six digital points in the places where you installed your wind sensors in the mini airflow tunnel. Link the digital points to the node-sensors in the script to visualise the data on the 3D model.

In addition, it is possible to compare the data from the sensors with a CFD simulation, both displayed on the digital model in Rhino. A workflow of integrated visualisation methods is shown in the next image:


A method to do this integration is to use a CFD program to run a previous simulation and export the visualisations of streamlines, iso-surfaces or vector fields as digital meshes (obj, 3ds or stl are standard formats). These meshes can be imported into Rhino 3D as layers to be overlapped on your digital model. In this way you will have in the same scene: a 3D model + a CFD visualisation + a sensor data visualisation. A good program to conduct CFD wind analysis that allows the user to export results for architectural purposes is ODS-Studio (there is a free version of the program, see links section).
The images bellow show examples of integrated visualisation using CFD streamlines (from ODS-Studio) and data representation from Arduino wind sensors:


4) Mini airflow tunnel operation

This mini airflow tunnel is far from a real atmospheric boundary layer wind tunnel. So, the experiments conducted here will be suitable for analysis with a qualitative approach mainly. However, it is necessary to have some minimal technical considerations to conduct an adequate experiment in this mini airflow tunnel. There is an excel file in the download section with the formulas of blockage factor and similarity criterion to define the correct size of a model to be tested inside the airflow tunnel (modelling capability). You must fill the cells with the dimensions of your model to calculate the actual blockage factor. If the size of your model does not fulfil these basic conditions you must build a model with a different size scale. This criteria have been taken from the paper “The Design, Construction and Calibration of a Low-speed Wind Tunnel for Studies in Architectural Aerodynamics” by John McIntosh Bruce, P.D. Rogerson, P.A. Ross (1974).


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s