More updates on the Feather STM32F405 @st_world #STM32F405 #STM32 #STM



Thanks to the folks who have chimed in with suggestions on the STM32F405 Feather (previous post here, and all the comments). We’ve verified that CAN is available, added an SWD connector on the bottom, and fixed up the remaining todo’s! Check out our Rev A schematics and PCB rendering – we’re going to send this board out for prototype very soon! The updated PDF schematic is here.

Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here:

Join Adafruit on Mastodon

Adafruit is on Mastodon, join in!

Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.

Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Join over 36,000+ makers on Adafruit’s Discord channels and be part of the community!

CircuitPython – The easiest way to program microcontrollers –

Maker Business — “Packaging” chips in the US

Wearables — Enclosures help fight body humidity in costumes

Electronics — Transformers: More than meets the eye!

Python for Microcontrollers — Python on Microcontrollers Newsletter: Silicon Labs introduces CircuitPython support, and more! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi

Adafruit IoT Monthly — Guardian Robot, Weather-wise Umbrella Stand, and more!

Microsoft MakeCode — MakeCode Thank You!

EYE on NPI — Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — #NewProds 7/19/23 Feat. Adafruit Matrix Portal S3 CircuitPython Powered Internet Display!

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at !


  1. With a SWD connector, the only mayor thing I am missing is the SWO pin (SWV and trace are a huge difference. Even cloned ST-Link V2 debuggers can be modified to support it, and the cost of ST-Link V3 mini is ridiculous).
    But I have already seen that it is difficult to accomodate SPI and SDIO leaving pin 55 (SWO) unused. SDIO + SPI3 + SWO is impossible in 64-pin package, and moving to a different SPI would be a too big change.
    I just wanted to remark the importance of SWO for future developments.

    Great job, anyway.

  2. check
    assuming it is STM32F405RG
    1) led on PC1 (is that correct?)- looks ok seem like no conflicts with SPI, I2C, UART, its alt function is ETH_MDC / Event out – looks good unlikely to be a popular pin
    2) RTC & 32k crystal, it is there looks good, VBAT – ok it is there
    3) SWD where are the SWD pins? please provide ordinary header pins that can be connected using dupont wires. SWD (SWDIO, SWCLK) is *very important* for STM32 boards please provide normal ones. 1st it is used to upload firmware, 2nd it is used for debug, erase, update internal flash etc)
    4) BOOT0 – 100k to ground and 1 pin on header ok. For those people without a st-linkv2 or uart, updating the flash can be done by setting BOOT0 and using dfu-util or ST’s DfuSE flasher)
    5) reset – is there ok
    6) USB – PA11, PA12 goes to connector, ok
    (sidetrack: PA9, PA10 USART 1 why is this going to 3v3? you lose 1 uart port ! and this uart port is also the port that can be used to program the stm32. it will matter if for instance someone wants to implement OTA updates)
    7) SDIO – uses SPI3 PC10-PC12 and more. is there good ! 🙂
    8) SPI ports: that on board flash is not necessary, (but nice to have) please leave 2 SPI ports open and run to the headers. use case for SPI one of them would likely be use for an ILI9341 LCD, and the other is needed for something else, and the last one is already used by SDIO SPI3 PC10, PC11, PC12 SCK/MISO/MOSI respectively
    PB13, PB14, PB15 SPI2 SCK/MISO/MOSI this is SPI2, PB12 used for SD detect ! but it is ok

    so what is missing is SPI1 !

    9) PA0-PA7 – ADC pins, there are also a lot of timers and very important SPI1 available on these pins
    but PA0-PA2 seem inaccessible
    PA0-PA2 are ADC input channels and in addition some timer ouputs TIM2 ch 1-4 are on PA0-PA3, if unused for ADC sometimes used for PWM, PA0 is also WKUP, to wakeup from strandby
    note that PA4-PA7 is SPI1, this should be accessible on the headers, if unused they can be used for ADC
    PA8 TIM1CH1, I2C3 SCL

    10) PA4, PA5 DAC ! ok going to the headers

    11) PA9, PA10 – UART1 – one of the most commonly used due to the 1 index and this is the port that can be used to program the stm32, they also carry TIM1CH2, CH3
    PA11, PA12 CAN1_RX, CAN1_TX for the CAN aficionados
    PA13, PA14 SWDIO, SWCLK – mentioned prior
    i’m most familiar with the PA0* pins insidentially as they are the same pins on STM32F103c* (maple mini, blue pill). just be wary that there may be codes which preferentially use the PAxx pins. i.e. hardcoded in the sketches

    12) PB3, PB4, PB5 SPI1 or SPI3 SCK / MISO / MOSI respectively. this set seemed to be double aliased. I think it is to relieve the case where in the port in PA4-PA7 is used for other purpose e.g. ADC.
    apparently these pins are going to the spi flash. i’d prefer these pins be available on the headers. but note that SPI3 is used for the uSD card. they can be made available on the headers even if they are connected to the spi flash as spi is selected by a CS pin. I often use the NSS pins for that purpose if it is available.

    13) PB6/PB7 I2C1 SCL/SDA going to the headers ok USART1 RX/TX is also available on these pins !
    14) PB8/PB9 alias for I2C1 SCL/SDA, CAN1 TX/RX and timers
    15) PB10/11 I2C2 SCL/SDA and USART3 TX/RX

    i think more of the PAxx pins need to be made available on the headers. one of the more ‘scarce’ resources that is often in short supply on stm32 are the SPI pins. they are almost always used for the high bandwidth transfers e.g. ILI9341 LCD and many other LCDs.
    they are also used to interface other high bandwidth components such as spi flash, spi sram, (sd card – that is using SPI3) and possibly other spi based pheriperials. it may sound weird to interface an adc as stm32 has it, but that TI has this adc ADS1298 that can make a full blown 12 lead ecg !
    but more commonly the spi flash or spi sram are interfaced. i did not pay enough attention to the Timers but that the timers are a feature of stm32 not a bug. they can for instance drive h-bridges which requires those rather elaborate timings for *stepper motors*. then the timers also has specific external clock trigger and lock-on to drive DMA which in turns does parallel reads on the gpio pins. use case? ov7670 cameras !

  3. preferably, i’d like any pin with AFIO and the alternate set e.g. DAC, on the headers.
    in particular the basic ones such as adc, dac, spi, uart, i2c, can, usb (PA11, PA12), swd (swdio, swclk, some people even want the swo pin, but i can do without) and not least the *timers* on the headers. 🙂

    when adafruit makes the 2nd generation board, e.g. the *ve or *vg i’d like to have either :
    ethernet and/or usb 2.0 *high speed* ulpi on the board.

    one of the sorely missed thing about STM32 mcus is that they have pretty high speed and rather precise (12 bits) ADCs. e.g. for stm32f405rg it is 3 x 2.4 MSPS and 7.2 MSPS triple interleaved. But we are left with only a usb2.0 full speed the squeeze the pipe to a mediocre 12 Mbit/s. The ADC absolutely choke at that bottleneck and cannot stream live samples to the host. The trouble is getting that usb 2.0 high speed interface requires a ulpi usb 2.0 high speed transceiver and some additional components

  4. oops i realise that a theme of feather boards is a specific pinouts and interface. and preferably feature wireless connectivity such as ble or wifi

    this unfortunately would not utilize the features of stm32 mcus such as stm32f405rg and similar sku in the specific series. one thing that you may note about stm32 mcus is the generic usb interface (full speed only unfortunately) and the rather rich set of connectivity peripherals (spi, uart, i2c, can etc) and a very competent on chip adc (there are many oscilloscopes projects based around stm32) and it seemed some of the stm32 series e.g. F103*, F405/F407* tend to gravitate towards those ‘main’ board designs which requires a lot of io connectivity. i.e. lots of interfacing pins

    i’d leave Adafruit to decide about the pins as this is kind of a dilemma. my guess is some of the pins may possibly be made available via a FPC connector, in which a daughter board (called wings?) can be hooked up. but i’d prefer PA0 – PA5 being featured on the main pins as they are very much the adc (and dac) pins, the alternate functions are timer 2 channel 1-4 and timer 2 external input. SPI 2 can still remain routed to SPI as that is literally a faster SPI ports. one thing about the PAxx and PBxx pins is that they are very much similarly defined on stm32f103c8,b (i.e. the blue pill and maple mini).
    hence a lot of sketches in the wild will be referenced to the PAxx and PBxx pins
    for pins that couldn’t fit on the feather, i’d prefer that those pins be made avaliable e.g. interfaced via FPC to a ‘wing’ board, it would otherwise feel like a ‘waste’ of functionality of what is otherwise a stm32f405rg mcu

    for wireless bt-le connectivity Adafruit may want to consider stm32wb

    i think if adafruit would feature the stm32wb STM may be willing to make some pretty good deals with Adafruit given that STM32WB is a very new mcu. many people are wanting to try it out and has not done so as they are not sold like commodity boards.

Sorry, the comment form is closed at this time.