ESP32 Weather Station On A PCB

We see lots of ESP8266 projects, but considerably fewer for the ESP32. So this good-looking weather station on a PCB using an ESP32 caught our eye. The board has a few sockets for common weather gear, but with a little modification, it would be a great carrier for an ESP32. Since the PCB layout is available, you could change things around to suit you. You can see a video from [Rui Santos] about his project and its progress from breadboard to PCB in the video below.

Assuming you build the board with no changes you have room for:

  • 2 SMD LEDs
  • 1 Pushbutton
  • 1 Trimpot
  • 1 DHT22 temperature and humidity sensor
  • 1 BMP180 barometric sensor
  • 1 Light-dependent resistor
  • 1 MicroSD card module
  • 2 Terminal blocks for I/O

The ESP32 [Rui] used is itself a module. The ESP32 DOIT DEVKIT V1 board looks like an IC footprint. If you socket it, you could easily remove the module for other projects later.

The ESP32 code provides a web server to display its measurements. The page uses AJAX which allows the server to update the values on a page without refreshing the page.

If you’d rather control the world instead of monitoring it, you can do that too. If you want to go overboard, you can build a clock with no less than five ESP32s.

19 thoughts on “ESP32 Weather Station On A PCB

  1. I’d suggest to replace the BMP180 by a BMP280 or BMP680 and drop the DHT22 altogether.
    These Bosch sensors deliver much more reproducible hygro accuracy than any DHT* and AM2* sensors.

    1. Because development boards like this are aimed at beginners and the arduino environment will be familiar.

      Personally I use a breakout board for the ESP and discrete components and sensors with a plug/breadboard then when it’s working use strip board, home made pcb or design and order a factory made pcb from one of the many small batch pcb services.

      1. I think you didnt understand me I dont have anything againts breakout boards, but the ways everyone program, them arduino isnt the only way to use ESP you can program it via ESP-idf but i didnt seen any project made this way

        1. One reason I can think of is library support. Arduino has a massive number of libraries that would have to be ported over to other platforms, which would take a bunch of time that could be better used developing the actual product.

    1. Yes, but you have to buy the code. It is only a couple of $ but I purchased the mag to get a link to the code and find I have to spend more. If you subscribe it is included but I no longer subscribe to any mags as it soon adds up and then I end up with stuff I don’t need anyway.
      Oh well, $2 here is go… ;)

        1. Well, I just purchase it and…..

          Arduino: 1.8.4 (Mac OS X), Board: “Generic ESP8266 Module, 80 MHz, 40MHz, DIO, 115200, 512K (64K SPIFFS), ck, Disabled, None”

          The library “Wifi Water Tank Level Meter software” cannot be used.
          Library names must contain only basic letters and numbers.
          (ASCII only and no spaces, and it cannot start with a number)
          The library “Wifi Water Tank Level Meter software” cannot be used.
          Library names must contain only basic letters and numbers.
          (ASCII only and no spaces, and it cannot start with a number)

          Not happy!!!!!!!!!

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.