Bill Of Materials (BOM) - DeeEmm/DIY-Flow-Bench GitHub Wiki
Below is the bill of materials for the basic flow bench shield. These are the parts that you will need to procure to replicate the project as shown here in the wiki. Some of these components may be substituted for equivalent parts and the code modified to suit. If you do use alternative components and change the code to work with them, please share your code updates so that others may benefit from your work.
You can view an interactive BOM HERE
This will open up a BOM and schematic layout which allows you to view component locations on the PCB.
Wherever possible components are chosen to be generic and easily sourced. Most components are breakout board mounted and so are easy to install. We recommend using pins and sockets for the Break Out Board (BOB) mounted components so that they can simply be plugged into the shield. It also makes the PCB more serviceable should there be reason to replace the BOBs due to an issue.
We've broken down the major items below with some notes on component selection
MAF Sensor
A note on MAF sensors. If you are using a different MAF sensor from the recommended unit. You will need a data-sheet to be able to correctly set up your MAF sensor, or have access to a flow bench where you can map its characteristics. Bosch appear to publish data-sheets for its sensors online, so they are a good choice. Siemens however doesn't, so you will need to map the sensor using another flow bench or select a sensor that we already have data for. We do add sensor data from time-to-time as we come across it.
MAFs sensors are integrated into the code using a 6th order polynomial calculation and is calculated using a transfer function. Each sensor has its own unique set of coefficients which can be found in the mafData.h file of the distribution. The MAF coefficients are created using various python files included within the /tools folder. If you need help converting your MAF data, please create a post in the discussion forum.
There's a number of online resources that list MAF sensor characteristics, some of these are listed in the reference information section.
A good choice of sensor based on maximum flow is the sensor used by the AUDI RD4 (Bosch Part No. 0280218067). This has a maximum flow of approximately 860cfm, which should be sufficient for most benches. This is also a sensor that we have OEM Data for.
ESP32
The project uses the ESP32 processor.
The officially recommended board is the Wemos D1 R32 as their shield is designed to take advantage of the additional I/O that it provides.
You can easily port the code to work on other ESP32 boards by creating a pin-out map in the boards.h file.
PCB Shields are available to purchase, or you can design your own using the schematics provided in the PCB folder
Pressure sensors
MPXV7007DP
The MPXV7007DP is a -7 to +7kPa sensor. This equates to 28" standard water gauge. This is our recommended sensor choice.
https://www.nxp.com/docs/en/data-sheet/MPXV7007.pdf
You can use other sensors but need to consider that using a sensor with a much larger range will reduce the resolution over the typical range you will use. You will also need to use a sensor that has a +/- range as the bench will change from vacuum to pressure when reversing direction for exhaust port testing or for use with a Pitot tube
The XGZP6899A007KPDPN is A cheaper alternative made by CF sensor. This also has the same range as the PXV7007.
https://cfsensor.com/wp-content/uploads/2022/11/XGZP6899A-Pressure-Sensor-V2.6.pdf
Temperature / Humidity / Baro
BME280
The BME280 is a combined Temp / Humidity / Baro sensor. (NOTE BM 'E' not 'P)
It communicates via I2C and so does not use any GPIO pins.
NOTE: The more readily available BMP280 does not measure humidity
There are two common pin layouts for BME style BOBs (including BME680s), we have included both. But it is worth double checking the PCB layout to confirm that your BME is compatible. You can view the board HERE
It is also worth noting that the default I2C address in the precompiled firmware is 118 (0x76). Some BME BOB manufacturers such as Sparkfun include a way to set the address. So it is worth checking that the BOB you use can be addressed to 0x76
ADS1115 Analog to digital converter.
Any generic style of ADS1115 should work. Again it pays to check the pin configuration matches that on the PCB, otherwise you will need to connect it using jumper wires.
Standard I2C address for the ADS1115 is 72 (0x48)
PCA 9306 Logic Level Converter
Again, as per the ADS and BME, any generic break out board based PCA 9306 should work provided that the pin out matches. The specific BOB used for the design was the Sparkfun version
SD Card
A 3.3v style SD card BOB will be needed as the SSD VCC lines are 3.3v.
Buck style PSUs
We recommend using two adjustable Buck style PSUs so that you can dial in the voltage to suit. There are many generic PSUs available. Check the image at the top of the page to compare
Notes:
- Only one type of pressure sensor is required for each channel - two types are listed (items 3 & 11) (MPXV7007DP is recommended)
- Mini blade fuse holder is for standard automotive blade fuses
- Wires can be soldered direct to board instead of using molex headers
- Parts are readily available and should be able to be substituted with equivalent generic parts
(Note: 1) You only need to use one sensor type. The three different types listed in the BOM simply to allow three different footprints to be used. This allows the end user to select which type of sensor they want to use.
You can choose any sensor, but I recommend the MPX7007DP or the XGZP6899A007KPDPN as they both have the correct range (+/- 28"/aq) and will measure both vacuum and pressure - which means that you do not need to change the pipework when you swap the bench from measuring inlet, to exhaust.
There are basically three different sensors on the board. They are as follows:
-
U100 / U101 / U102 : Reference pressure sensor
-
U110 / U111 / U112 : Differential Pressure sensor
-
U120 / U121 / U122 : Pitot Probe sensor
The reference pressure sensor (along with the baro pressure) is needed to be able to convert mass flow to volumetric flow - The MAF sensor measures in kg/h. So if you want to be able to display the flow in cfm then you will need the reference pressure sensor.
The differential pressure sensor is used if you have an orifice, pitot or venturi style bench. Instead of using a MAF it uses the pressure drop across the orifice, pitot tubes or venturi along with the reference pressure to calculate the flow.
The pitot sensor is simply a tool that allows you to connect a pitot probe and measure the pressure within the port to detect high and low flow areas. It is completely separate to the operation of the bench and is included just for convenience. It is not needed for the bench to be able to measure overall flow.
So if you plan to use a MAF and want to view the results in cfm, then you only need the reference pressure sensor and BME sensor. The reference pressure sensor also allows you to set your reference pressure for each test, which ensures that you are using repeatable conditions. It also allows you to be able to carry out a leak down test, which should be an essential part of the job setup.
Changelog
- 16.01.25 - Updated to include changes to RC9 codebase
- 01.11.24 - Added BOB component descriptions
- 11.09.24 - New V2.3 PCB design and BOM finalised. PCBs ordered.
- 23.09.22 - PCB V1 tested. Some missing nets. Final RC version will be released with the V2.1 codebase release
- 26.08.21 - Current PCB design is untested, prototype boards have been ordered. Will update once prototype has been reviewed
- 19.09.21 - Prototype board currently undergoing unit testing.