1.. _adafruit_feather_stm32f405:
2
3Adafruit Feather STM32F405 Express
4##################################
5
6Overview
7********
8
9The Adafruit Feather STM32F405 is an ARM Development board in the
10Feather standard layout, sharing peripheral placement with other
11devices labeled as Feathers or FeatherWings. The board is equipped
12with a lithium ion battery charger, native USB C connector, 2MB of
13external flash memory, and SD card socket.
14
15.. image:: img/adafruit_feather_stm32f405.jpg
16     :align: center
17     :alt: Adafruit Feather STM32F405 Express
18
19Hardware
20********
21
22- STM32F405 Cortex M4 with FPU and 1MB Flash, 168MHz speed
23- 192KB RAM total - 128 KB RAM + 64 KB program-only/cache RAM
24- USB C power and data
25- LiPo connector and charger
26- SD socket on the bottom, connected to SDIO port
27- 2 MB SPI Flash chip
28- Built in NeoPixel indicator
29- I2C, UART, GPIO, ADCs, DACs
30- Qwiic/STEMMA-QT connector for fast I2C connectivity
31- SWD SMT mount region on board underside.
32
33Supported Features
34==================
35
36The Adafruit Feather STM32F405 board configuration supports the
37following hardware features:
38
39+-----------+------------+----------------------+
40| Interface | Controller | Driver/Component     |
41+===========+============+======================+
42| NVIC      | on-chip    | nested vectored      |
43|           |            | interrupt controller |
44+-----------+------------+----------------------+
45| SYSTICK   | on-chip    | system clock         |
46+-----------+------------+----------------------+
47| UART      | on-chip    | serial port          |
48+-----------+------------+----------------------+
49| GPIO      | on-chip    | gpio                 |
50+-----------+------------+----------------------+
51| I2C       | on-chip    | i2c                  |
52+-----------+------------+----------------------+
53| SPI       | on-chip    | spi                  |
54+-----------+------------+----------------------+
55| USB       | on-chip    | USB device           |
56+-----------+------------+----------------------+
57
58Other hardware features have not been enabled yet for this board.
59
60Connections and IOs
61===================
62
63The `Adafruit Feather STM32F405 Express Learn site`_ has detailed
64information about the board including `pinouts`_ and the `schematic`_.
65
66System Clock
67============
68
69The STM32F405 is configured to use the 12MHz HSE Oscillator to produce
70a 168MHz system clock.
71
72Serial Port
73===========
74
75The STM32F405 UART 3 peripheral is available on the TX (PB10) and RX
76(PB11) pins.
77
78I2C Port
79========
80
81The STM32F405 I2C1 peripheral is available on the SDA (PB7) and SCL
82(PB6) pins.
83
84SPI Port
85========
86
87The STM32F405 SPI2 peripheral is available on the SCK (PB13), MI
88(PB14) and MO (PB15) pins.
89
90SPI1 uses SCK (PB3), MI (PB4), MO (PB5) and SS (PA15) pins and is
91dedicated to the 2 MB SPI Flash chip.
92
93Programming and Debugging
94*************************
95
96DFU-Util programming is supported through Zephyr by default. Set up
97of the built in DFU-Util bootloader is possible by following the
98`instructions on the Learn website`_.
99
100Flashing
101========
102
103#. Build the Zephyr kernel and the :zephyr:code-sample:`blinky` sample application:
104
105   .. zephyr-app-commands::
106      :zephyr-app: samples/basic/blinky
107      :board: adafruit_feather_stm32f405
108      :goals: build
109      :compact:
110
111#. On the Adafruit Feather STM32F405, connect the 3.3V pin to the B0 boot pin
112   with a jumper wire.
113
114#. Flash the image:
115
116   .. zephyr-app-commands::
117      :zephyr-app: samples/basic/blinky
118      :board: adafruit_feather_stm32f405
119      :goals: flash
120      :compact:
121
122   You should see the D13 LED blinking.
123
124References
125**********
126
127.. target-notes::
128
129.. _Adafruit Feather STM32F405 Express Learn site:
130    https://learn.adafruit.com/adafruit-stm32f405-feather-express/
131
132.. _pinouts:
133    https://learn.adafruit.com/adafruit-stm32f405-feather-express/pinouts
134
135.. _schematic:
136    https://learn.adafruit.com/adafruit-stm32f405-feather-express/downloads
137
138.. _instructions on the Learn website:
139    https://learn.adafruit.com/adafruit-stm32f405-feather-express/dfu-bootloader-details
140