Claudio consists of just five (or six) components, the wiring between them and code. No resistors, capacitors, diodes… no discrete components apart from 3 five cents of € coins. 😉
List of components:
- ESP32 Development Board: I’ve tested two different boards, and though they are very similar the results were not the same.
Price: US $7
The first one was the one on the right side. It is a board I bought a year ago and it was working fine (for small tests) since then. When I first tried to put all the components together I noticed that ILI9341 TFT Display and WiFi connection were not good friends working at the same time. After 3 or 4 display operations (text, area fill, …) the screen went always blank and only when WiFi library was loaded. I tried multiple pin configurations, alternate libraries loading order. I tested voltage on each significant pin (D/C, CLOCK, MOSI) and no result.
Finally, I decided to give a try one of the last boards I bought: the model on the left side. The result was successful. No blank screen. But, these boards have a bug design: they don’t allow uploading schemas directly from Arduino IDE (Error: Timed out waiting for packet header) and you have to ‘play’ with EN and BOOT buttons every time.
Workaround: once Arduino IDE tries to upload the schema, press BOOT and without releasing it press also EN button, wait for a half second, release EN and when IDE stops waiting and starts the uploading you can release BOOT button.
ebay.com search for ESP32 Dev Board
- ILI9341TFT Screen – SPI
Again, the component I had at home was about one year old. The only difference is that the one you can find now implements a set of pins to control a touch panel (though they say at the product description “non-touch”). Anyway, I think the one is being sold now is perfectly compatible with the previous model.
What we need for this design is a model with an SPI pin configuration. Sellers usually refer to these as “driven with at least four IO”
Price: US $7
Sample ebay.com link to ILI9341
- DHT-11 Temperature and Humidity Sensor
This is a low-cost sensor very easy to use. Though it has four pins, only three of them have a function (the other one is not connected).
Simply connect ground pin to GND, VCC pin to 3V3 and Data Out pin to any ESP32 IO pin.
Depending on the range of temperature/humidity you need to measure, you should take a look also to DHT-22 sensor (which implements a wider range and more accuracy), but in my case, 0-50ºC/20-80%R.H. is quite enough.
Price: US $1
- BH1750FVI Digital Light Intensity Sensor
I think the best feature of this sensor is, apart from ease of use, the sensibility and stability.
It measures ambient light and gives the result in Lux.
It has 5 pins, but once again we can ignore one of them (ADD) by connecting it to GND. So, we only need two ESP32 IO pins to connect SDA and SCL sensor pins.
GND and VCC pins go to GND and 3V3 ESP32 pins respectively.
Price: US $1
ebay.com link to BH1750FVI search
- Passive Piezo Buzzer
The most basic part of the system.
Just two pins (the middle one can be ignored), one goes to GND and the other one to an ESP32 IO pin.
Price: US $0.2
- Touch sensors (5 cents of € coins)
Each one connected to an ESP32 Touch pin.