Give your ItsyBitsy project a lift with the Adafruit AirLift Bitsy Add-On! This sweet add-on for the ItsyBitsy lets you use the powerful ESP32 as a WiFi or BLE co-processor. You probably have your favorite ItsyBitsy (like the ItsyBitsy M4) that comes with its own set of awesome peripherals and lots of libraries. But it doesn't have WiFi built in! So let's give that chip a best friend, the ESP32. This chip can handle all the heavy lifting of connecting to a WiFi network and transferring data from a site, even if its using the latest TLS/SSL encryption (it has root certificates pre-burned in).
Having WiFi managed by a separate chip means your code is simpler, you don't have to cache socket data, or compile in & debug an SSL library. Instead the Airlift Add-On allows you to send basic but powerful socket-based commands over 8MHz SPI for high speed data transfer. You can use the 3V 32u4, M0, or M4 ItsyBitsy in Arduino although the '32u4 will not be able to do very complex tasks or buffer a lot of data because they do not have a lot of RAM. The add-on also works great with CircuitPython, though a SAMD51/Cortex M4 minimum required since we need a bunch of RAM. All you need is an SPI bus and 2 control pins plus a power supply that can provide up to 250mA during WiFi usage.
The ESP32 also supports BLE (Bluetooth Low Energy), though not simultaneously with WiFi. Many of our CircuitPython builds include native support for ESP32 BLE. Right now, we only support the ESP32 acting as a BLE peripheral, but that's sufficient to communicate with the ESP32 from a phone, tablet, host computer, or another BLE-capable board. You use a few control pins and the RX and TX pins to talk to the ESP32 when it's in BLE mode.
We placed an ESP32 module on a BitsyWing with a tri-state chip for MOSI so you can share the SPI bus. The add on comes fully assembled and tested, pre-programmed with ESP32 SPI WiFi co-processor firmware that you can use in CircuitPython to use this into WiFi co-processsor over SPI + 2 pins. We also toss in some header so you can solder it in though you'll need stacking headers for your ItsyBitsy to put the add-on on top.
The firmware on board is a slight variant of the Arduino WiFiNINA core, which works great!