hi folks, we wanted to make a super fast stm32 based feather and decided to go with the tried and true STM32F405 which is small enough to fit, and super speedy! here’s our first pass at a Feather design – not fully finished (there’s a few more wires to route) but 95% of the way there! please check it out and let us know if you have any suggestions. we put the SD card on the sdio bus, have the two DAC’s on A0 and A1 to match our other feathers, and added some SPI flash (it doesnt seem like the stm32f405 has a qspi peripheral?) it’s 2.0″x0.9″, with USB C and should be compatible with all of our wings.
please check it out and let us know any suggestions or common traps you’ve bumped into with this chip – it could run micropython pretty easily we think! we’ve attached the eaglecad files as well as pdf schematic.
thanks!
UPDATE: 9/5/19
Thanks for the details and suggestions.
Regarding the RTC, we have connected VBAT to the lipo battery so that should work for when the USB is not connected.
We didn’t have space for a full SWD breakout, there’s pads on the bottom – we’ll see if we can squish in an SWD connector but its a tight fit!
According to Fig 38 “Recommended NRST pin protection”, table 48 and section “5.3.17 NRST Pin” the 47K pullup is internal and no external one is required/recommended
For CAN connectivity, CAN1_RX and CAN1_TX (PB8/PB9) are available on Feather pins D9 and D10
We made a change where we swapped D4 for BOOT0 for easy DFU’ing and so far people seem to like this design!
Files:
Feather STM32F405 – BRD file and Feather STM32F405 – SCH file – zip.
Feather STM32F405 – PDF.
love it.
read that the 405 has "RTC: subsecond accuracy, hardware calendar"
will that be implemented on the feather hardware and code?
thank you for what you do and what you are which is what you do— loop loop, brk.
Looking good!
Very keen for this board🎉
* Couldn’t see SWD breakout in the schematic? (I could be blind).
* On some of the STM chips reset needs a pullup for stability?
Thank you for USB-C!
The STM32F405 has CAN bus support, but requires an external transceiver. Do you want to build this in?
Odrive and VESC use CAN on PB8/PB9 which are broken out to D9/D10 so building an external transceiver featherwing should be easy too. Looks like it’s already been done for ESP32 http://skpang.co.uk/catalog/canbus-featherwing-for-esp32-p-1556.html
Very excited about this board, I have been looking for something like this for awhile (even started to make it myself) but the CAN functionaity is very important. I have a CAN FeatherWing, but it would be super ideal to have it baked in already.
P.S. I love the human verification, very unique!
Thanks for the details and suggestions.
Regarding the RTC, we have connected VBAT to the lipo battery so that should work for when the USB is not connected.
We didn’t have space for a full SWD breakout, there’s pads on the bottom – we’ll see if we can squish in an SWD connector but its a tight fit!
According to Fig 38 “Recommended NRST pin protection”, table 48 and section “5.3.17 NRST Pin” the 47K pullup is internal and no external one is required/recommended
For CAN connectivity, CAN1_RX and CAN1_TX (PB8/PB9) are available on Feather pins D9 and D10
We made a change where we swapped D4 for BOOT0 for easy DFU’ing and so far people seem to like this design!
I would take a look at the ADC channel input impedance and sample time/capacitance compared to your resistors chosen for V_DIV. Also consider an external anti-aliasing capacitor.
Unfortunately I don’t have time at the moment to check on the STM32F4 datasheet to know for sure if you’ll have a problem, but 50K of thevenin resistance going into an ADC caught my eye. Unfortunately I don’t have time at the moment to check on the STM32F4 datasheet to see how close to the limits your current design is, but it’s a good thing to have math for on the schematic.
Oops this is what I get for commenting late at night, replace my last sentence above with just “. . . caught my eye; in any case it’s a good thing to have math for on the schematic.”
I’m afraid you can’t connect a LiPo directly to VBAT pin. According to datasheet’s operational ratings section, VBAT voltage can go between 1.6V to 3.6V and I believe the absolute maximum rating for it is 4.0V