Expert Needed: Im Building a Water Quality Monitoring System Using ESP32 and Power BI

Hi everyone,

I’m working on a school project and could use some advice. I’m setting up a water quality monitoring system using the following components:

  1. FireBeetle ESP32 E IoT Microcontroller (Wi-Fi & Bluetooth) / not fix
  2. DFRobot Analog Turbidity Sensor for Arduino
  3. DFRobot Analog TDS Sensor/Meter for Arduino
  4. DFRobot Gravity Analog pH Sensor/Meter Pro Kit V2
  5. DFRobot Waterproof DS18B20 Digital Temperature Sensor Kit
  6. LCD 16x2 (for displaying sensor indicators)

I plan to use MQTT for data communication and Power BI for visualization. Since I’m new to this, I’m wondering if this setup will integrate well with the ESP32. Are there any adjustments or additional components I should consider to ensure everything works smoothly? Additionally, any tips on connecting these devices to the ESP32 and using MQTT effectively would be greatly appreciated.

Thanks so much for your help!

Use the sample sketches for each sensor. Build up the sketch one sensor at a time but get the display working first. If you get the I2C version of the 1602LCD you will save 8 pins.

4 Likes

Interesting as a school project.
You can also consider those esp32 board with integrated tft color display ( and touch panel too ).
The smaller ones, 2.4" for example are not so expensive ( the ttgo ones are also good but generally a little more expensive ).
Regarding the analog sensors you noted you can integrate easily with the esp32.
Regarding mqtt you should not have any problem, if you follow the example of the pubsubclient library you can connect to any free/public broker in minutes.

1 Like

It is a good idea to connect each of the sensors one by one, following each of the DFRobot examples, and verify that each is working and that you understand and believe the measurements, before starting to put all the bits together.

3 Likes

One more vote for getting each sensor working individually before you try to combine anything.

2 Likes

another vote for testing each sensor in a separate program before attempting to implement the complete project
also test the MQTT etc communications using known test data then start adding sensors
agree with @davidefa recommendation to use a ESP32 board with built in TFT display - will reduce interconnections which can be a source of intermittent problems