Hi everyone,
I’m working on a small personal project where I want to read data from a few environmental sensors (like temperature, humidity, and air quality) and maybe display it on a small screen or send it to the cloud later.
I’ve been looking at different microcontrollers like the Raspberry Pi Pico, ESP32, and Arduino Nano, but I’m not sure which one would be the best mix of power and simplicity for a beginner. I’ve used a Raspberry Pi 4 before but haven’t done much with microcontrollers specifically.
I’m learning electronics as a side hobby while doing a Workday Course for my day job (totally different field!), so I’m trying to keep things straightforward and budget-friendly.
If anyone can suggest a good starter board and maybe share some sample projects or tutorials, I’d really appreciate it. Bonus points if it’s something available from Core Electronics directly!
I’ve enjoyed CE’s piicodev range.
Very beginner friendly.
They’re designed to play nice on the Raspberry Pi Pico with Micropython.
Given that your wanting to throw this on a cloud later, you may want to use the wifi enabled variant of the Pico board.
Because this is developed by Core Electronics, @Jaryd and the team have made a beginners guide and library for each of the piicodev modules.
I started with the starter kit and am just completing my second project. Pico, Piicodev boards and m’python all easily accessible with Core’s guides and videos.
@Pixmusix and @Mark285907 are on the ball here, just to throw my 2 cents out there though, I reckon a Pico or an ESP32 with MicroPython would be the way to go. It looks like you already have some knowledge of microcontrollers and code, but we have a comprehensive Pico course if you need to fill any missing gaps in knowledge.
Both of them use very little power (a good 20 or so milliamps when running), but if you are looking to battery power this setup, then you might need to use some better power management. The ESP32 has some fantastic deep sleep modes, but the Pico is lacking a bit in this regard and still uses a fair amount of power. If you are using the pico you might want to grab a power timer, which we also have a guide for.
In terms of sending that data wirelessly, you might wanna check out MQTT and Adafruit IO. We have a guide for it on the Pico, but it should be similar if you are using an ESP32!
When you say its a small project, do you mean the sensors will be located within a couple of metres and physically wired to the microcontroller ?
If you are interested in a higher-level approach, i would suggest looking at Home Assistant. Home Assistant is designed to run on a Raspberry Pi 3 or better, collecting data from independent off-the-shelf wireless sensors, switches and other devices. Home Assistant includes data logging, flexible dashboards to display the data, automations, and program modules feely available to integrate products from over 1000 brands, requiring only a few parameters to configure. Did i mention it’s Open Source (totally free) and keeps all your data and processing local (no data sent to “the cloud” where you have no control) unless you want it to.
For when you want to get ‘down and dirty’ with the hardware, ESPHome is a firmware generator and configuration system that enables the transformation of microcontrollers into fully customizable smart home devices. Using a simple configuration file, ESPHome allows users to define hardware components like sensors, actuators, and peripherals. These configurations are then compiled into custom firmware that can be flashed onto the target device.
I am currently implementing an ESPHome project for my hobby greenhouse with 3 temperature/humidity sensors, water valve, soil moisture sensors and a couple of latching relays. This runs on an ESP32-S3 powered by a Li-Po battery and solar panel, which connects by wi-fi to my Home Assistant PC to record and display the data and allow remote control.
Curious to hear more about your project.
And remember “if the only tool you have is a hammer, everything looks as if it were a nail”. When you ask what is “best”, people will tell you what tool they use.