VOTE NOW!
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Design 1/4
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Usability 2/4
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Creativity 3/4
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Content 4/4

Minimalist ESP-8266 temperature/humidity sensor/programmer.

OSHPark PCB

This is a Kicad design which uses a PCB USB connector and integrates an ESP-12 (or 07), CH330N USB controller, a small voltage regulator (HT7233), and a AHT-10 temperature/humidity sensor. Flash and reset buttons are also included.

PCB Front

My prototype was done on a PCB mill (0.3mm 30 degree V-bit), so things like trace sizes and clearances reflect that.

PCB Back

If you don't want to roll your own PCB's, Oshpark does a nice job on these at a great price.


Assembly

This PCB is designed for reflow soldering of the SMD components. I'm sure someone can hand solder it, but it wouldn't be me.

R3 should be left out if the ESP modules being used have an internal pullup between RST and 3V3 (which most newer ones seem to have). Otherwise, you end up with a combined pullup resistance near 5k, and GPIO16 though a 1k resistor seems to struggle to pulse that long enough to perform a proper wake. I really need a scope to dig into this further.

I prefer to mount my ESP modules on 2mm pin headers. It's not really necessary unless you screw up designs as often as I do. However, doing so technically makes all the USB stuff optional for some boards since I can just remove the module for programming.


Usage

The temperature sensor is mounted to the backside of the board from the ESP-8266. Practically speaking, this means that unless you want to monitor the temperature of the MCU, you need the device to spend as much time in deep sleep as needed to bring the temperature down to ambient. When waking up, it's best to take the temperature reading ASAP during startup, prior to doing something like a DHCP connect, during which the ESP starts to ramp up the temperatures. Testing shows that this sort of delay can spike the temperature reading by 0.5C or more. I expect that a combination of deep sleep and ESP-NOW would be ideal.


Design Notes

The CH330N is running off the 5V rail, which technically means it's driving the ESP UART at (allowing for a 0.3v drop from D1) approx 4.2V, which is clearly above the 3.6V rated max for the ESP. In practice, the ESP-8266 is quite 5V tolerant on GPIO's, and the CH330N only drives at something like 4mA, so this probably isn't worth worrying about.


Bill of Materials

Most parts are purchased from LCSC. Some of these choices aren't ideal, but I had them on hand and they work. The only things I plan on doing differently is replacing the fuse with a 300mA and changing the HT-7233 out for a SOT-23-3 version. A design based around one of the more common DFN-6 sensors like the Si70xx series might happen down the road.

Strictly speaking, most of the USB protection components aren't necessary for a simple sensor device and definitely complicated the build.

Jan 13,2020
388 viewsReport item
  • Comments(0)
  • Likes(1)
You can only upload 1 files in total. Each file cannot exceed 2MB. Supports JPG, JPEG, GIF, PNG, BMP
    View More