Sending temperature data between two microcontrollers.
For Week 11, I worked on networking and communication between two different microcontroller boards. Originally, I planned to use the Arduino Uno R3, but I ended up switching things up and using a Seeed RP2350 on one side and a Seeed ESP32-C3 on the other.
The goal was to have one board read the temperature and send information wirelessly to another board. The second board would then react by turning on LEDs and controlling a fan.
On the RP2350 side, I connected a temperature sensor to read temperature and an OLED screen to display the data. This side was responsible for detecting when the temperature increased and then sending a signal using NRF24L01 wireless modules.
This made the RP2350 side the input and transmitter side of the system. It collected the sensor data and sent the result to the other board.
On the ESP32-C3 side, I set up a green LED to indicate when the system was cool and a red LED to show when it was hot. I also added a motor/fan controlled by an IRF540 MOSFET.
When the temperature threshold was reached, the signal from the RP2350 triggered the ESP32-C3 to turn on the red LED and activate the fan. When the system was cool, the green LED stayed on instead.
I used the Arduino IDE to code both boards. I already had most of the temperature and output code from previous weeks, so the main challenge was changing the code so the two boards could communicate using the NRF24L01 modules.
Everything worked well after testing and adjusting the code. I had to make sure the transmitter and receiver matched each other, used the correct settings, and responded to the same threshold values.
I also recorded videos of the system working and planned to add those to my documentation.
This is showing the temperature going up with just my fingers.
This week helped me understand how two microcontrollers can communicate wirelessly and work together as one system. One board collected the input data, and the other board reacted by controlling output devices.
I also learned that wireless communication requires careful wiring, matching code on both sides, and correct threshold values so the transmitter and receiver respond the way I expect.
This assignment also helped connect my previous input and output work together. Instead of one board doing everything, the project was split into two boards that had to talk to each other.