Nice little $5 auxiliary processor board

67 views
Skip to first unread message

ColinC

unread,
Sep 2, 2015, 6:20:19 AM9/2/15
to diyrovers
I thought I'd clue you guys in to this little stm32f0 board.

http://www.dx.com/p/stm32f030f4p6-development-board-w-ttl-serial-port-download-390374#.VebChVDX295

Great little peripheral offloader. I'm using it as a stepper controller, an I2C to UART bridge, and an interface to the Lidar-lite. I think it can be useful for any task that is essentially blocking in nature. Anything where you don't want to wait, and you don't want to get hung up with a bunch of interupts and flags.

I plan on using it as a controller for my little wav player board, the voice of my rover. That board doesn't queue commands, but this one sure will.

Anyway, I thought I'd just add it to the mix.

Cheers everybody,
Colin


Jon Watte

unread,
Sep 2, 2015, 1:28:46 PM9/2/15
to diyrovers
Interesting!

What toolchain does it use? Is it an OpenCM9 clone, or a Teensy clone, or something else?

Sincerely,

jw





Sincerely,

Jon Watte


--
"I find that the harder I work, the more luck I seem to have." -- Thomas Jefferson



--
You received this message because you are subscribed to the Google Groups "diyrovers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to diyrovers+...@googlegroups.com.
To post to this group, send email to diyr...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/diyrovers/fa1d5a21-6f0f-4ba4-a4ea-b51b4eecc1ce%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Ted Meyers

unread,
Sep 2, 2015, 10:58:18 PM9/2/15
to diyrovers
It is an ARM cortex M0 with 16KB flash and 4K RAM.  I think that you are stuck using a GCC toolchain, but I did see that someone may have ported it to mbed.  Anyway, I don't see much of an advantage over an arduino pro mini, a little faster but less memory, and a little more expensive.  Maybe the form factor is better than an APM.  Certainly something to consider.

Ted

Gil S

unread,
Sep 3, 2015, 1:25:56 AM9/3/15
to diyrovers
I like dx.com, but it does takes weeks to get something delivered, and there is almost zero documentation on anything.  For a simple breakout board, if you can easily trace out the schematic from a typical 2-sided pcb, no problem.  But don't expect dx to tell you more than dimensions and weight.  But they are great for connectors, prototype jumpers, switches, and lots of good crap.  Just get a thousand or so as a lifetime buy since the part may be gone next week.

Sheesh, for $4.00 from mouser.com you can get this cortex M0 tomorrow:
CY8CKIT-049-42XX
But I have never used anything from cypress, so I have no first-hand input on building.

On the other hand, I have done lots of fun projects with the stm32 family, first with the popular M3-based stm23f103, and later with the M0-based stm32f03/05/07/09x family. Not using their cube-crapola or HAL stuff, but simply with their standard st peripheral library.  I have always used the gcc toolchain, and would not say I am stuck with it -- it has been very reliable for me.  The '103 can use a cheap jtag pod like the olimex stuff, but the f0x parts are only swd, and need segger or similar swd-capable pod.

There is also the ST DISCOVERY family of boards, which are kinda big but include a usb programmer on board.
eg: STM32F0DISCOVERY is $8.88 at mouser and has an F051.

They also have a variety of NUCLEO boards, that are also interesting, with a snap-off usb programmer on board.  There is a nice 091 version that I like.

fyi, gil



ColinC

unread,
Sep 4, 2015, 8:03:04 AM9/4/15
to diyrovers
The download for this board is pretty good. Board image, schematic, more STM docs than you'd ever want to read, and lots of code, including a working Keil example project.

I agree about the Cube/HAL stuff. For me the Std Periph Lib provides about the right level of abstraction. A very thin layer, as someone said.

Cheers,
Colin

Thomas Roell

unread,
Sep 4, 2015, 10:09:11 AM9/4/15
to diyrovers
Why not go for a M3 based sibling ?


Just curious. The M0/M0+ really sucks compared to a M3/M4 if you don't care too much about power consumption or buy in 1000+ units. M0 is ARMV6M, which is the old ARMV4T/thumb architecture. A lot of really useful instructions are missing there. There is no MPU for stack overflow checking, there is no BASEPRI register to block interrupts, only 4 levels of interrupt priority (well, only 3 if you want to use PendSV and/or SVC). Yes, it's a big step up from AVR/PIC ...

