Swan is a low-cost embeddable STM32L4+-based microcontroller board designed to accelerate the development and deployment of battery-powered IoT solutions.
It is especially useful for applications requiring large memory or a high degree of I/O expandability at an affordable cost, such as edge-based inferencing and remote monitoring. Acting in this role, Swan is designed to be the ideal companion to Blues's Notecard.
Functional Description
The Swan is a Feather-compatible MCU based on the STM32 from STMicroelectronics. The device was built after Blues worked directly with a customer to implement a complex industrial modernization solution based around the Notecard. It is designed to operate as a device that developers can get started with quickly as a Feather for a POC or Prototype. Once developers are ready to move into a Pilot, or the complexity of the solution demands it, the Swan can leverage an additional 36 pins from the STM32 MCU through a set of castellated edges on the main PCB to utilize additional GPIOs or buses like I2C, UART, SPI, and CAN.
Features
-
Features of the ST STM32L4R5ZIY6 microcontroller
-
120MHz Clock speed
-
2MB Flash, 2 banks read-while-write, proprietary code readout protection
-
640KB of SRAM including 64KB with hardware parity check
-
Ultra-low-power with FlexPowerControl
-
16x timers
-
20x communication interfaces
-
14-channel DMA controller
-
Rich analog peripherals (independent supply)
-
True random number generator
-
-
Compliant with the Adafruit Feather Specification
-
includes a Micro-USB port for easy power and serial connectivity
-
includes a PMIC accessible via a JST PH connector, allowing you to either power the board via a LiPo battery and/or recharge the battery via USB.
-
-
Access to 36 additional STM32 pins (beyond the Feather pins) via 0.05" castellated edge headers
-
USER_BTN
programmable button -
LED_BUILTIN
programmable LED (red) -
JTAG (SWD capable) debug jack
-
BOOT and RESET buttons
-
Modular design supports Feather pins or an expansion PCB (to break pins out to 0.1" headers for easier wiring and debugging).
-
10kΩ pull-ups on the
SDA
andSCL
pins
The performance of the STM32 microcontroller onboard the Swan may be affected in the presence of extremely bright light including, for example, direct sunlight. Bright light may interfere with the semiconductor's operation by generating unwelcome electrical currents, performance degradation, malfunction, or shutdown.
If you anticipate that bright light may shine on your device in its deployed setting, we recommend you mount the device in a shadow, or that you cover the STM32 microcontroller with an opaque tape to reduce light levels that may affect the semiconductor.
Package Configuration
The Swan can be used as a Feather-compatible board with soldered male headers, as a part of the Blues Notecard Feather dev kit, or as a headerless PCB with base carrier board for accessing 55 IO pins on the core STM32L4R5 MCU.
Swan Embedded
The Swan comes from the factory with no headers and a castellated edge, which allows it to be embedded directly in almost any project.
Feather-compatible Swan
Use the included male Feather header pins to use the Swan as a Feather-compatible device.
Swan Carrier
The Swan Carrier board is designed to breakout the connections along the castellated edge of the Swan board. Once the Swan has been soldered directly to the carrier board, then additional dual row headers can be soldered
Pin Information
The following tables contain pin definition mappings between the Swan and Carrier pins to the STM32L4R5 core MCU.
Swan Feather to STM32 Mapping
Pin # | Pin Name | Pin # | Pin Name | |
---|---|---|---|---|
RST | RST# | ---- | ||
VIN | ---- | |||
3V3 | ---- | |||
GND | ---- | |||
PA3 | A0 | BAT | ||
PA1 | A1 | PE4 | EN | |
PC3 | A2 | PC6 | USB | |
PC1 | A3 | PA5 | D13 | |
PC4 | A4 | PA6 | D12 | |
PC5 | A5 | PA7 | D11 | |
PD1 | SCK | PA4 | D10 | |
PB15 | MOSI | PD15 | D9 | |
PB14 | MISO | PE9 | D6 | |
PA10 | RX | PE11 | D5 | |
PA9 | TX | PB6 | SCL | |
PD0 | CS | PB7 | SDA | |
PC13 | USER_BTN | PE2 | LED_BUILTIN |
Swan Carrier Board to STM32 Mapping
Pin # | Pin Name | Pin # | Pin Name | Pin # | Pin Name | Pin # | Pin Name | |||
---|---|---|---|---|---|---|---|---|---|---|
RST | RST# | VIN | PC6 | VUSB | GND | |||||
GND | 3V3 | VBAT | PE4 | EN | ||||||
PD9 | D0 | PA3 | A0 | PD6 | RX2 | PA2 | TX2 | |||
PD8 | D1 | PA1 | A1 | PD4 | RTS2 | PA5 | D13 | |||
PF15 | D2 | PC3 | A2 | PD3 | CTS2 | PA6 | D12 | |||
PE13 | D3 | PC1 | A3 | PB10 | TX3 | PA7 | D11 | |||
PE3 | D4 | PC4 | A4 | PB11 | RX3 | PA4 | D10 | |||
GND | PC5 | A5 | PD2 | RTS3 | PD15 | D9 | ||||
PD1 | SCK | PB1 | A6 | PB13 | CTS3 | PF12 | D8 | |||
PB15 | MOSI | PC2 | A7 | PE9 | D6 | PF13 | D7 | |||
PB14 | MISO | PB9 | D14 | PE11 | D5 | PB6 | SCL | |||
PD0 | CS | PE1 | D15 | PF1 | SCL2 | PB7 | SDA | |||
PG12 | RTS | PA10 | RX | PF0 | SDA2 | PE15 | QIO3 | |||
PB4 | CTS | PA9 | TX | PD5 | QEN | PE14 | QIO2 | |||
PG8 | RX0 | PC0 | SCL3 | PC11 | QCS | PB0 | QIO1 | |||
PG7 | TX0 | PC9 | SDA3 | PE10 | QCLK | PE12 | QIO0 |
Pin Description Table
Pin Name | Pin Description | Voltage Tolerance |
---|---|---|
A0 | I/O - GPIO, PWM, ADC | 3.6V |
A1 | I/O - GPIO, PWM, ADC | 5V |
A2 | I/O - GPIO, ADC | 5V |
A3 | I/O - GPIO, ADC | 5V |
A4 | I/O - GPIO, ADC | 5V |
A5 | I/O - GPIO, ADC | 5V |
A6 | I/O - GPIO, PWM, ADC | 5V |
A7 | I/O - GPIO, ADC | 5V |
D0 | I/O - GPIO | 5V |
D1 | I/O - GPIO | 5V |
D2 | I/O - GPIO | 5V |
D3 | I/O - GPIO, PWM | 5V |
D4 | I/O - GPIO, PWM | 5V |
D5 | I/O - GPIO, PWM | 5V |
D6 | I/O - GPIO, PWM | 5V |
D7 | I/O - GPIO, | 5V |
D8 | I/O - GPIO | 5V |
D9 | I/O - GPIO, PWM | 5V |
D10 | I/O - GPIO, ADC, DAC1 | 3.6V |
D11 | I/O - GPIO, PWM, ADC | 5V |
D12 | I/O - GPIO, PWM, ADC | 5V |
D13 | I/O - GPIO, PWM, ADC, DAC2 | 3.6V |
D14 | I/O - GPIO, PWM | 5V |
D15 | I/O - GPIO, PWM (*) | 5V |
SCL | I²C #1 - Serial Clock | 5V |
SDA | I²C #1 - Serial Data | 5V |
SCL2 | I²C #2 - Serial Clock | 5V |
SDA2 | I²C #2 - Serial Data | 5V |
SCL3 | I²C #3 - Serial Clock | 5V |
SDA3 | I²C #3 - Serial Data | 5V |
3V3 | Power - Constant 3.3V Supply | - |
EN | Power - Chip Enable | 5V |
GND | Power - Ground | - |
RST | Power - Reset | - |
VBAT | Power - Battery Voltage Supply | - |
VIN | Power - Input Voltage | - |
VUSB | Power - USB Voltage Supply | - |
RX0 | Serial #0 - Receive | 5V |
TX0 | Serial #0 - Transmit | 5V |
CTS | Serial #1 - Clear to Send | 5V |
RTS | Serial #1 - Request to Send | 5V |
RX | Serial #1 - Receive | 5V |
TX | Serial #1 - Transmit | 5V |
CTS2 | Serial #2 - Clear to Send | 5V |
RTS2 | Serial #2 - Request to Send | 5V |
RX2 | Serial #2 - Receive | 5V |
TX2 | Serial #2 - Transmit | 5V |
CTS3 | Serial #3 - Clear to Send | 5V |
RTS3 | Serial #3 - Request to Send | 5V |
RX3 | Serial #3 - Receive | 5V |
TX3 | Serial #3 - Transmit | 5V |
CS | SPI - Chip Select | 5V |
MISO | SPI - Main In Secondary Out | 5V |
MOSI | SPI - Main Out Secondary In | 5V |
SCK | SPI - Serial Clock | 5V |
QCLK | Quad SPI - Serial Clock | 5V |
QCS | Quad SPI - Chip Select | 5V |
QEN | Quad SPI - Enable | 5V |
QIO0 | Quad SPI - Bit 0 | 5V |
QIO1 | Quad SPI - Bit 1 | 3.6V |
QIO2 | Quad SPI - Bit 2 | 5V |
QIO3 | Quad SPI - Bit 3 | 5V |
USER_BTN | User Button | - |
LED_BUILTIN | Built-in LED | - |
NOTE: All digital I/O pins are interrupt capable.
(*) Not supported on CircuitPython, since it relies on Timer 17, with 16 being the maximum supported.
Specifications
Electrical Characteristics
DC Characteristics
Description | Minimum | Maximum | Unit |
---|---|---|---|
VIN Supply Voltage | 2.5 | 5.5 | V |
VBAT Supply Voltage | 2.5 | 5.5 | V |
VUSB Supply Voltage | 2.5 | 5.5 | V |
Supply Current | 0.5 | 2.0 | A |
3V3 Output @ 5V | 1.07 | 2.09 | A |
Absolute Maximum Ratings
Description | Minimum | Maximum | Unit |
---|---|---|---|
Storage temperature | -35 | 70 | °C |
Ordering Information
- Please visit the Swan product page for ordering information.
Design Files
Open source hardware designs for the Swan and all Blues Hardware are maintained in the note-hardware GitHub repository.
Board Errata
-
The
VIN
and3V3
pins on the Swan Feather board do not conform to the Adafruit Feather spec and are reversed. While still mechanically functional even in many FeatherWings, customers should be aware of this orientation in case issues arise in development. -
The Swan Feather I2C
SDA
andSCL
pins do not include pullup resistors. I2C devices that do not include their own pullups will need to have these added in order to communicate with Swan.
Terms and Conditions
Visit Blues Hardware Terms & Conditions.
Revision History
Author | Date | Summary |
---|---|---|
Zachary J. Fields | 28 JUL 2021 | Document drafted |
Brandon Satrom | 29 SEP 2021 | Final Edits for publication |
Zachary J. Fields | 20 OCT 2022 | Swan v3.0 Updates |
Rob Lauer | 2 FEB 2023 | Warning re: STM32 light sensitivity |
Contact Information
For other questions about the Swan, visit the Blues Forum.
Blues Inc.
https://blues.com
50 Dunham Ridge Suite 1650
Beverly, MA 01915
support@blues.com