I’m glad you’re still here — either you’re genuinely interested or stuck in a weird internet rabbit hole. Either way, let’s jump in!
You’ll need one “Hub” and as many “Clients” as your data-hungry heart desires.
Note: Nothing here is affiliated. I’ve added links for convenience, but feel free to shop wherever — just make sure you’re grabbing the correct components so they match the PCB.
This one’s easy — no need to worry about power-saving magic since the hub is always plugged in via USB-C.
Multiply everything below by the number of Thermometers (clients) you want to build:
PCB
folder.Heads up: If you’re in the US, keep new China tariff rules in mind. They might apply to PCBs and components shipped from China.
3D
folder.Server
folder, and for the Thermometers (Clients) you have the Client
folder.
So while we’re waiting for our order lets break down the system to understand it better, if you’re not a geek like me or just here for the vibes you can skip that part.
Acts as the central brain like your nosy neighbor: always listening, never sleeping - waits and receives data from all clients via REST API. It stores history, settings, and names and runs a Web server accessible from any device in your network. Since it’s a server, and it needs to…well…Serve, it needs to be connected to a power source at all times which allows is to save a buck and use the ESP32C3 version.
Bonus: The hub can also become a sensor! Hook up a sensor to its PCB, and boom — another thermometer.
If you opt for that make sure to print the “ServerWithSensor” enclosure under the 3D
folder in the GitHub repo, it’s the same as the Client just thinner without space for a battery.
The Thermometers scattered everywhere are using the ESP32C6, mainly because of it’s very low power consumption on deep sleep mode. The highlevel workflow is that it wakes up every X minutes (3 by default, but you can configure it to more or less through the web app), take measurements from the sensor, sends it to the the hub and goes back to sleep.
Battery Life Estimates:
Honestly, unless you’re monitoring a lava lamp, 3 minutes is probably overkill.
When pairing starts, the client sends a “ping” to the hub.
The hub answers with a “pong”, and the client sends over its ID, MAC address, and other details.
The hub saves it in its pool of known devices, and from that point on, every time the client wakes up and sends data, it’s stored and made available to the Web interface.
Cool, right? RIGHT?
That’s it for today. In the next post, we’ll go through the assembly and installation process.
Stay tuned, and don’t forget to stretch your back..
Send me an email or use the contact form
Want to buy me beer 🍻? Use this link
~ TheBrightKnight