2019-01-28 08:36 AM
My main goto board ATM has been an Arduino Due as it has heaps of pins, 3.3v, 32 bit , 96K or SRAM, 512K of flash and easy to program straight from Visual Studio.
One thing I hate about it is all they all seem to ship with female header pins and the layout is bad.
Well, given the way things have progressed a STM32F4Discovery STM32F407VGT6 ARM Cortex-M4 really got my attention.
I have checked and have the ability to compile for it under my environment.
The specifications are ~double of my Due (CPU Mhz, flash and sram) and on top of that it mentions having a FPU.
The pin layout looks great and the price is just a tad over AUS$10 on Aliexpress.
Main thing I need is fast I/O and fast SPI with access to DMA and or FIFO.
I suppose the main question is... are there any other boards with higher specifications I'd be better jumping too?
256K SRAM would be great and I did notice some sport the ability to add more SRAM on the back.
As it is... this AU$10ish board makes all my Due's and dare I say Teeny's not worth mucking around with (not to mention the 3 Uno's I have).
I have a fast graphics library I've been developing and they get a bit hungry for SRAM and CPU cycles.
2019-01-28 09:21 AM
This is a VERY old board, the Aliexpress board sounds like a boot-leg. The ST-LINK implementation on this board is also somewhat lackluster, and doesn't properly support the VCP connectivity useful for debug/diagnostics.
In terms of pin escape and function, you'd do better looking at a NUCLEO-144 based board.
The DISCO boards have screens, but tend to eat pins with memory/screen interfaces. The do have shield sockets, which can help.
2019-03-25 06:34 PM
Finally got a STM32 board to experiment with. Ended up with a STM32F407VET6 which is a nice upgrade from the Arduino Due in both memory, clock speed and added bonus of FPU.
Been a learn-as-I-go experience as I have a very large library I want it to work with.
Got compile working for examples using the ST-link and have set about looking at getting the hardware side of things to work.
Tested the 12 bit DAC with the sound library and got it working however I think I have a bug in the timer code. Weird how 99% of code on the Internet as examples shows how to start and attach a timer... but not much on stopping it.
Really like the DAC interfaces as very low level yet simple and elegant. The sound quality is better than the 8-bit DAC on the ESP32 I was testing on.
Got the SDIO SD reader working last night and it was getting 1180KB/sec reading 512 blocks off a 23MB file which is great as the Due maxed out at 200KB/sec using SPI.
Got the RTC working and tested.
Only area yet to be tested for what I need is SPI but everything else is very good and I'm more than happy ATM.
A project I have is a clock and having inbuilt 12 bit DAC, RTC and SD card is a HUGE advantage over having to wire up separate modules.
Found a few bugs in the STM32SD library I'm using, mainly File::read(buf, size) returns an int but in the actual function the number of bytes was first copied to a uint8_t which sort of didn't fit the 512 I was reading. Likewise File::read() was returning a int8_t and not the usual uint8_t.
Price of board... A$15 from EBay delivered which makes this a no-brainer given the features.
Eventually I will look at the ZET one as it seems to sport the ability to add a heap of SRAM.
If all goes as planned I'm going to purge all the other board #if #elif blocks out and stick to this board. It will mean I can retire SDFAT and a heap of other stuff dragged in specifically for other MCU's.