So far, when building a project, I always end up with a single device as my goal is to build a working prototype or a proof of concept device.
With my latest challenge, this was entirely different as I needed to build 6 identical devices so I had to think ahead on the processes and requirements for each of the components so the process is optimal and repeatable.
My friends from the Rotary Club Bitola donated the funds for purchasing the components for 6 pulse.eco WiFi sensor nodes and I agreed to build the sensors for them so that we can expand the network in our hometown.
Pulse.eco Platform
The pusle.eco platform is a crowdsourced environment data collection and presentation platform. It uses a crowdsourced network of sensors to gather data for the pollution, temperature, humidity, and noise levels of our surroundings. The platform presents this data visually so we can understand the quality of the air around us so that we can act accordingly when the situation is not great.
I'm already housing one of the sensors in my home but with the addition of the 6 new sensors, we will double the coverage in the city for a better overview. Since the platform is based on crowdsourcing the data, everyone can purchase the necessary parts for the sensors and build one for themselves.
I highly encourage this as the cost of the parts is not that much but the value it provides can be indispensable. Details for building a WiFi sensor node for yourself can be found here.
Components required
To build a sensor node you will need the following parts and tools:
- Nova PM SDS011 Particle sensor - https://s.click.aliexpress.com/e/_mqzTWMc
- NodeMCU ESP8266 Microcontroller - https://s.click.aliexpress.com/e/_mOGP0Yc
- BME680 Temperature Humidity Pressure Sensor - https://s.click.aliexpress.com/e/_EuHPqAL
- LM386 Sound Sensor - https://s.click.aliexpress.com/e/_Dke0XlZ
- Assorted resistors - https://s.click.aliexpress.com/e/_m0oOFRQ
- Prototype PCBs - https://s.click.aliexpress.com/e/_Ex3Ovvz
- Soldering Station - https://s.click.aliexpress.com/e/_oD29cv2
- Outdoor Junction Box - https://s.click.aliexpress.com/e/_okTNzrw
Depending on the number of devices that you want to build you will need to purchase that many of each component except for the tools. The provided links are just a suggestion and you can purchase the parts from any other vendor that works best for your preference as long as the part numbers are the same since the device firmware is optimized for them.
Setting Up the Components and Wiring
3.1 Soldering Pin Headers on BME 680 Sensors 3.2 Planning PCB Layout for Batch Assembly 3.3 Detailed steps for soldering each component to the PCB 3.4 Batch soldering techniques and tips (e.g., using jigs, serial processing, managing fumes)
Once all of the parts arrived, I grouped them per device so that I could have a clear overview of the progress.
The NodeMCUs and the microphone sensors came with the pin headers pre-soldered, but the BME680 sensor was not so I started the build process by first soldering the pin headers to each sensor.
To figure out the layout of components on the prototyping PCB, I used the wiring diagram to see where each sensor connects to the NodeMCU so that the wiring can be as simple as possible without too many wires crossing on the PCB.
Once I had the layout defined, I started by first soldering the NodeMCU in place for all of the sensor nodes, then soldering the BME680 sensor, and finally soldering the sound sensor.
The SDS011 particle sensor is separate from the PCB because of its size, and I connected them using an extension cable that came with it. The cable is soldered directly to the NodeMCU pins on the back of the PCB so that the PCB can be stacked inside the enclosure.
Once the devices were soldered in place, I used my multimeter to verify each connection and make sure that the sensors were connected to the right pins.
Flashing the Firmware
The device firmware needs to be flashed to the NodeMCUs using the NodeMCU PyFlasher utility. This is an open-source software that can upload the firmware to the boards. It is very straightforward to use, and once started we need to select the right COM port of the connected NodeMCU board, select the BIN file for the firmware (the firmware can be downloaded from the official guide here), and just click on flash.
The process takes 10~20 seconds and if everything goes right, you will see a success message instructing you to power cycle the NodeMCU so it starts in operation mode to execute the uploaded firmware.
On first initialization, the sensor node will start its WiFi hotspot that we need to connect to and set the required parameters.
Preparing the Enclosures
If you have access to a 3D printer, there is an official case file that you can download and print to mount the sensor. An alternative is to use an electrical box with at least 85 x 85 x 50 mm. Anything bigger will also work.
The enclosure needs to have a few holes drilled into it so that the intake and outtake of the SDS011 sensor are free for air to circulate through. Additionally, there should be enough air circulation for the BME680 sensor to measure the right temperature. Once I determined where I wanted these holes, I marked one and then used a step drill to make the right size of the hole.
Inside the enclosure, the components can be secured with a dab of hot glue or double-sided tape.
Configuration and Deployment
To deploy the sensor, the enclosure needs to be mounted in the shade, and protected from the rain.
Each device needs to be registered to the pulse.eco platform where a unique device key is generated for it. This device key is then set on the device from the WiFi configuration page that is provided when the sensor is first powered up.
In our case, we still don't know the exact places where the sensors will be mounted so we will execute this step on installation.
Future Work and Next Steps
Since this was the first time that I created more than one of the sensors at a time, I came to the idea that a dedicated PCB would speed up the construction in the future. This PCB can be manufactured by our friends over at PCBWay so that once the components are soldered in, we can already have all of the right connections established.
I did not create this PCB for now but if we build more sensors in the future, I definitely will so that the entire process can be simplified even more.
Building the 6 sensors was fun and interesting to figure out and I recommend that you also try and build multiple of the same thing when you get the chance. Additionally, if you want to know the air quality in your area, then you can build a sensor for yourself and start expanding the network to more places.
If you are into electronics and DIY projects, you can check out my YouTube channel where you can find a lot more similar and interesting ideas and projects.