An Eagle part library to support use of the ESP32-PICO-KIT-V4 as a daughterboard.
Background
I’m working on a “device hub” for robotics and remote sensing. The goal is to provide a hub for I2C devices (motors, actuators and sensors) that’s accessible over WiFi. The board will be low-cost, powered from 12VDC (nominal) power supply or battery, and expose a range of devices over the network via a clean, simple abstraction API. I’m calling this project RBOT.
Autodesk Eagle
I’m using the fantastic Eagle software from Autodesk. It’s free for small board development and pretty cheap for professional development. There’s LOTS of parts already available for this software, including many for the ESP32. But for what I want to do I could not find a suitable part library.
ESP Board as a Daughter Board
The ESP32-Pico-V4 Board is about $8 at DigiKey making it a fabulous, cheap, easy to use compute daughterboard for projects.
It’s far cheaper to buy one of these and drop it into a socket on a custom board than to try to source all the parts and have the ESP32 compute parts right on your board. Besides, the BOM cost to add those components would DEFINITELY add up to more than $8!
Why Not the ESP32 Thing from SparkFun?
I have one of these boards too, but they are $21 not $8. Also, as a daughterboard you probably don’t need the battery charging circuit, and they use a 26MHz main crystal frequency, not 40MHz like the PICO-V4.
The Actual Library
You can install it yourself by “git clone” into your $EAGLE/library folder from the gitub repo. You will need to add the library as usual, then make sure you “use” it as well.
Actual Physical Parts
The board mounts on a 2x20 header pair 0.7in apart. The “bottom” 3 pins on each side are not populated (bottom is where the antenna is, top is where the USB Connection is). I had a hard time finding 1x20 headers but finally found some from Pheonix Enterprises for $0.68 (x1). I definitely would not be able to find 17 pin headers (although you could cut your own). So be careful when you insert the actual board into the socket to line pin 1 and 20 up to the top.
Power Supply Considerations
The Reference Material cautions against powering the board simultaneously from the USB port and an external 3V3 source. However, there’s likely insufficient headroom 3V3 current from the onboard AMS1117 regulator to power any offboard devices.
My solution is to add a solid state normally-closed relay driven from the EXT_5V line. The relay connects the motherboards 3V3 to the PICO-V4’s VDD33 input. That line will only be powered from the USB, so when it’s plugged in it will drive the relay open, isolating the PICO-V4. The relay I’m using currently is the Panasonic AQY412SX.
USE AT YOUR OWN RISK
I’ve not had a board made using this yet, so use it at your own risk. I am not liable for anything if you use this for any purpose, etc. etc. etc.
License
This part may be freely used under the terms of the Creative Commons License.
Conclusion
Half of this exercise was to learn how to make a custom part in Eagle, but I also plan to use these boards a lot - so having this part in my library is a good thing. Since I had seen others seeking something similar, I thought I’d open source it.