Close

Float like a feather and string like a USB.

A project log for Amherst Makerspace Maker Station

A system to manage makerspace members access to equipment

marcel-chabotMarcel Chabot 01/17/2024 at 03:290 Comments

The ESP 32 devices come in every shape and size imaginable! If we are going to have any hope of a future capable design we need some kind of standard to work with. Both Sparkfun and Adafruit sell several flavors of device on a form factor called "Feather". We are thinking if we design around this format, then we should be able to use any device that is Feather compatible. It is as close to a standard as we can find.

The next problem is the pin outs. I happen to have three devices that are all feather boards, all different flavors of ESP 32 and they have slightly different pinouts. Power and Ground are fine, but the I/O pins are different. In the Arduino Software we are going to have to include a way to flag which board we have and use #Defines to select it. Here are the three I have already:

//Sparkfun ESP32 THING Plus WROOM / Adafruit HUZZAH32 ESP32 Feather
#ifdef ESP32ThingPlusWroom
const String Board = "ESP32ThingPlusWroom";
const int HBPin = 13;   //Heartbeat LED OUTPUT
const int APPPin = 12;  //Approved LED OUTPUT
const int DNYPin = 27;  //Denied LED OUTPUT
const int ACTPin = 33;  //Active LED OUTPUT
const int OPTPin = 36;  //OPTO INPUT
const int BTNPin = 39;  //BTN INPUT
const int RLY = 19;     //Relay OUTPUT
const int DTS = 18;     //DST OUTPUT
const int LS = 5;       //LS OUTOUT
#endif

//Sparkfun ESP32-s2 THING Plus WROOM
#ifdef ESP32S2ThingPlusWROOM
const String Board = "ESP32S2ThingPlusWROOM";
const int HBPin = 13;   //Heartbeat LED OUTPUT
const int APPPin = 12;  //Approved LED OUTPUT
const int DNYPin = 11;  //Denied LED OUTPUT
const int ACTPin = 10;  //Active LED OUTPUT
const int OPTPin = 7;   //OPTO INPUT
const int BTNPin = 9;   //BTN INPUT
const int RLY = 37;     //Relay OUTPUT
const int DTS = 35;     //DST OUTPUT
const int LS = 36;      //LS OUTOUT
#endif

//Adafruit ESP32-S2 Feather
#ifdef ESP32S2Feather
const String Board = "ESP32S2Feather";
const int HBPin = 13;   //Heartbeat LED OUTPUT
const int APPPin = 12;  //Approved LED OUTPUT
const int DNYPin = 27;  //Denied LED OUTPUT
const int ACTPin = 33;  //Active LED OUTPUT
const int OPTPin = 36;  //OPTO INPUT
const int BTNPin = 39;  //BTN INPUT
const int RLY = 19;     //Relay OUTPUT
const int DTS = 18;     //DST OUTPUT
const int LS = 5;       //LS OUTOUT
#endif

Discussions