tiny stm32 F4 boards

Limited support for STM32F4 Discovery, Nucleo and custom F4 boards
ag123
Posts: 767
Joined: Thu Jul 21, 2016 4:24 pm

Re: tiny stm32 F4 boards

Post by ag123 » Mon May 01, 2017 8:20 pm

yup, it'd seem they makes some interesting boards and they seem to be an origin of the blue pill as well
http://www.vcc-gnd.com
https://vcc-gnd.world.taobao.com/

with those specs 512MB NAND Flash and 256Mb SDRAM, i'd think stm32f4 can even compete with the beefy raspberry PIs
https://world.taobao.com/item/544433769 ... 8.8.izh4HI
and F4 wins big in terms of the number of SPI, UART, DAC, ADC, ethernet mac etc and the sheer number of gpio pins available for use
and strictly speaking this qualifies as a mini board if u consider that the STM32F429{IIT6 or IGT6) takes a huge real estate on the board itself, it is a monster of a soc just by chip surface area alone, the board is merely borderline bigger than the chip itself :lol:

the other surprise is for biz like epson
http://www5.epsondevice.com/en/products/
http://www.ndk.com/images/products/cata ... SU-2_e.pdf
my impression of crystals are those metal tin cans while Epson & NDK seemed to have made them look very different, i'm wondering how would it be possible to tell between a crystal vs ceramic resonator by its looks :lol:

Ollie
Posts: 193
Joined: Thu Feb 25, 2016 7:27 pm

Re: tiny stm32 F4 boards

Post by Ollie » Thu May 11, 2017 6:34 pm

I got my "funny color" F407vgt6 board today - 30 days after making the order at

https://it.aliexpress.com/item/STM32F4D ... 49543.html

Some observations:
- the color of the board is black with quite nice protective layer and clear labeling
- the RTC xtal is not the classic style; instead it is the long cylinder type

Compared to the F407vet6 board that I am using in a 6 motor speed controller (ref https://it.aliexpress.com/item/STM32F40 ... 85751.html), there are the following differences
- the vgt6 board is larger
- the vgt6 board is missing the SWD connector pins
- the vgt6 board is missing the EEPROM
- the vgt6 board is missing the SD drive
- the vgt6 board is missing the boot0 and boot1 switches
- the vgt6 board has a user button

I have the full documentation for the vet6 board, but have not yet found the vgt6 board documentation. The board label CJMCU-407 didn't give any proper leads in Google.

Both boards came without the headers soldered. I do like that because it allows me to use the machine pins which are highly recommended over the standard pins.

PS. For 2 motor and 4 motor speed controllers, I am using Teensy 3.2 and 3.5

ag123
Posts: 767
Joined: Thu Jul 21, 2016 4:24 pm

Re: tiny stm32 F4 boards

Post by ag123 » Thu May 11, 2017 7:31 pm

i'd suggest send a request to the vendor asking for the schematics, one of the vendors i bought from provided me a link to a download, they may be able to help you with that

vgt6 has got 1 meg of flash on it, it is 'plenty' for mcus, my guess is this kind of mcus/boards with big flash memories are useful for 'multi-purpose' usage
i think the pebble smartwatch is made with stm32f4 with pretty much 1m flash, hence one could install 'applets' on the same mcu and basically run the different applets. the large flash can also be used to store data / scripts or used as storage
i think micropython https://micropython.org/ is one of those that use a good fraction of on chip flash and in addition use an sd card perhaps for scripts and other data

just 2 cents :)

palmerr
Posts: 58
Joined: Tue Jan 31, 2017 6:21 am
Location: Melbourne, Australia

Re: tiny stm32 F4 boards

Post by palmerr » Fri May 12, 2017 1:45 am

Ollie,

I'd be interested in the schematic, as I have one on the way as well. Given the lack of onboard extras (memory, special purpose headers) and the handy silkscreen printing on the back, it shouldn't be too hard to trace the few lines going to the USB - almost certainly +5, GND, PA11, PA12 (USB OTG FS default pins), the switches - one is likely to be PA0 (SYS-WKUP) and LEDS.

BOOT0, BOOT1 (BOOT0 and PB2) seem to be mapped next to PB2/PE10. Looking at the back of the board, I'd guess they're on the inside row and pulled up, with GND pins on the outside row.

I hope this helps. If you want to create a "formal" variant for any of the current code sets (Maple, STM32GENERIC, github/STM32UDINO), I can give you a hand.


I like your "funny coloured" designation for the board. It just highlights that we'll need to find a better way to designate variants.

Stephen (@zmemw16) and I continued Roger's redpill - bluepill theme with the "Black VET407VET" series naming, and it's not ideal.

Perhaps something more pragmatic - like the chip designation + number of GPIO pins &/or the board size, for unbranded boards...?

Richard

Ollie
Posts: 193
Joined: Thu Feb 25, 2016 7:27 pm

Re: tiny stm32 F4 boards

Post by Ollie » Fri May 12, 2017 3:44 am

Thanks Richard,

