ESP32-IO
This project started because initially I really liked using the Pirmoroni Automation HAT. I had one running all the accessories on my 4x4 (light bar, air compressor, camping lights etc.) and it was robust, accepted all sorts of input and output (IO) voltages, and never missed a beat.
The Pirmoroni HAT advantages were it would interface directly with automotive vehicle voltages (12-14 volts) and plugged straight onto a Raspberry Pi. But it's disadvantage was that I wanted to control more devices! I wanted 8 or so of each IO type - whereas the Pirmoroni HAT had 3.
Secondly, I also didn't want to run a whole Raspberry Pi linux single-board computer for most applications. A simple Espressif ESP32 would suit most of my simple uses and allow standard pre-written software like ESPHome.
Status | Prototype |
Platform | ESP32 Custom PCB |
Budget | $100 ea |
Date Completed | December 2021 |
Summary of Operation
This is where I started with the Pirmoroni Automation HAT - this is the one that I had running my 4x4 accessories. I'd used just about everything it had to offer - and I'd had to augment it's functionality by adding external pull-up and pull-down resistors (blue ones!) in order to correctly interface with signals coming from my car (e.g. headlights on to activate my spotlights). It worked perfectly... it was just a bit messy and I'd reached the limit of what I could add to it...
So this is where I ended up after swapping (cutting all the wires and re-joining!) to the new ESP-IO.
So comparitively, this was the final specifications:
Function | Pirmoroni Automation HAT | ESP-IO |
---|---|---|
Status | Production | Prototype only! |
Host Platform | Raspberry Pi |
Raspberry Pi or ESP32 |
Supply Voltage | 5V from Pi | 5V from Pi or USB-C |
Digital Inputs (24V max) | 3 | 16 |
Analog Inputs (24V max) | 3 | 8 |
Relay Outputs (24V 2A max) | 3 | 8 |
Sinking Outputs (150mA) | 3 | 8 |
I2C Ports | N/A | 3x Stemma QT/QWIIC |
Serial Ports (3.3V) | 1 | 1 |
Terminals | Screw | Würth Screwless |
Engineering Detail
I'll post the files on GitHub eventually! If you're interested in the meantime, just email me and I'll share.
I can also share the 3D printed enclosure shown above (green).
I'll can also probably make you a new version with an ESP32-S2 with native USB and CircuitPython support...