@Ted, I have been using both, bare metal gcc/gdb (https://launchpad.net/gcc-arm-embedded), and mbed. For me personally mbed is more of a PITA than anything else. With gcc/gdb I can at least debug via SWD. With mbed, the biggest problem I have there is that it's a single threaded, polled io design mostly. If you want to do anything more complex most libraries will fail you. So you are back to square one. Yes, mbed has in theory a CMSIS RTOS, but there is no real spec for CMSIS RTOS out there (are mutexes priority inheritance or not protected at all ? what is the priority protection protocol ? are waiting tasks queue in FIFO or priority order ? only 6 levels of priority ?), so it's more or less pointless to use.

Have to admit that I have not used the ST StdPeriph library. With a similar one from TI I ended up using it to set up the gpio multiplexing, but wrote my own low level UART/SPI/I2C code, as it seemed easier to write to the CMSIS HW interface than having to find out what a given library function call would do exactly. Seems to be very useful though if you deal with more complex stuff like CAN/USB ...

Colin, are you using texane or openocd ? 

- Thomas 

Thomas Roell

unread,
Sep 4, 2015, 10:41:54 AM9/4/15
to diyrovers
Since we at nice STM32 board from vcc-gnd.com, what about that here: 


(sorry, for the Chinese link ... hasn't yet hit the usual suspect you could order it from in English, via an agent (buychina.com) it's $18)

I am toying with getting that one for AVC2016. 

- Thomas

On Wednesday, September 2, 2015 at 4:20:19 AM UTC-6, ColinC wrote:

ColinC

unread,
Sep 4, 2015, 12:15:21 PM9/4/15
to diyrovers
Thomas, I'm not using texane or openocd. I'm just using the Keil toolchain. When I started with the f3discovery it just seemed like a good bet.

When I got the f0 board, I copied my I2C & UART code wholesale from the f3 project to the f0 and it seems to work OK.

Cheers,
Colin

ColinC

unread,
Sep 4, 2015, 12:37:04 PM9/4/15
to diyrovers
Also, the thing about DX is, while it might take a month to get to you, a $4.45 board is $4.45, shipped.

Cheers,
Colin

Jon Watte

unread,
Sep 4, 2015, 1:49:47 PM9/4/15
to diyrovers
My favorite STM M3 board is the OpenCM9.04, at $9.99: http://www.robotis.us/opencm9-04-a-no-connectors-onboard/
The toolchain is GCC, and you can also use a Arduino IDE if you really have to.
The runtime support libraries are kind-of sucky, though; they're based on Maple.
My favorite M4 is the Teensy3.1, although at $19 it's not a $4.45 competitor on price :-) (I think PJRC does a great job of supporting it)

Sincerely,

jw





Sincerely,

Jon Watte


--
"I find that the harder I work, the more luck I seem to have." -- Thomas Jefferson

--
You received this message because you are subscribed to the Google Groups "diyrovers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to diyrovers+...@googlegroups.com.
To post to this group, send email to diyr...@googlegroups.com.

Thomas Roell

unread,
Sep 4, 2015, 3:43:59 PM9/4/15
to diyrovers
Jon,

very nice STM32F1023 board. Maple is also a good step ahead of the ST StdPeriph library.

With Teensy I will never understand why PJRC needed to add this Cortex-M0 supervisor chip in a way that you have neither SWD available not can run a local debug monitor. Otherwise, that would real good choice.


- Thomas

Thomas Roell

unread,
Sep 7, 2015, 9:06:46 AM9/7/15
to diyrovers
Colin,

have you looked into the HAL that is part of STM32Cube now ? Seems to be a good step up from the ST Periph Library.

- Thomas

ColinC

unread,
Sep 9, 2015, 5:43:50 AM9/9/15
to diyrovers
Yeah Thomas, I don't really care for that elevated level of abstraction. After years of 8-bit PICs I'm afraid I'm just more comfortable down in the weeds than up in the clouds, so to speak.
Cheers,
Colin
Reply all
Reply to author
Forward
0 new messages