My head is still spinning around the right solution for STM32F407 library support. I really like the simplicity of Arduino IDE. It is the easiest for youngsters to learn. For my own projects, I have been using the Standard Peripheral Library for many years mainly because there was a native support for it in EmBlocks/EmBitz. I was planning to shift to LibOpenCm3, but it felt stalling. After some trial projects, I shifted to Unicore-Mx. It seems to work well in Unix platform, but I haven't yet abandoned Windows. Currently, I am using STM32CubeF4 HAL library with EmBitz.

My preference for F4 support in Arduino is to leave the HAL still quite visible for the apps without too much convolution by Arduino/LeafLab history. In that way the next transition to F7 and H7 would be less painful.

Cheers, Ollie

ag123
Posts: 767
Joined: Thu Jul 21, 2016 4:24 pm

Re: tiny stm32 F4 boards

Post by ag123 » Fri May 12, 2017 6:06 am

i'd think now there is also mbed from arm itself, just that i'm not too sure of how well mbed works on stm32
it seemed certain f4 nucleo boards is supported, mbed is pretty much another arduino style platform
and as well ChibiOS which seem like a rather elaborate RTOS stack with it own pretty elaborate HAL libraries
but i've not really tried any of those out

my guess is STM's Cube HAL, is pretty much an 'industry standard' given it is pretty much from ST and to an extent supported by ST and its generic support across literally the full stm32 series. the total set of HAL libraries is some 100megs today for all the mcu ranges, it would be difficult for a public open sourced effort to replicate that. however, Cube HAL do have its issues / bugs etc. in particular for the smaller mcu's it seemed it may lead to code bloat, bigger binary sizes if one is not too careful with including the relevant components

as for arduino platform, my thoughts are that the sketches works pretty much pretty well (in fact exceeding the 'uno') on stm32 as well. but the effort is very much 'development from scratch' for the libmaple core itself, and today stm's core and daniel's stmgeneric cores based on HAL are coming in and offering an interesting and viable way forwards that takes 'arduino' very much beyond its modest 'uno' roots

palmerr
Posts: 58
Joined: Tue Jan 31, 2017 6:21 am
Location: Melbourne, Australia

Re: tiny stm32 F4 boards

Post by palmerr » Fri May 12, 2017 7:19 am

Ollie,

Yes, simple and standard is the way to go - leaving HAL (and LL) libraries visible for anything but the most basic tasks.

For example, there's a standard ADC library in Arduino that can read an ADC sample and write to the DAC (PWM!!!) - all expenses paid. For anything else, direct access to the STM libraries - particularly as the HAL libraries are fairly high level and very well documented - is best. We are, after all, working with embedded systems, not Linux.

I've found that the HAL libraries are sometimes a bit slow for time sensitive work (e.g. real-time audio) and use mixed LL and HAL quite successfully. HAL for its configuration simplicity; LL for fast interrupt and DMA servicing . This approach is apparently OK, as I borrowed some early code from the STM "Cube" "MIX" examples for ADC. It also works fairly seamlessly, most of the time, as the HAL tends to use the LL routines for "intimate" configuration tasks.

I hope your head stops spinning soon!

Richard

Ollie
Posts: 193
Joined: Thu Feb 25, 2016 7:27 pm

Re: tiny stm32 F4 boards

Post by Ollie » Fri May 12, 2017 1:57 pm

I like your approach.

palmerr
Posts: 58
Joined: Tue Jan 31, 2017 6:21 am
Location: Melbourne, Australia

Re: tiny stm32 F4 boards

Post by palmerr » Mon May 15, 2017 1:43 am

Here's another way to get a tiny F7 (yes, F7) board: Sparkfun's new OpenMV M7 Camera - which just happens to come with an embedded STM32F765VGT6 to handle image processing.

https://www.sparkfun.com/products/14186

It comes with an SD card socket, USB (FS), I2C, SPI and 6 other GPIOs broken out onto its 2 x 8 pin headers.

There's also an OV7725 camera module on board!

Footprint is around 45 x 30 mm.

All for $65 US.

Ollie
Posts: 193
Joined: Thu Feb 25, 2016 7:27 pm

Re: tiny stm32 F4 boards

Post by Ollie » Mon May 15, 2017 2:33 am

I was surprised about the performance of the OpenMV M7 Camera system. It doesn't make a huge difference, but I think that the camera is using STM32F765VI and not STM32F765VG. The kickstarter info seems to be more reliable than the Sparkfun. The combined price of the camera and F7 module is quite reasonable.

The cheapest solutions for F7 at the moment are the Nucleo boards from STM. I don't like them anymore; they are too bulky.

I do agree that LL is required for time critical tasks. It seems to me that HAL is missing some basic functionality. I was trying to do EXTI on F407 without LL, but I didn't find all required functionality in HAL. After awhile, I cleaned all LL calls from my application and replaced them with my own macros for the EXTI register manipulation (such as interrupt mask management and clearing interrupts).

After several years of using STM libraries, I am still critical about their style where the naming conventions are lacking consistency and the code is very bloated. But in real life, the HAL seems the safest bet at the moment.

Post Reply