Specs Adafruit Feather
Specs Adafruit Feather
Specs Adafruit Feather
https://learn.adafruit.com/adafruit-feather
Overview 5
• Feathers! 5
• Wings! 6
Feather History 7
• Some possibilities 8
• Beginning of a Feather 8
• An M0 Challenger Appears! 11
• Wing Friendz 12
• ESP8266 Feather 13
Feather Specification 14
• Feather & Wing Sizes 15
• Pins & GPIO 17
• Power 17
• VBUS 17
• VBAT 17
• VBAT & VBUS Usage on Wings 18
• 3.3V Output 19
• ENable Input 19
• Bus Pins 19
• Analog Pins 20
• General Purpose Pins 20
• Other Pins 20
• Pin Naming 21
• Other Requirements 22
• USB 22
• Bootloader / User LED 22
• Not Required! 23
CircuitPython 23
• Feathers designed for CircuitPython 24
• CircuitPython-Compatible Feathers 26
Feathers 30
• All Feathers... 30
• Most Feathers... 31
• Some Feathers... 31
• No Feathers 31
Basic Feathers 32
• ARM ATSAMD51 32
• ARM ATSAMD21 33
• ARM ATSAME51 34
• AVR ATmega 328P 35
• AVR ATmega32u4 35
• ARM RP2040 36
• STM32F405 36
• Teensy 3.2 Adapter 37
WiFi Feathers 38
• About WiFi 38
Bluetooth Feathers 47
• About Bluetooth 47
• Feather nRF52840 Express (nRF52840) 47
• Feather nRF52840 Sense (nRF52840) 49
• Feather nRF52 (NRF52832) 50
• Feather Bluefruit M0 and 32u4 52
• ESP32 Feather 53
• ESP32 V2 Feather 54
• ESP32-S3 Feather 55
Cellular Feathers 56
• Cellular Feathers 57
FeatherWings 62
• Accessories 63
• Stacking Headers 63
• Female Headers 64
• Shorty Headers 64
eInk Wings 72
Relay Wings 88
• Non-Latching Mini Relay 88
• Latching Mini Relay 89
• Power Relay 90
Networking Wings 93
Music Wings 97
• MIDI FeatherWing Kit 99
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:
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.
For the last decade or so I've been making projects with Arduinos and compatibles.
And, an Arduino is a great way to start a project, but after many years I started seeing
the same 'issues' crop up:
• Arduinos are big - sure they're smaller than a computer but they're still chunky
enough to make them not-so-wearable or hand-held
• To do stuff, you can add shields, but stacking shields get really tall to get any
significant technology stacked on
• There's no wireless technology built in: now that WiFi, BTLE and cellular is
ubiquitous, just about any project can take advantage of a wireless connection!
Some possibilities
There are a few boards that tried to address these issues, but none of them really
seemed to 'scratch that itch'
Beginning of a Feather
It was about when KTOWN had finished designing the SPI Bluefruit Friend when we k
ept (https://adafru.it/weM) seeing (https://adafru.it/weN) crowdfunding (https://
adafru.it/weO)campaigns that had an Arduino-compatible chip and a Bluetooth LE
interface. We thought "it would be really cool and useful to have something that was
breadboard friendly, with an Atmega32u4 so it has built in USB, and a Bluefruit
module. We've already got the library code, it'll be an all-in-one!"
The Bluefruit Micro was incredibly popular. So much so that I realized we should
probably do something better. So I shrank the chip from a QFP to a QFN and stuck
the battery connector off the side:
I settled on a pinout configuration that exposed all the power pins, analog inputs,
GPIO, I2C, SPI and UART. Once that was done I tried making a few different 'flavors'
such as with a micro SD card holder to make a datalogger:
An M0 Challenger Appears!
A new chip in the market at the time was the ATSAMD21, used in the Arduino Zero.
This chip is about the same price as the ATmega32u4 but has 8x as much FLASH, 8x
as much RAM, is a full 32 bit ARM Cortex M0+, runs 6 times faster and has a bazillion
more peripherals including a DAC! Feather turned out to be a great way to make a
board using this nice new chip. So I designed versions of Adalogger, Basic and
Bluefruit to match!
Then, I took the most popular Arduino shield we have, the motor shield, and
squeezed it down to a Wing. That fit fine too!
I tried designing a couple more FeatherWings, using I2C, SPI, GPIO etc. Like this
OLED wing:
By this time I had maybe a dozen or so Feathers and Wings. So far I'd only been using
the ATmega32u4 and ATSAMD21. These chipsets are powerful and have plenty of
capability. But to make the ecosystem really work I needed to make the most 'difficult'
and 'minimal' Feather, to verify all my Wing designs would still work
ESP8266 Feather
Once I had a prototype of this design I sort of realized that the basic idea could be
extended to other modules, not just the nRF51 Bluefruit module. For example, at the
time, the ESP8266 was gaining in popularity, and there was a module that had the
chip, flash memory and antenna. We already had a breakout board but it didn't have a
USB interface, or battery charger. Adding a USB to serial converter and a lipoly
charger would make the board a little bigger, and with some arrangement, I fit
everything in the same 0.9" by 2.0"
Since the ESP8266 was so constrained: only one 1.0V ADC, few pins, odd pullups and
pulldowns, it was a perfect test bed for all the Wings I could create. I started cross-
testing all the Wings with this chip. If I could get them working with this Feather and
the 32u4 and the SAMD21 that covered 3 different architectures (Tensilica, 8-bit AVR,
32-bit ARM) for good functional coverage.
As of this writing, May 2017, there are 52 Wings and 26 main boards. Other
companies and customers are also designing their own compatibles.
I fully expect to have 100 Wings and 50 main boards in the next year or two - Feather
has been a great success!
Feather Specification
Are you interested in making something that works with the Adafruit Feather &
FeatherWing system?
That's awesome! Adafruit encourages you to do so! Here's some guidelines to make it
easy to make sure you can mix & match in the nearly-100-board ecosystem.
There is one 16-pin breakout strip on the bottom side, centered 1.0" from the left
edge. There is one 12-pin breakout strip on the top side, 1.2" from the left side. The
spacing between the two strips is 0.8" Don't change the GPIO spacing or location, or
you will not maintain compatibility with Wings!
If you need more space, you can, of course, go double-sided or you can go longer.
For example, the 32u4 FONA Feather has the same width but is longer:
If you are making a Feather main-board, we don't recommend going any wider, or
adding space on the 'left side' where the USB port is. If you do go wider, or add
space, make the USB side (the left two holes, and the breakout pins with-respect-to
bottom left corner) the same.
Or you can do what we did with the TFT FeatherWing where the board plugs into the
back.
Note that even with these larger wings, you can use stacking headers to add more
wings on top.
If you maintain compatibility you can expect to be able to work with any current or
future Wings! (Note, however, we only test our own boards for guaranteed
compatibility)
Power
All Feathers and Featherwings use 3.3V logic - so do not make anything that requires
5.0V logic. You must accept and emit 3.3V logic on any Feather/Wing (except for
Analog inputs)
VBUS
This is the power that comes from the USB port. It should be 4.5-5.5V or so, 500mA.
You can put a fuse on this pin if you like, but it is not required. This pin can be at
approx the same voltage as VBAT if the USB power is removed (some of our older
Feathers did this), or it can disconnect completely (our newer Feathers including the
ESP32 do this with a transistor switch). FeatherWings can use this for powering larger
items like servos or lots of LEDs, but they need to cope/understand that it can go
away when the Feather is unplugged from USB
VBAT
This is the power that comes from the 'optional' LiPoly battery. It should be 3.0-3.7V or
so, with variable current capability.
If you are making a mainboard Feather you must have onboard LiPoly charging (its a
core expectation) and the LiPo connection must be a JST 2-PH that matches Adafruit
batteries. The connector must be in the same location, 0.425" from the left edge
Also, you must have some charge indication LED, we strongly recommend sticking a
yellow CHG LED below the microUSB connector.
We strongly recommend you design your Feather and Wings to not require a LiPoly
plugged in. For cellular, a LiPo is required but that is the one exception we've made
so far!
FeatherWings can use this pin for powering larger items like servos or lots of LEDs,
but they need to cope/understand that it can go away if the LiPo dies or if it is not
unplugged.
We recommend that if your Wing does need high power, to use 2 x 1A Schottky
diodes to give higher-of-either for your power input.
We also recommend that you use a simple invert+switch to disable the power source
when ENable is low:
The 3.3V pin is power from Feathers to Wings. You must have a regulator or buck
converter on the Feather mainboard to take VUSB/VBAT to 3.3V. It is OK to have the
3.3V drop down to 3.0V when the battery is dead. We like the AP2112K-3.3 regulator,
it's ultra low dropout, a good price, and has up to 500mA current output. If you pick
something else, we recommend that after powering the Feather, you have at least
100mA remaining in the budget for Wings.
ENable Input
The EN pin is an input to your Feather Mainboard and must be used to depower the
3.3V output. We tend to tie it to the Enable pin on the 3.3V regulator, with a 100K
pullup. It does not disable VBAT/VUSB, see above for a circuit that will let you do that.
It is OK if you decide to have EN de-power USB/BAT as well, but not required.
Bus Pins
To make it easy to create add-ons, we have fixed inter-chip bus pins:
• RX & TX - these are UART pins. If your mainboard has a spare hardware UART,
put these here. If your board uses the sole UART for bootloader/debug (e.g.
ESP8266) then you can put those here as well. If designing a Feather, try to not
use these as they are not always available. The pins names are relative to the
Feather and not the Wing.
• SDA & SCL - this should be your main I2C bus. I2C pullups are put on the Wings,
not on the mainboard. These are 3.3V logic, we strongly recommend avoiding
clock-stretch I2C on Featherwings. Repeated start is OK! This is our
recommended interface for sensors and Wings, try to stick to it.
• SCK/MOSI/MISO - this should be your main SPI bus. 3.3V logic. If you share
these with devices on the main featherwing, keep the CS pin from being
exposed so that you don't have SPI bus contentions.
• I2S - we don't fix the I2S pins! I2S is not as common and often are very
restricted. We don't have any guarantees on where the I2S pins may lay.
The ESP8266 only has one analog pin and its 1.0V max, so be aware that while every
other Feather mainboard has 6 analog-ins, if you want your wing to work with the
ESP8266 there are restrictions. We tend not to use the analog inputs on Wings for
these reasons.
While we dont require all 6 pins to be analog inputs, it would be unusual if they were
not. So please do your best to keep those pins analog!
However, the ESP8266 is the one constrained board and shares 3 of the GPIO with
SPI and the other 4 have some unusual pull up/down requirements. So if you make a
Wing that uses these GPIO, please test it with the ESP8266 Feather as it is the most
challenging, or make it clear that the ESP8266 Feather is not compatible.
We don't expect all FeatherWings that use these GPIO to be stackable with other
GPIO-using Wings (only I2C is really stackable) so feel free to use these however you
like.
Other Pins
• AREF - this is the Analog Reference if there is one for the chip. If there is not,
keep this pin not-connected. We recommend Wings don't require this pin as not
all chips have external ARef's.
• RESET - this is the main feather board reset line. It must be active low - that is
you tie it to ground to reset the main Feather. Nearly all our Wings have a reset
button that can be used. You must have a reset tactile button on your Feather.
Pin Naming
Added May 26th, 2021
The pin naming on silkscreen and pinout cards impacts software written for the
Feather ecosystem. Therefore, we strongly suggest following the numbering below
and discourage any other D# or A# labeling. Silkscreen numbers without a letter
prefix should follow the D# numbering because that is the existing expectation.
The pin labeled * is the free pin and has no consistent functionality or name.
D24 and D25 can be used in place of A4 and A5 when the pins do not feature any
analog capabilities.
The user led should be shared with the D13 pin. There is no consistent name for when
the user LED is not shared. In CircuitPython, both versions should be made available
as board.LED .
Left Right
Rst
3.3V
Aref
GND
A0 Bat
A1 En
The M in MI and MO names used to refer to the term "master" from the SPI
specification. We recommend using the term "microcontroller" or "microprocessor"
instead for clarity.
Other Requirements
USB
USB is used for debug, upload and battery charge. We use micro B USB but you can
also use USB C if you like! USB B wont fit (too chunky) and Mini B is deprecated so
please stay away from those two.
Feather mainboards must have USB debug upload with a micro USB connector in the
center left of the board. If your mainboard has native USB debug/upload, use that! If
you do not, use a USB-serial converter chip such as CP2104, FT23x, etc.
You do not need to have RX/TX USB activity LEDs, but they're nice if you can!
There must be at least one USER LED, we recommend it also indicate when the
bootloader is active. Put this LED above the microUSB connector. We recommend red
but not required. You can share this with one of the general purpose 7 IO pins, but if
you can have it be separate and not-exposed, that's best!
CircuitPython
All of our Feathers support Arduino and C/C++ using a gcc toolchain. But not
everyone wants to write C/C++ code. Thanks to the bigger and faster chips available,
it is now possible to run a full Python interpreter directly in the microcontroller itself!
*mind blown*
The original version of this embedded Python is called MicroPython, written a feat of
magic by Damien George (https://adafru.it/pF5). Please help support him by purchasin
The Feather M0 Express and M4 express are the first in a line of products specifically
designed for CircuitPython (https://adafru.it/tBa). The SAMD21 and SAMD51
microcontrollers are inexpensive while still being full featured with native USB, multi
serial (I2C and SPI) engines called SERCOMs and a 10 bit DAC. Its 256k on board
flash is supplemented with an external flash chip that gives a huge two megabytes for
your code and all of our CircuitPython libraries (https://adafru.it/uap). The status
NeoPixel gives you information on the state of CircuitPython even when its unplugged
from a computer. Its perfect for rapid prototyping of sensor driven projects.
Pros
Cons
• No built in radio on the SAMD boards. Bluetooth for the nRF52840. Additional
radios are available on FeatherWings.
• Not compatible with MicroPython, only CircuitPython
• M0: CircuitPython interpreter uses half the 32KiB RAM — only 16KiB for the user
CircuitPython-Compatible Feathers
These Feathers weren't designed for CircuitPython, but they work just fine!
The Huzzah does not have native USB so you don't get the nice "USB drive with
source code on it". The non-Express M0's don't have a 2MB SPI Flash so the USB
drive you get is quite small, and gets wiped if you update the firmware.
Also note that the extra functionality on these boards, such as the SD card, radios and
Bluetooth modules, is not yet supported in CircuitPython. Some of them will require
additional core CircuitPython work while others will only require a new library or two.
Pros
Cons
You always need one Feather and can add zero or more FeatherWings to increase the
capabilites.
For example:
All Feathers...
• All Feathers have a microcontroller that can be programmed by Arduino IDE
Most Feathers...
• Most of the Feathers have an Enable pin that will allow shutdown via logic level
(Teensy and FONA Feathers are the exceptions)
• Most of the Feathers have a native USB connection (nRF52832 and ESP8266
are the exceptions)
Some Feathers...
• Some Feathers have a wireless module built in. Those that do not most likely
can have an added FeatherWing to provide a radio.
• Only Feathers with "Express" in their name are fully CircuitPython Compatible.
• Feathers with a SAMD21 "M0" processor but not an "Express" board may run
CircuitPython but must share the onboard flash with CircuitPython, restricting
the space available.
No Feathers
• No feathers are guaranteed to be 5V-input compliant. Use 3.3V logic only
please!
These were the First Feathers, as it were. They form the basis of later Feathers, so if
you start here you can upgrade!
Note that there are ATSAMD21, ATSAMD51, and nRF52840 Express Feathers with
extra flash onboard for CircuitPython use listed in the CircuitPython page (https://
adafru.it/DO1).
ARM ATSAMD51
Adafruit Feather M4 Express - Featuring
ATSAMD51
It's what you've been waiting for, the
Feather M4 Express featuring ATSAMD51.
This Feather is fast like a swift, smart like
an owl, strong like a ox-bird (it's half ox,...
https://www.adafruit.com/product/3857
Anything but basic, the Adafruit Feather M4 is the top of the line Feather for heavy
lift.
The most exciting part of the Feather M4 is that while you can use it with the Arduino
IDE - and it's bonkers fast when you do, we are shipping it with CircuitPython on
board. When you plug it in, it will show up as a very small disk drive with code.py on
it. Edit code.py with your favorite text editor to build your project using Python, the
most popular programming language. No installs, IDE or compiler needed, so you can
use it on any computer, even ChromeBooks or computers you can't install software
on. When you're done, unplug the Feather and your code will go with you.
ARM ATSAMD21
The ATSAMD21 M0 is a 32-bit Cortex M0, with a ton more flash and RAM: 256KB and
32KB. It is also supported in Arduino but is a little newer (circa ~2015) and so does not
have as many years of projects and example code already. It's also a completely
different chipset than the AVR, so low level code will not work and must be re-written.
That said, its about the same price and you get a ton more speed (48 MHz and 32-bit
processing), and peripherals. For example you can easily create multiple hardware
UARTs or I2C ports, which is impossible on the AVR. Other stuff like I2S audio, 12-bit
analog input, and true analog output (DAC) is only available on this chip. Especially if
you're running low on Flash, RAM, or analog inputs, this is a nice upgrade.
The Feather M0 Express has added a Mini NeoPixel, 2 MB SPI Flash storage and a
little prototyping space. Perfect for using with CircuitPython but also runs great with
Arduino.
The Feather M0 Adalogger features a MicroSD card slot for adding as much storage
as you could possibly want, for reading or writing.
ARM ATSAME51
Adafruit Feather M4 CAN Express with
ATSAME51
One of our favorite Feathers, the Feather
M4 Express, gets a glow-up here with an
upgrade to the SAME51 chipset which has
built-in CAN bus support! Like its SAMD51
cousin, the...
https://www.adafruit.com/product/4759
One of our favorite Feathers, the Feather M4 Express, gets a glow-up here with an
upgrade to the SAME51 chipset which has built-in CAN bus support! Like its SAMD51
cousin, the ATSAME51J19 comes with a 120MHz Cortex M4 with floating point support
and 512KB Flash and 192KB RAM. Your code will zig and zag and zoom, and with a
bunch of extra peripherals for support, this will for sure be your favorite new chipset
for CAN interfacing projects.
The ATmega328P is nearly identical to the ATmega328 processor on the Arduino Uno
and related boards. The Arduino core is rock solid. It still carries the same specs: 32
KB Flash and 2 KB of RAM. It runs at 8 MHz and uses a CP2104, a USB serial
converter for USB bootloading and serial port debugging. There are 19 GPIO pins + 2
analog-in-only pins available on this tiny board.
AVR ATmega32u4
Adafruit Feather 32u4 Basic Proto
Feather is the new development board
from Adafruit, and like its namesake it is
thin, light, and lets you fly! We designed
Feather to be a new standard for
portable...
https://www.adafruit.com/product/2771
ATmega32u4 is a well known 8-bit AVR processor, and may be more familiar to
people who use the similar Arduino '328s. It's tried-and-true. The Arduino core for it
was first developed in 2012 and so it's quite stable and well-known. Many low-level
ATmega328 examples will work out of the box on the 32u4 (but not all!). It has 32KB
of Flash and 2.5KB of RAM. It runs at 8 MHz and has native USB support
The RP2040 is Raspberry Pi's powerful chip that features a 32-bit ARM Cortex-M0+
Dual core with a ton more RAM than the ATSAMD21.
The RP2040 is a powerful chip, which has the clock speed of our M4 (SAMD51), and
two cores that are equivalent to an M0 (SAMD21). Since it is an M0 chip, it does not
have a floating point unit, or DSP hardware support - so if you're doing something
with heavy floating-point math, it will be done in software and thus not as fast as an
M4. For many other computational tasks, you'll get close-to-M4 speeds!
STM32F405
Adafruit Feather STM32F405 Express
ST takes flight in this Feather board. The
new STM32F405 Feather (video) that we
designed runs CircuitPython at a
blistering 168MHz –...
https://www.adafruit.com/product/4382
It turns out the Teensy 3.2 fits right between the headers of a Feather, so we thought -
hey lets make this into an adapter!
You get the awesome power, speed, and projects of the Teensy 3, with the wings of a
Feather.
It's a great way to take advantage of the Feather ecosystem. You don't get everything
- for example the EN pin isn't connected. But we've tested our FeatherWings (https://
adafru.it/vby) so far and all are drop-in compatible.
With the space left over, we even added in a 500mA LiPoly charger that automatically
charges over USB and will switch over to the LiPo when USB is unplugged. There's
also a 100K resistor divider for monitoring the battery voltage connected to A7
WiFi Feathers
Around 2012, low cost WiFi embedded modules started appearing to makers. At first
they were $20 each but the introduction of the TI CC3000 broke the $10/ea barrier (in
large qty) and so embedded boards with WiFi started coming on the market. Then in
2014, Espressif released a $2 WiFi-inclusive microcontroller called the ESP8266 and
competition heated up. Now there's a lot of WiFi options available for makers to
create IoT projects!
About WiFi
WiFi is just about everywhere but there's a few things to watch out for:
• Compared to Bluetooth, WiFi uses a ton of power, you can easily end up using
250mA during transmit and receive/listening. Try to use low power modes to
reduce that if possible
• Compared to ZigBee, BTLE or LoRa/Packet radio, WiFi can transfer a lot more
data a lot faster! You can easily stream compressed audio over WiFi.
• Compared to Ethernet, you may have connectivity problems, just like you do
when your laptop has poor reception
• Compared to Cellular, WiFi tends to need a base-station nearby, so you can't
use it in the middle of nowhere unless you have a WiFi hotspot
• Compared to just about any other wireless protocol, WiFi is strongly supported
by every computer/tablet/phone, has strong encryption built-in, and can reach
anywhere around the world!
• Like LoRa & packetized radio, you can create a WiFi ad-hoc network but this
usually requires a little extra effort
Pros:
Cons:
For the most part, the low cost of the ESP8266 has been enough incentive for people
to overlook the drawbacks of the chip and figure out how to create projects with what
they've got.
Pros:
Cons:
The ESP32 is the 'big sister' to the ESP8266. It has two cores, so that one can take
care of the wireless management and data while the other one does processing
Pros:
• Slow roll-out means not as many projects for this chipset yet, but it's gaining
popularity
• No detailed documentation about peripherals. Support is offered as example
code.
• As of mid-2017, core WiFi and BTLE functionality is supported but some
capabilities like classic BT or dual-wireless projects are still in-the-works
The ESP32 v2 is the successor to the original ESP32. It has all the power of the
original ESP32 plus extras. It is available with either a built-in antenna or a w.FL
connector for an external antenna.
Pros:
• Compared to the original Feather with 4 MB Flash and no PSRAM, the V2 has 8
MB Flash and 2 MB PSRAM
• Additional user button tactile switch on input pin 38
• Additional NeoPixel mini RGB LED with controllable power pin
Cons:
• The pin numbers for the I2C port (SDA, SCL), hardware UART (RX, TX), and SPI
(SCK, MOSI, MISO) have changed. If your code has hardcoded use for those
pins, you'll want to replace them either with the new numbers or change the
code to use the 'pretty' names like SDA or SCK.
• The 'corner' pin next to TX has changed from pin 21 to 37. This pin is not used in
any FeatherWings because it's considered an 'extra pin'. It's also changed from a
GPIO to input-only.
In addition to WiFi, the ESP32-S2 includes native USB built in, which means it can run
CircuitPython. There is an on-board STEMMA-QT connector and board options
include a basic feather, one with the BME280 for temperature measurement, and one
with a TFT display so you don't need a separate wing for that.
Pros:
• The ESP32-S2 now has native USB, so it can act like a keyboard/mouse, MIDI
device, or disk drive
• It comes with 4 MByte of Flash and 2 MByte of PSRAM so you can have huge
data buffers
• It includes both Reset and DFU (BOOT0) buttons to get into the ROM bootloader
• Serial debug output pins
• STEMMA QT connector for I2C devices, with switchable power, so you can go
into low power mode.
• Low Power friendly! In deep sleep mode we can get down to 80~100uA of
current draw from the Lipoly connection.
• Works with Arduino or CircuitPython
Cons:
The ESP32-S3 brings back the second core, that the ESP32-S2 was missing, so it's
faster. Along with the second core, Bluetooth Low Energy support was added.
Pros:
• The ESP32-S3 has native USB, so it can act like a keyboard/mouse, MIDI device,
or disk drive
• The ESP32-S3 adds back the Dual Cores like the ESP32 has, so the speed is
comparable.
• It includes Bluetooth LE support.
• It comes with 8 MByte of flash, which is double that of the ESP32-S2
• It includes both Reset and DFU (BOOT0) buttons to get into the ROM bootloader
• Serial debug output pins
• STEMMA QT connector for I2C devices, with switchable power, so you can go
into low power mode.
• Low Power friendly! In deep sleep mode we can get down to 80~100uA of
current draw from the Lipoly connection.
• Works with Arduino or CircuitPython
Cons:
The WICED Feather builds on a Broadcom (now Cypress) module, the same used in
the Particle Photon. This chip combines an STM32 and BCM radio. Thanks to Thach's
amazing software stack, we've taken a very complex and powerful chipset pair and
made it trivially easy to get working within Arduino.
Pros:
Cons:
• The WiFi stack and security libs are black box closed source solutions, meaning
we have little influence over bug fixes and getting changes into the code. We're
largely at the mercy of Broadcom (now Cypress) for any bug issues, and like any
very complex stack there are known bugs in the security and wireless layers.
• No access to the low level source code since it is under very strict NDA, and we
had to bend over backward to implement a layer that sits on top of the NDA
code so that we have something we can expose.
There are, annoyingly, two flavors of Bluetooth: BT Classic and BT Low Energy
(introduced as part of the Bluetooth 4.0 standard). And, annoyingly, despite the similar
names, they are completely different and not cross-compatible.
Bluetooth classic is used for unstructured serial data transfer (sometimes called SPP),
keyboards and mice, and audio such as BT speakers or BT headsets
Bluetooth LE is used for structured data (organized by 'Services', which are made up
of individual 'Characteristics'), beacons, keyboards and mice, MIDI, but not audio. It is
also the only method exposed to the user in iOS.
Basically the thing to watch for is if you want to communicate with SPP devices or BT
audio, you can't use LE. If you want to work with iOS, you can't use Classic.
Keyboards/mice can be either.
The Feather nRF52840 builds on the nRF52832, the core and peripherals are very
similar. It adds 2x the FLASH and 4x the SRAM and also comes with a native USB
client peripheral. Like the nRF52832 Faether, it has only one chip on it - and that chip
is both the processor you program and also the Bluetooth Low Energy radio. What's
nice about this is you can do more powerful stuff, and faster too, because you don't
have to manage two chips. It's also lower price and lower power since there's only
one processor, and easier to put into sleep modes.
The native USB means that its great for Arduino or for CircuitPython support - no
other BLE chipsets have USB!
Pros:
• Code runs natively on the nRF52840 MCU, so it's fast, efficient and less
expensive than the two MCU based nRF51 boards
• Powerful ARM Cortex M4F processor with 1MB flash and 256KB SRAM
• Native USB! Can act like a keyboard, mouse, MIDI or disk drive. Bootloader can
be mass-storage based.
• Supported by CircuitPython
• Hardware UART pins are available for communicating to other peripherals
(unlike the nRF52832 which needed them for the bootloader chip)
• Better low power potential due to being a single chip solution
• Because everything runs natively, a lot of complexity can be hidden behind
simple helper classes, making things like ANCS (https://adafru.it/wfj) possible
and manageable compared to the nRF51.
• Supports both Central and Peripheral mode, Central mode meaning it can
behave like a phone and initiate connections to other peripherals, although
Central SW support is in the very early stages at this point
Cons:
Feather nRF52840 Sense takes our popular Feather nRF52840 Express and adds a
smorgasbord of sensors to make a great wireless sensor platform. This Feather
microcontroller comes with Bluetooth Low Energy and native USB support featuring
the nRF52840! This Feather is an 'all-in-one' Arduino-compatible + Bluetooth Low
Energy with built in USB plus battery charging. With native USB it works great with
CircuitPython, too.
Pros:
Cons:
The Feather nRF52 is a new direction compared to our 32u4 or M0 Bluefruit boards.
This Feather has only one chip on it - and that chip is both the processor you program
and also the Bluetooth Low Energy radio. What's nice about this is you can do more
powerful stuff, and faster too, because you don't have to manage two chips. It's also
lower price and lower power since there's only one processor, and easier to put into
sleep modes.
• Code runs natively on the nRF52832 MCU, so it's fast, efficient and less
expensive than the two MCU based nRF51 boards
• Powerful ARM Cortex M4F processor with 512KB flash and 64KB SRAM
• Better low power potential due to being a single chip solution
• Because everything runs natively, a lot of complexity can be hidden behind
simple helper classes, making things like ANCS (https://adafru.it/wfj) possible
and manageable compared to the nRF51.
• Supports both Central and Peripheral mode, Central mode meaning it can
behave like a phone and initiate connections to other peripherals, although
Central SW support is in the very early stages at this point
• Much more room to grow due to the MCU capabilities and flash/SRAM size
compared to the earlier nRF51832, and more advanced on board peripherals.
Cons:
We also carry a special Feather - unlike the rest of the Feather family, this board is not
for use with Arduino IDE. Instead, it is for use with Mynewt only! We have
programmed it with the Mynewt bootloader and updated the hardware to add an SWD
connector and an additional DFU button. This Feather is for advanced users only, you
will be interacting with the Mynewt RTOS rather than Arduino, and you cannot easily
go back-and-forth without an SWD programmer.
Our original Bluefruit Feathers are the 32u4 and M0-based. These pairs are very
similar looking, and have the same basic idea behind them: there is a main processor
which is an ATmega32u4 or ATSAMD21 and a co-processor module which is the red
and silver rectangle, containing an nRF51 which can do Bluetooth Low Energy only.
That said, if you already have code for the 32u4 or M0 chips, this is an easy upgrade,
you get all the peripherals you know and love. This may be easier for beginners who
are not quite ready to work with the native nRF52
Pros:
Cons:
ESP32 Feather
Adafruit HUZZAH32 – ESP32 Feather
Board
Aww yeah, it's the Feather you have been
waiting for! The HUZZAH32 is our ESP32-
based Feather, made with the official
WROOM32 module. We packed
everything you love...
https://www.adafruit.com/product/3405
Sounds great, right? Well, there's some caveats. As of this writing, May 2017, the
ESP32 Bluetooth core is still under development and there's only one basic beacon
example for use with the Arduino IDE core. So we put this one at the bottom of the
list. You can check the ESP32 Arduino core and what has been added here, (https://
adafru.it/wfk) if there's an example for what you want to do, then you're in luck!
Once there's more working examples, we can fill out the pros and cons more. Right
now we think it should only be used by bleeding-edge developers who are cool with
running weekly regression tests on their project.
Pros:
Cons:
ESP32 V2 Feather
Adafruit ESP32 Feather V2 - 8MB Flash +
2 MB PSRAM
One of our star Feathers is the Adafruit
HUZZAH32 ESP32 Feather - with the
fabulous ESP32 WROOM module on
there, it makes quick work...
https://www.adafruit.com/product/5400
Pros:
Cons:
• Some pins have moved from the original ESP32, so some examples may not
work without modification
ESP32-S3 Feather
Adafruit ESP32-S3 Feather with STEMMA
QT / Qwiic
The ESP32-S3 has arrived in Feather
format - and what a great way to get
started with this powerful new chip from
Espressif! With dual 240 MHz cores, WiFi
and BLE support, and native...
https://www.adafruit.com/product/5323
The ESP32-S3 has dual cores just like the ESP32 but adds native USB so it can run
CircuitPython. It also has support for Bluetooth Low Energy.
Cons
Cellular Feathers
The cool thing about cellular connectivity is you can use it just about anywhere in the
world. The FONA GSM module can be used anywhere that 2G GSM exists. In the USA
this is provided by T-Mobile so if you have T-Mobile coverage, you have GSM.
We provide cellular connectivity via the SIM800H module. This module uses AT
commands and the main processor, the ATmega32u4, communicates via a UART
connection. The AT commands are somewhat standard and they are all documented
pretty well, but if you want to do something special that isn't already written up in our
library, it can be a little bit of an adventure.
• Compared to WiFi, cellular requires much more power, and has lower data
transfer rate. SSL support is not very clearly documented
• Compared to BTLE, data rate is about the same, but power requirement is
waaaay higher
• Compared to LoRa or Packet radio, the data rate is about the same, but the
power requirements are much higher. That said, you don't need to create your
own radio network, you can just use the cellular net that already exists. There's
no inherent range limitation, as long as GSM coverage is present.
Often times, the only real alternatives to cellular are WiFi or LoRa. WiFi is a good
alternative - but only if you can be sure that there's a WiFi base-station or hotspot
nearby. LoRa can do long range communication, up to a few KM but you need to set
up your own network/gateway.
Pros:
Cons:
• You'll pay per message, call, text or megabyte. A SIM card and plan is required
• GSM is only supported by T-Mobile in the USA, and GSM will be supported until
at least 2020 but after that, you'll want to upgrade to LTE
• High power requirements, a large battery is required to handle the 2 Amp power
spikes when transmitting/connecting to the network
• Cellular connectivity can be spotty, especially when roaming. Code needs to be
able to manage re-connection.
• AT commands can be a little clunky, require care and parsing.
• Extra large Feather to make space for the module
• Antenna placement often trips people up: if it's too close to the main processor
it can reset the Feather, so you can't make it too compact.
The trade-off is that you'll have to do a bit more work in the software to manage your
packets, and re-transmission.
Pros:
• No need for master or central router, you can use two radios or hundreds of
radios, all talking to each other
• Long range: RFM69 can go 500 meters with a basic antenna, 5 km with
directional antennas and care. LoRa can go 2 km with a basic antenna, 20 km
with directional antennas. (Contrast with ZigBee & WiFi's ~100m max range, and
BT ~10m range)
• Great for short burst packets, with ~10Kbps rate
• Best for outdoor usage
• RFM69 have low cost, LoRa are more expensive (but with longer range)
• Adjustable transmission power
• No link overhead, send packets without needing setup/teardown of connection
• RFM69 has built-in encryption capability
Cons:
• Neither RFM69 nor LoRa are standardized, or built into laptops, so you need at
least two of the radios to connect to a computer
• LoRa Feathers do not have LoRaWAN built in, must be added in software (which
isn't hard)
Which One???
There's a lot of options for these radio feathers, because each chipset (32u4 and M0)
has two radio types (RFM69 and LoRa) and then two frequencies (433MHz and
900MHz). That's 8 total options.
The easiest decision is what frequency you need to use. If you are in ITU "Americas"
you should go with the 900MHz radio. If you are in ITU "Europe" you should go with
433MHz radio. (If you are a HAM radio licensed operator you may be able to use
either, check your country's available frequency bands, and restrictions)
If you are in a country that allows unlicensed usage of 868 MHz, pick the 900 MHz
radio. Both RFM69 and LoRa are 'software tuned' - so just make sure you set the
Arduino library code to 868 MHz when you upload it.
You can tell what frequency your radio is by the dot on top. Red dot means ~400 MHz,
Green dot means ~900 MHz.
Then pick your radio type. The lower cost RFM69 doesn't go as far but has a lot of
functionality and can do the job for most projects. LoRa has much better range, and
can be used with LoRaWAN, but has additional cost. You cannot mix and match radios:
RFM69 cannot 'speak' LoRa.
Both radio modules are identical shape and pinout, so we re-use the same Feather
layout for both.
Finally, pick your chipset. ATmega32u4 is a well known 8-bit AVR processor, and may
be more familiar to people who use the similar Arduino '328s. The ATSAMD21 M0 is a
32-bit Cortex M0, with a ton more flash and RAM, and is also supported in Arduino but
is a little newer and so does not have as many years of projects and example code
already. If you want to use LoRaWAN firmware, we suggest M0 Feathers since you will
need to store all that extra software
FeatherWings
Start with a WiFi feather and add an TFT for a WiFi Weather display (https://adafru.it/
wfm).
Or, take a LoRa feather and add an OLED display to make a Remote Control Effects
Box for theatrical control (https://adafru.it/wfn)
Pick and choose - you can even add multiple wings, short for FeatherWings, (as long
as there are no pin or I2C address conflicts). We tried to use I2C for as many Wings as
possible, so you can make fairly advanced projects just by plugging boards together.
Accessories
Here are some accessories you may find handy as you add Wings to your Feather
Check the list on the left navbar, or just keep going through the guide, to see the wide
variety of Wings we have for you
Stacking Headers
Stacking Headers for Feather - 12-pin and
16-pin female headers
These two Female Stacking Headers
alone are, well, lonely. But pair them with
any of our Feather boards and...
https://www.adafruit.com/product/2830
You can either stack Feathers by soldering stackable headers onto the Feather and
Wings, or you can have them side by side in a Multiplier Wing. Check the Proto/
Multiplier wing page for more details (https://adafru.it/wfo)
If you don't need to use your Feather in a breadboard, you can use these plain female
headers along with plain male headers, to create a cute sandwich. Great for wearable
or enclosed projects!
Shorty Headers
Short Headers Kit for Feather - 12-pin + 16-
pin Female Headers
These two Short Female Headers alone
are, well, lonely. But pair them with any of
our
https://www.adafruit.com/product/2940
Just remember to pick these up before you start soldering stacking or 'standard'
headers on!
All of these Wings are compatible with all Feathers. Because they don't contain any
active circuitry, they can also be used with any Wings
Nice and simple, you get a 0.1" prototyping area and a breakout for each pin of your
Feather. Add any chips or sensors you like! There's a bunch extra 3V and GND pins in
a row as well.
This is like a super hard-core version of the proto wing. Not only do you get the same
exact prototyping area as the proto wing, but you also get terminal block breakouts
for all of the pins, and there's an on-off switch that will turn off the Feather with a flick.
And, it comes fully assembled! No soldering is required, so you can wire up your
project super fast.
If you don't want to stack 'up' you can stack side-by-side. These two wings give you
all that prototyping area you could possibly need, and 'duplicate' pinouts for two or
three Feather boards. With the doubler you can have a Feather and Wing. With the
tripler, you can have a Feather and two wings. Of course, you can also use stacking
headers to grow up too, for lots of possibilities.
Like the Doubler and Tripler, there is also a quad that comes in a couple of different
configuration depending on your project needs. Of course, you can also use stacking
headers to grow up too, for lots of possibilities.
You can only really use one display at a time. The OLED Featherwing uses only I2C
and works with any other Wings. The TFT 'wing uses a lot of pins, so works best with
only I2C Wings.
This tiny Wing is so cute, and it has a 128x32 monochrome OLED display. OLEDs have
a crisp and high-contrast look, so they are great for indoor and some outdoor use.
There's no backlight so they use little power (only as much as the pixels that are lit).
The OLED is connected over I2C so it uses only two pins. In addition, there are 3 little
buttons connected directly to three GPIO pins. You can use the buttons to add basic
interactivity. Only one OLED FeatherWing can be used with a Feather board.
This wing has a 128x64 monochrome SH1107 OLED display giving you twice as much
room. Like its little sister, there's no backlight so they use little power (only as much as
the pixels that are lit).
The OLED is also connected over I2C and there are 3 little buttons are pin compatible
as well. Since you can change the address with soldering, it is possible to use this
alongside one other OLED FeatherWing.
This feather has a 0.96" 160x80 Color TFT Display with 16-bit full color capability. And,
so you can make a proper UI, it has a 5-way navigation switch and two push buttons.
The joystick can go left, right, up, down and 'in' for selection. Two buttons on the side
can change modes or whatever you like.
If you need a bigger and more colorful screen, the TFT FeatherWing has just about
everything. There is a 320x240 full-color TFT display. There is also a resistive
touchscreen on top, for interactivity. On the bottom is a microSD card holder so you
can store images or data to be displayed. We also toss in an on-off switch.
The display is much bigger than the OLED, and uses the SPI port for communication
with the TFT/touch/SD card.
The Wing requires an additional two pins for the TFT. One additional pin if you are
using the touch screen, and one extra pin if using SD interface. (So, SPI + 4 GPIO pins
max if using all three)
Spice up your Feather project with a beautiful 3.5" touchscreen display shield with
built in microSD card socket. This TFT display is 3.5" diagonal with a bright 6 white-
LED backlight. You get a massive 480x320 pixels with individual 16-bit color pixel
control. It has way more resolution than a black and white 128x64 display, and twice
as much as our 2.4" TFT FeatherWing. As a bonus, this display comes with a resistive
touchscreen attached to it already, so you can detect finger presses anywhere on the
screen
This FeatherWing uses a SPI display, touchscreen and SD card socket. It works with
any and all Feathers but given the large display it works best with our faster boards
like the nRF52, ESP8266, ESP32, M0, M4, WICED, and Teensy. We also include an SPI
resistive touchscreen controller so you only need one additional pin to add a high
This Wing comes fully assembled with dual sockets for your Feather to plug into. You
get two sockets per pin so you can plug in wires if you want to connect to Feather
pins. Alternatively, each pin has a large square pad on the PCB for direct soldering.
eInk Wings
eInk or ePaper wings allow you to easily connect your Feather to add eInk/ePaper
support. There are two different sizes and different color variations for each size. The
larger sized eInks include 3 buttons connected directly to GPIOs on the feather.
eInk is a technology that works by attracting or repelling ink droplets towards or away
from the screen inside of thousands of capsules. Normally, the white pigments and
the colored pigments are opposite charges. When power is removed, the pigments
tend to stay in their positions and thus the last thing displayed remains. Over time
though, the pigments are bound to move and you get a loss of quality unless the
display is periodically refreshed.
For tri-colored and grayscale displays, the different colored pigments are actually
different sizes and so they move at different speeds. By timing the attracting and
repelling of the pigments correctly, you can draw in different colors. This is why it
takes longer to draw with more colors.
The 2.13" monochrome eInk FeatherWing is your basic eInk display. It draws fast and
works reliably. The resolution on this display is 250 pixels wide by 122 pixels high.
The chip used to drive this display is the SSD1680. This is similar to the type of
displays seen in Kindle or Nook.
The 2.13" HD (or High Definition) Tri-Color eInk FeatherWing takes longer to draw, but
you can display images or in red, black, or white. The resolution on this display is also
250 pixels wide by 122 pixels high. The chip used to drive this display is also the
SSD1680.
The 2.9" GrayScale eInk FeatherWing is a larger display and is able to display in 4
levels of gray. The resolution on this display is 296 pixels wide by 128 pixels high. The
chip used to drive this display is the IL0373. There are 3 buttons on the back
connected to GPIOs.
Just about every small-medium size eInk display made these days has a standard 24-
pin connection. The eInk Feather Friend will add all the power supply support circuitry
and level shifting so you can attach your favorite display (up to tri-color 4.2") and wire
it up to your favorite development board.
These Wings use I2C only for the interface, and work with all Feathers. You can
change the addresses used to have multiple displays, and they can be used with
other Feathers as well - just make sure there are no I2C address conflicts.
Just want to display some numbers? The 7-Segment FeatherWing has 4 digits and
looks nice and bright. Comes in 5 bright colors!
Each Wing has an HT16K33 chip, which does all the multiplexing for you. The address
is 0x70 but can be changed to 0x70-0x77 so up to 8 displays can be used at once.
This Wing is a step up from just 7-segments. With 2x as many segments! You can have
both letters and numbers displayed, with big bright digits. Comes in 6 different color
varieties
Like the 7-segment, each Wing has an HT16K33 chip, which does all the multiplexing
for you. The address is 0x70 but can be changed to 0x70-0x77 so up to 8 displays
can be used at once.
The most segments possible! This Wing has two tiny 8x8 matrices side-by-side to
make an 8x16 grid. Great for little scrolling displays. These have a nice diffusion for a
lovely dotted look.
Comes in 6 colors.
Like the 7-segment and alphanumeric, each Wing has an HT16K33 chip, which does
all the multiplexing for you. The address is 0x70 but can be changed to 0x70-0x77 so
up to 8 displays can be used at once.
The Charlieplexed wings are similar to the 8x16 wings above, but use a different
chipset. Instead of the HT16K33, we use the IS31FL3731. Now, you might be
wondering, who cares what chipset is used? But there's some things you can do with
the IS31FL3731 that you can't with the HT16K33.
Unlike the simple HT16K33, the IS31 can drive the individual LEDs in a grid at different
brightnesses. This means you get a full 8-bit PWM individual brightness per pixel. This
is great for when you want to make artistic LED displays that aren't just 'on and off'.
But, the IS31 requires the LEDs to be in a certain arrangement, so we use individual
0603 LEDs rather than the 8x8 modules above
The tradeoff is you get individual LED control, and a sparkly look, but not the nice
diffusion of the 8x16. Also, there's smaller number of LEDs because we couldn't fit a
Pros:
Cons:
Dotstar LEDs need two data pins, but they can be clocked faster than NeoPixels.
This is the DotStar FeatherWing, a 6x12 RGB LED Add-on For All Feather Boards! Usin
g our Feather Stacking Headers (http://adafru.it/2830) or Feather Female Headers (htt
p://adafru.it/2886) you can connect a FeatherWing on top or bottom of your Feather
board and make your Feather board strut like a peacock at a rave.
Put on your sunglasses before staring into these 72 configurable RGB LEDs, they are
super bright! Arranged in a 6x12 matrix, each 2mm by 2mm sized RGB pixel is
individually addressable. Only two pins are required to control all the LEDs. On the
bottom we have jumpers for the Data and Clock lines so you can change them from
the defaults. Works with any/all of our Feathers! You can cut the default jumper traces
and use any pins you like
There are 2 different versions of the RGB Matrix FeatherWing kit. Make sure you
get the correct one for the feather you will be pairing it with.
Create a dazzling light up project with our new RGB Matrix FeatherWing. Now you can
quickly and easily create projects featuring your favorite 16 or 32-pixel tall matrix
boards. Using our RGB Matrix library is easy and works wonderfully with any of our
M0, M4, or RP2040 based Feathers.
This version of the RGB Matrix FeatherWing is only for nRF52840-based Feathers due
to the way that the pins need to be lined up to work with the HUB75 displays.
These wings can be assembled in one of two ways. You can either solder in a 2x8 IDC
shrouded header on the top, then plug in the IDC cable that came with your matrix.
This makes it easy to stack on top of your Feather. Or, you can solder in the 2x10
socket header on the bottom of the Wing, and then stack your Feather on top. That
way you can plug it directly into the back of the matrix *mind blown*
These FeatherWings will work great with any of our 16x32 (https://adafru.it/ClE), 32x3
2 (https://adafru.it/ClF) or 64x32 (https://adafru.it/ClG) RGB matrices, and is definitely
the easiest way to glow and go.
There are 2 different versions of the NeoPXL8 FeatherWing. Make sure you get
the correct one for the feather you will be pairing it with.
Since we first started carrying NeoPixels back in 2012, the chainable RGB LEDs have
taken over the world. And a big part of that success is due to the simplicity of their
wiring - just one data wire, no matter how many pixels you've got. So no surprise
they're everywhere, blinking away in art exhibits, maker faire demos, DJ booths,
decorations, and costumes.
But, at some point, every NeoPixel'er bumps into the constraints of that single-data-
wire: the timing is very picky and often time your code has to stop completely so that
it can burst out the data without any interruptions. This requirement makes it tough to
create fast-update lighting effects, and limits the number of pixels you can drive
before other hardware peripherals get attention.
Resident pixel-pro Paint Your Dragon (who coined the name NeoPixel dont-cha-know!)
took on this challenge and has succeeded gloriously. By carefully examining the ATSA
MD21 and ATSAMD51 datasheets, he noticed you could use the Timer 0 in 'waveform'
mode, and create 8 unique waveforms over DMA that would handle all the pixel-
pushing for you.
Thus were born the NeoPXL8 Arduino library (https://adafru.it/Blw) and NeoPXL8
FeatherWing! The library runs on our Feather M0 or Feather M4 and handles all the
NeoPixeling for you, up to 8 strands of concurrent DMA output. For the Feather M4, e
ach one can be 1750 RGB pixels long for a total of 8 x 1750 = 14000 pixels. For the Fe
ather M0, each one can be 250 RGB pixels long for a total of 8 x 250 = 2000 pixels.
That leaves you some RAM for your code to run in as well.
This Wing plugs into any/all Feather main boards and can fit two Cherry MX or
compatible switches to turn your Feather into the lil'est macro keypad.
Each Wing has two Kailh sockets, which means you can plug in any MX-compatible
switches instead of soldering them in. You may need a little glue to keep the switches
in place: hot glue or a dot of epoxy worked fine for us.
Beneath each switch is a reverse-mount NeoPixel pointing up through the spot where
many switches would have an LED to shine though. The two pixels are chained
together so you can control them as one 2-pixel NeoPixel strand.
For this FeatherWing, you'll want to pick up some key switches (https://adafru.it/-f6)
and keycaps (https://adafru.it/-f7).
Best of all, these FeatherWings only use I2C, so they work with all Feathers. The I2C
address can be changed with a solder jumper, so you can add multiple Wings for lots
of motors, or use them with any other Wings. (Just make sure you have each wing
with a unique I2C address)
Both of these Wings are designed for driving fairly powerful motors, easily 1A draw
each. For that reason, we do not run the motors off of USB or the LiPo battery - they
are dedicated for running the Feather only. Instead, the 'loud and messy' power
supply for the motors is provided via a terminal block.
Crickit is our Creative Robotics & Interactive Construction Kit. It's an add-on to the
popular Feather ecosystem that lets you #MakeRobotFriend using CircuitPython,
MakeCode, or Arduino.
Plug in any Feather mainboard you want into the center, and you're good to go! The
Crickit is powered by seesaw, our I2C-to-whatever bridge firmware. So you only need
to use two I2C data pins to control the huge number of inputs and outputs on the
Crickit. All those timers, PWMs, sensors are offloaded to the co-processor.
The only thing that is not managed by seesaw is the audio output. We provide a small
jumper you can solder to connect the audio amplifier to the first analog pin. On our
Feather M0's this is a true analog output (DAC) and you can play audio clips with
CircuitPython or Arduino. Other Feathers may not have a DAC! In that case, you can
solder a wire to jumper the audio amp to a PWM pin.
You get to use all the non-I2C signal pins on your feather and get a boat-load of extra
in/out pins, motor controllers, capacitive touch sensors, a NeoPixel driver and
amplified speaker output. It complements & extends your Feather so you can still use
all the goodies, including stacking FeatherWings on top. But now you have a robotics
playground as well.
You get:
Most of our Feathers do have PWM/Servo outputs, but often they are shared or
there's not enough of them. With this Wing you need not worry about jitter or timer
allocation. The 8 x servo outputs are completely driven by a I2C-controlled chip. All
the outputs have the same PWM rate, but have individually controlled duty cycles @
12-bit resolution.
• There's an I2C-controlled PWM driver with a built in clock. That means that,
unlike the TLC5940 family, you do not need to continuously send it signal tying
up your microcontroller, its completely free running!
• It is 5V compliant, which means you can control it from a 3.3V Feather and still
safely drive up to 6V outputs (this is good for when you want to control white or
blue LEDs with 3.4+ forward voltages)
• 6 address select pins so you can stack up to 62 of these on a single i2c bus, a
total of 992 outputs - that's a lot of servos or LEDs
• Adjustable frequency PWM up to about 1.6 KHz
• 12-bit resolution for each output - for servos, that means about 4us resolution at
60Hz update rate
• Configurable push-pull or open-drain output
Motors require both GPIO and PWMs, and they quickly start hogging all your pins up.
With this Wing, you get 4 full H-bridges, so you can control up to 4 DC motors, 2
steppers, or 1 stepper and 2 motors.
• 4 full H-Bridges: the TB6612 chipset provides 1.2A per bridge with thermal
shutdown protection, internal kickback protection diodes. Can run motors on
4.5VDC to 13.5VDC.
• Up to 4 bi-directional DC motors with individual 12-bit speed selection (so, about
0.02% resolution)
• Up to 2 stepper motors (unipolar or bipolar) with single coil, double coil,
interleaved or micro-stepping.
• Motors automatically disabled on power-up
Relay Wings
Click-clack! If you want to control devices or appliances with your Feather, you can do
so with a Relay FeatherWing. These Wings have a single relay on them. We have a
few different types, but all have similar functionality.
The relay is controlled by one or two pins. You'll need to solder a jumper wire or close
a solder jumper to select the pin. Since they're simple, you can use them with any
Feather and along-side any Wing, as long as the pins you select for relay-control are
not already use.
You can also have multiple relays if you like, just make sure the pins selected are
unique.
This is the simplest relay. Drive the pin high to set the relay, and drive the pin low to
unset it.
50mA current is drawn when the relay is set. If power is lost, the relay will go back to
being unset
This is the Latching version of the above relay. This one requires two pins,
a SET and UNSET and instead of keeping the SET pin high, you only have to pulse
each pin high for 10ms to latch the relay open or closed. You need two pins but save
power. Note, if power is lost, the relay will stay in the last setting.
Both FeatherWings use the same family of relay. You can switch up to 2A of resistive
current at 30VDC or ~40VAC or lower. At 110VDC you can switch up to 0.3A, at
120VAC up to 0.5A, and at 250VAC you can switch up to 0.6A.
This Wing has a non-latching type relay. Compared to our smaller mini relay
FeatherWings, this one can handle a beefy 1200 Watts!
Many current-measuring devices are only good for low side measuring. That means
that unless you want to get a battery involved, you have to stick the measurement
resistor between the target ground and true ground. This can cause problems with
circuits since electronics tend to not like it when the ground references change and
move with varying current draw. This chip is much smarter - it can handle high side
current measuring, up to +26VDC, even though it is powered with 3.3V. It will also
report back that high side voltage, which is great for tracking battery life or solar
panels.
A precision amplifier measures the voltage across the 0.1 ohm, 1% sense resistor.
Since the amplifier maximum input difference is ±320mV this means it can measure
up to ±3.2 Amps. With the internal 12 bit ADC, the resolution at ±3.2A range is 0.8mA.
With the internal gain set at the minimum of div-8, the max current is ±400mA and the
resolution is 0.1mA. Advanced hackers can remove the 0.1 ohm current sense resistor
and replace it with their own to change the range (say a 0.01 ohm to measure up 32
Amps with a resolution of 8mA).
GPS Wing
Adafruit Ultimate GPS FeatherWing
Give your Feather a sense of place, with
an Ultimate GPS FeatherWing. In 2013 we
designed the Ultimate GPS...
https://www.adafruit.com/product/3133
This Wing is our only GPS/GNSS capable wing. It's great for adding location or time
awareness to your project.
That said, it is the Wing with the most compatibility issues. That's because it uses
UART serial to send/receive data. And many microcontrollers have only one UART
and it's used for programming and debugging.
All other Feathers have a free UART (mostly because they have native USB for
upload/debug) or multiple UARTs, like the ESP32.
You can only have one GPS, but it can be used with any other Wing (since it's the only
UART-using wing)
Antenna Reception
Like all GPS devices, the Wing needs a good antenna orientation to receive the tiny
signals sent from space. The GPS Wing has a built in antenna, which can be used as
long as the Feather is in a non-metallic enclosure and facing up.
You can use a uFL -> SMA and SMA antenna to add a big antenna for good reception
when in an enclosure.
Networking Wings
Adafruit Ethernet FeatherWing
Wireless is wonderful, but sometimes you
want the strong reliability of a wire. If your
Feather board is going to be part of a
permanent installation, this Ethernet...
https://www.adafruit.com/product/3201
Ethernet is a reliable standard for Internet connectivity. If you don't need Wireless
(and don't want the headache of wireless either), then Ethernet can be a very good
option.
While there are a few Feathers that have built-in 'Ethernet support' they all need a
PHY interface anyways and it's about the same price as the W5500 chipset we use.
So we just went with this, which is a well-known (or, at least, infamous) chipset. And,
yes, you can use it with our WiFi Feathers to create a Feather with dual-connectivity
options (or a very slow and silly WiFi bridge)
This Wing does not support active Power-over-Ethernet (PoE), but you can easily hook
up a passive PoE configuration with a passive injector, a 5V power adapter, and a
2.1mm to MicroUSB cable. See the tutorial page for more details (https://adafru.it/wiC)
Nowadays, many people have WiFi set up because they won't want a fat ethernet
cable running to their project. This is a featherWing with an ESP32 co-processor on it
for exchanging data via WiFi.
Give your Feather project a lift with the Adafruit AirLift FeatherWing - a FeatherWing
that lets you use the powerful ESP32 as a WiFi co-processor. You probably have your
favorite Feather (like the Feather M4 (https://adafru.it/Cmy)) 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. Send basic but powerful
socket-based commands over 8MHz SPI for high speed data transfer. You can use 3V
or 5V Arduino, any chip from the ATmega328 or up, although the '328 will not be able
to do very complex tasks or buffer a lot of data. It also works great with CircuitPython,
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.
If you have a WiFi or Cellular Feather you may be able to get away with not having a
true RTC because you can connect to the network (say, NTP) and query the time. But,
even then, there's a chance you'll be off-grid and need to know the time and date.
Thus we have two options for adding an RTC. Both RTC's are I2C, and they share the
same address. So you can only have one RTC, but you can match them up with any
other Wings. If using the SD card on the Adalogger, just make sure the CS pin is not
shared.
Both Wings work with all Feathers. A CR1220 coin cell is required and not included (to
make air-shipping abroad easier they are sold separately)
This FeatherWing will make it real easy to add datalogging to any of our existing
Feathers. You get both an I2C real time clock (PCF8523) with 32KHz crystal and
battery backup, and a microSD socket that connects to the SPI port pins (+ extra pin
for CS).
If you don't need to use the SD card socket, leave it empty and the SPI + CS pins can
be used for something else.
The PCF8523 used in the Adalogger has an external 32kHz timing crystal that is used
to keep time with low current draw. And that's all well and good, but those crystals
have slight drift, particularly when the temperature changes (the temperature changes
the oscillation frequency very very very slightly but it does add up!)
You'll get much higher precision with this RTC, at an additional cost. And there is no
space for an SD card holder.
Music Wings
If you'd like to create a music-playing project, adding a Music Maker Wing will make it
easy. These feature the VS1053 chipset which can do MP3, Ogg Vorbis, WAVE
playback. They also have a MIDI synth inside that can be controlled over UART.
Both Music Maker Wings have the same circuitry/code but one has a headphone jack
and the other has a 2 Watt audio amplifier. If you want to connect speakers directly,
go with the amp. If you want to use headphones or connect to a powered stereo, the
headphone one will work fine.
There's a lot going on with these Wings, and they have some incompatibilities:
If you are only playing audio (MP3/Ogg/Wave), then these Wings are compatible with
all Feathers.
But there are a lot of pins used: SPI + 3 for the MP3 chip and +1 for the SD card. MP3
playing works best with an interrupt, so those pins can be used at any time. We don't
even recommend using this with Feathers that want to access SPI at their leisure,
such as the Adalogger, non-nRF52 Bluefruit, or Radio. It is possible but use care to
make sure you aren't using the two SPI devices at once.
If you want to use the UART MIDI synth (which is not the same mode as the MP3/Ogg/
Wave player), you'll need to use the UART TX pin. For the nRF52 or ESP8266
The Feather has the MP3 decoder chip and an SD card socket. You can stream MP3
directly to the chip if you like (say from a WiFi connection or SPI Flash if you have an
Express) or read it from the SD card.
The amplifier-out Wing is just like the headphone Wing but with a stereo Class D
audio amplifier. This amp can draw quite a bit of current, 1A easily, if you're really
bumping out some tunes! So make sure you have a beefy battery and/or 5V 2A wall
adapter
This FeatherWing is different than the other wings in that it doesn't directly produce
any sound. However, it will allow you to use other MIDI devices with your project. Just
like with the MIDI Synth wings above, if you are using the 328p, nRF52, or ESP8266
feather, you may need to remove the Wing during programming because we use the
UART TX pin.
Radio Wings
Feathers without integrated radios can often have a FeatherWing with the radio you
want.
Add short-hop wireless to your Feather with these RadioFruit Featherwings. These
add-ons for any Feather board will let you integrate packetized radio (with the RFM69
radio) or LoRa radio (with the RFM9x's). These radios are good options for kilometer-
range radio, and paired with one of our WiFi, cellular or Bluetooth Feathers, will let
you bridge from 433/900 MHz to the Internet or your mobile device.
These radio modules come in four variants (two modulation types and two
frequencies) The RFM69's are easiest to work with, and are well known and
understood. The LoRa radios are exciting, longer-range and more powerful but also
more expensive.
All radios are sold individually and can only talk to radios of the same part number.
E.g. RFM69 900 MHz can only talk to RFM69 900 MHz, LoRa 433 MHz can only talk to
LoRa 433, etc.
LoRa Radios
These are +20dBm LoRa packet radios that have a special radio modulation that is
not compatible with the RFM69s but can go much much farther. They can easily go 2
Km line of sight using simple wire antennas, or up to 20Km with directional antennas
and settings tweakings
Currently tested to work with the Feather ESP8266, Teensy 3 Feather, Feather 32u4 a
nd Feather M0 series, some wiring is required to configure the FeatherWing for the
chipset you plan to use.
LoRa capable radio at 433 MHz for use in Europe ITU 1 license-free ISM, or for
amateur use with restrictions (check your local amateur regulations!)
LoRa capable radio at 868 or 915 MHz for use in Americas ITU 2 license-free ISM, or
for amateur use with restrictions (check your local amateur regulations!)
Packet Radios
These are +20dBm FSK packet radios that have a lot of nice extras in them such as
encryption and auto-retransmit. They can go at least 500 meters line of sight using
Currently tested to work with the Feather ESP8266, Teensy 3 Feather, WICED Feather,
Feather 32u4 and Feather M0 series, some wiring is required to configure the
FeatherWing for the chipset you plan to use.
And this is a basic packetized FSK/GFSK/MSK/GMSK/OOK radio at 868 or 915 MHz for
use in Americas ITU 2 license-free ISM, or for amateur use with restrictions (check
your amateur regulations!)
Here are FeatherWings which may be added to a Feather to help your creative side.
Add a joystick and buttons with the cute Joy FeatherWing. This FeatherWing has a 2-
axis joystick and 5 momentary buttons (4 large and 1 small) so you can turn your
feather board into a tiny game controller. This wing communicates with your host
microcontroller over I2C so it's easy to use and doesn't take up any of your precious
analog or digital pins. There is also an optional interrupt pin that can alert your feather
when a button has been pressed or released to free up processor time for other
tasks.
The Prop-Maker FeatherWing will unlock the prop-maker inside all of us, with tons of
stuff packed in to make sabers & swords, props, toys, cosplay pieces, and more.
We looked at hundreds of prop builds, and thought about what would make for a
great low-cost (but well-designed) add-on for our Feather boards. Here's what we
came up with:
• Snap-in NeoPixel port - With a 3-pin JST connector, you can plug in one of our
JST-wired NeoPixel strips directly (https://adafru.it/Cup), or use a 3-pin JST
connector to wire up your favorite shape of addressable NeoPixel LEDs (https://
adafru.it/DBh). This port provides high current drive from either the Feather
Lipoly or USB port, whichever is higher. A level shifter gives you a clean voltage
signal to reduce glitchiness no matter what chip you're using
• 3W RGB LED drivers - 3 high current MOSFETs will let you connect a 3W RGB
LED for powerful eye-blasting glory (https://adafru.it/CXi). For most Feathers, the
3 pins are PWM capable so you can generate any color you like. Available as pin
breakouts plus strain-relief holes
• Triple-Axis Accelerometer with Tap Detection - The LIS3DH is our favorite
accelerometer, you can use this for detection motion, tilt or taps. Here's an
example of a light saber that makes sounds when swung or hit. (https://adafru.it/
DBi) We have code for this chip in both Arduino and CircuitPython.
• Class D Audio Amplifier - Drive a 8Ω 1 Watt speaker or 4Ω 3W speaker for sound
effects. Plug and play with our cute and slim oval speaker (https://adafru.it/CEv),
or connect a picoblade cable (https://adafru.it/CVi) for your favorite speaker. For
use only with Feathers that have analog audio out such as the Feather M0
Express and M4 series.
• Low power mode! The power system for the RGB LED, NeoPixels and speaker
amplifier can be controlled by a pin to cut power to them, so you have lower
power usage when the prop is in sleep or off mode (but can wake up fast by
listening to the button press or accelerometer data). When the power pin is set
Please note: A few of the onboard hardware elements use PWM and analog output so
we recommend the Feather M0 Express or Feather M4 series, they'll work best with
this wing and let you make the most of it.
Camera Wing
The current FeatherWIng lineup has one camera wing:
This sensor from Panasonic is an 8x8 array of IR thermal sensors. When connected to
your Feather it will return an array of 64 individual infrared temperature readings over
I2C. It's like those fancy thermal cameras, but compact and simple enough for easy
integration.
This part will measure temperatures ranging from 0°C to 80°C (32°F to 176°F) with an
accuracy of +- 2.5°C (4.5°F). It can detect a human from a distance of up to 7 meters
(23) feet. With a maximum frame rate of 10Hz, It's perfect for creating your own human
detector or mini thermal camera. We have an easy-to use Arduino and CircuitPython
code so you can get started fast. The sensor communicates over I2C. If you have a
The AMG8833 is the next generation of 8x8 thermal IR sensors from Panasonic, and
offers higher performance than its predecessor the AMG8831. The sensor only
supports I2C, and has a configurable interrupt pin that can fire when any individual
pixel goes above or below a threshold that you set.
The other sensor on these boards has a 3-axis accelerometer and 3-axis gyroscope,
which are used to detect linear acceleration and angular velocity. Adafruit has a
couple of boards where this sensor differs.
For the accelerometer + gyro, this board includes the LSM6DSOX, a 6-DoF IMU. The
3-axis accelerometer can tell you which direction is down towards the Earth (by
measuring gravity) or how fast the board is accelerating in 3D space. The 3-axis
gyroscope can measure spin and twist. This new sensor from ST has very low gyro
zero rate and noise (https://adafru.it/LGc), compared to the MPU6050 or even
LSM6DS33 so it's excellent for orientation fusion usage: you'll get less drift and faster
responses.
The LSM6DSOX has flexible data rates and ranges. For the accelerometer: ±2/±4/±8/±
16 g at 1.6 Hz to 6.7KHz update rate. For the gyroscope: ±125/±250/±500/±1000/±200
For the accelerometer + gyro, this board includes the ST ISM330DHCX, which is an in
dustrial quality Accelerometer+Gyroscope 6-DOF IMUs (inertial measurement unit).
This IMU sensor has 6 degrees of freedom - 3 degrees each of linear acceleration
and angular velocity at varying rates within a respectable range. For the
accelerometer: ±2/±4/±8/±16 g at 1.6 Hz to 6.7KHz update rate. For the gyroscope: ±12
5/±250/±500/±1000/±2000/±4000 dps at 12.5 Hz to 6.7 KHz. In particular, this is one
of the few gyro's we stock with 4000 dps range, usually they top out at 2000. This
sensor has extra calibration and compensation circuits to give it excellent
performance in a wide environmental range from -40 to +105°C. Most other IMU
sensors don't have industrial temperature ranges or have wide accuracy variation as
the temperature changes. The accelerometer and gyroscope also are on the same
silicon die, which will keep the 6 measurements synchronized better than when the
two sensors are on separate dies.
There are also some nice extras, such as built-in tap detection, activity detection,
pedometer/step counter and a programmable finite state machine / machine learning
core that can perform some basic gesture recognition.
Here are just a few examples of Feathers and Wings created by the community.
Community Feathers
Particle has introduced three processor boards with built-in communications:
MAX32620FTHR (https://adafru.it/DOz)
MAX32630FTHR (https://adafru.it/DOA)