Wouldn't it be great if, instead of collecting shields, HATs, PMODs, Clicks, Booster Packs, Props... you could have a cross-compatible platform? Something that doesn't force you into one chipset? and allows you to mix-and-match the microcontroller, wireless protocol, and functional extensions?
Yeah, me too! That's why I created Feather. Feather is a flexible and powerful family of microcontroller main-boards (Feathers) and daughter-boards (Wings) with a wide range of capabilities.
Feathers!
Since we aren't tied to one chip manufacturer, we feature the best-of-the-market chipsets, including:
- Atmel ATmega32u4 and ATmega 328P - 8 bit AVR
- Atmel ATSAMD21 - 32 bit ARM Cortex M0+
- Atmel ATSAMD51 - 32-bit ARM Cortex M4
- Broadcom/Cypress WICED - STM32 with WiFi
- Espressif ESP8266 and ESP32 - Tensilica with WiFi/BT
- Freescale MK20 - ARM Cortex M4, as the Teensy 3.2 Feather Adapter
- Nordic nRF52832 and nRF32840 - ARM Cortex & Bluetooth LE
- Packet radio modules featuring SemTech SX1231
- LoRa radio modules featuring SemTech SX127x
and many more to come!
Wings!
Once you've picked your main dish (the Feather mainboard) you can pick and choose from a wide wide variety of Wings. Wings are like little "shields" or "HATs" for Feathers. You can (in theory) add as many Wings as you like to a single Feather main-board, as long as you don't run out of power, space or have pin collisions.
Best of all, we've tested all of our Wings against all of our Feathers. So, other than a few exceptions (mostly the GPS Featherwing), you can re-use, re-cycle, and upgrade your Feathers and Wings between projects and as need arises.
For example, start out with a Feather 32u4, then decide to upgrade to the Feather M0 or M4 for more Flash - the pin out is the same! Or, make an IoT project with the ESP8266 and then super-power it with an ESP32 just by swapping out the main Feather. Maybe build a project with a Feather M0 Bluefruit, then realize you need more range so you switch to a Feather M0 LoRa.
The Feathers and Wings all have example code written in Arduino C/C++ so as your projects adapt, all your wings and code will come along with you. Boards that have names with the Express suffix also support CircuitPython for fast and easy programming.