Spark Logic

Is anyone interested in helping to make an Arduino Due which uses [edited:] a 100-pin STM32L471

lkcl Thu Sep 28, 2017 6:11 am

hi as i hinted at in the introduction hello here viewtopic.php?f=2&t=2629 i would like to (quickly) investigate the feasibility and viability of creating an Arduino Due compatible design which uses the 100-pin LQFP STM32F072V8T6.

the Reference Design from arduino.cc is in Eagle and is available publicly so it should be pretty straightforward and achievable. i’ve worked with the STM32F072 64-pin variant before so know what i’m doing, and love this particular series because it’s crystal-less and really really low cost. $1.66 in 10k volumes as opposed to (in the case of the ATSAM3X8E) more money than a quad-core 1.5ghz 64-bit ARM Cortex A53 processor can be bought for.

i’m aware that the 072 is only 48mhz: that’s absolutely fine for me, given that there’s a reasonable chance of hitting a BOM target that’s about the same as an 8-bit Arduino Mega 2560’s r3.

so the real question is: would anybody be interested in helping to do a feasibility study for the pinouts, help review the schematics and board designs (which i will continuously publish online – immediately – with each and every single modification made, because that’s what you do as a software libre and hardware designer) and so on.

even more than that, would anyone be interested to actually buy the resultant open hardware… or of course get it manufactured for themselves because it’s an open, libre project? the reason i ask that is, this is the arduino forum for stm32 boards… but the only boards i see which are arduino hardware-compliant are for the *uno* pinouts which was one of the very very early boards, and you only get a small range of pin-compatibility.

… and i would like to make a board that is FULLY compatible with the FULL pinout range of the *DUE*.

that would mean that people could use the FULL range of available Arduino-compatible shields in their projects.

Replies

david.prentice Tue Oct 10, 2017 8:56 am

I had assumed you were in US or Europe. Nucleo boards take 24 hours to arrive from our local distributors.
Compared with Due clones or STM32 BluePill taking 10-40 days from China.

You know what the Chinese and Taiwan local markets are like.
The US / European hobbyist will pay more for hardware. But they would expect the software to be painless. Arduino for STM32 is not as well supported as Arduino for SAM3X8E. We do not consider the Due-clones to be expensive. From your point of view, it should be profitable for both manufacturer and retail.

Regarding the pcb layout. If there are 54 GPIO header pins, you only need to route the accessible pins. It would be wise to have pin-compatibility with Mega or Due. The actual choices will always be annoying to someone.

It really comes down to the potential Sales and commercial profitability. The Chinese market might be far more important than Western sales.
I would guess that Uno clones sell by the 100000. Mega clones by the 10000. Due clones by the 1000.
You only have to look at the membership numbers of this Forum. STM32 popularity is less than the “official Arduino” boards.
There are probably more Teensy3.x sales. Mostly down to good support from Paul Stoffregen. (this is more important than hardware cost)

David.

lkcl Tue Oct 10, 2017 12:12 pm

[ChrisMicro – Tue Oct 10, 2017 5:04 am] –
Relating the ESP8266 modules.
I think this ones would have been the best to be used:
www.ebay.de/itm/ESP8266-ESP-01-Version- … DPL.BANDIT

– low pin count
– cheap

thanks for looking it up. i’ll keep it in mind chris, see how it goes. i just used what might be the last spare GPIO… but i may have to revert to using the CH340G which would free it back up again. ironically i managed to get all the SPI signals out (and that spare GPIO) in order to wire them to the F070.

lkcl Tue Oct 10, 2017 1:41 pm

[ChrisMicro – Tue Oct 10, 2017 6:10 am] –
Just another thought: Probably the combination of CPU and FPGA is coming up right now because the FPGAs have reached and affordable price range.

nice! it’s about time. i like that you’re choosing to use the ones with libre toolchains. hey wouldn’t it be funny for the totally intransigent fabless semi companies making FPGAs to actually look at their sales figures and realise, “dang we’re making money and it correlates exactly with the products which have reverse-engineered libre toolchains instead of the shoddy crap-for-software we’ve been shipping for a couple decades”… :)

…. back to our regularly-scheduled programme…

lkcl Tue Oct 10, 2017 2:16 pm

[david.prentice – Tue Oct 10, 2017 8:56 am] –
I had assumed you were in US or Europe. Nucleo boards take 24 hours to arrive from our local distributors.
Compared with Due clones or STM32 BluePill taking 10-40 days from China.

ha, hilarious: it’s definitely the other way round for me… with the strong possibility that stuff will… magically… disappear at customs unless it’s from a courier like DHL or Fedex. the import tax on electronics in to china is THIRTY PERCENT, and that’s only for “permitted” stuff. Taiwan and HK are different though.


You know what the Chinese and Taiwan local markets are like.

i’m mostly familiar with china, only been here in taiwan for… eight months? TW doesn’t actually have significant electronics markets (they have expertise, universities and head offices instead), it’s more like… radio shack but they’re gone even before radio shack could have got going here. there’s *TWO* electronics components stores in the whole of taipei city (!) whereas there’s an entire *district* dedicated to components in Shenzhen, and dozens of small ones in Hong Kong.


The US / European hobbyist will pay more for hardware. But they would expect the software to be painless. Arduino for STM32 is not as well supported as Arduino for SAM3X8E. We do not consider the Due-clones to be expensive. From your point of view, it should be profitable for both manufacturer and retail.

well, here’s the thing: i trained as a software engineer, specialising in reverse-engineering, embedded systems programming, linux kernel development and so on. the programming side i don’t exactly take for granted but i can do it. then i moved into libre hardware, with a view to creating eco-conscious hardware that actually properly honours libre software licenses, but is marketed as “lower cost of ownership because you can keep it around for longer” – long story.

anyway part of that meant that i had to actually find low-cost parts in the first place: it’s no good sourcing parts from digikey, you have to go to shenzhen. that in turn meant that i am now “used to” pricing here in china. therefore, in turn, i *automatically* rebel at western pricing levels.


Regarding the pcb layout. If there are 54 GPIO header pins, you only need to route the accessible pins. It would be wise to have pin-compatibility with Mega or Due. The actual choices will always be annoying to someone.

:) i believe i’ve managed to cover both… but the PUBLISHED functionality NOT repeat NOT the “unpublished but listed in the datasheet of either or both of the 2560 or SAM3XE processors”.

to explain that: if someone has been using a particular pin’s “alternative function”, completely ignoring the arduino pin-outs and listed *STANDARD* functions, and is expecting this design to magically work for them, they can go take a long running jump off a very short pier.

however if instead they’ve been looking at the board and going, “huh, right here on the actual PCB it says this is I2C therefore i’m going to use it for… I2C” then they’ll do absolutely fine.

i’ve managed to get all 16 ADCs out onto the ADC pins.. it *just so happens* that the L471 has two DACs which happen to be on two of the ADC lines as alternative functions, and it *just so happens* that two more of the ADCs *happen* to have alternative functions “CANTX” and “CANRX”.

my feeling is: someone at ST has been reading the SAM3XE datasheet… :)

anyway with the caveat that it’s *ONLY* the published functions, i’ve managed to get compatibility with *both* the Arduino r3 *and* the Due. thanks to someone on here who spotted that i missed the r3 compatibility on account of starting from the Arduino Reference Design and arduino.cc *didn’t keep it up-to-date* grrrr…


It really comes down to the potential Sales and commercial profitability. The Chinese market might be far more important than Western sales.
I would guess that Uno clones sell by the 100000. Mega clones by the 10000. Due clones by the 1000.
You only have to look at the membership numbers of this Forum. STM32 popularity is less than the “official Arduino” boards.
There are probably more Teensy3.x sales. Mostly down to good support from Paul Stoffregen. (this is more important than hardware cost)

yehyeh. i’m a bit lucky – part of why i’m even considering this at all – is grumpyoldpizza’s arduino port which covers the STML4 series. but, also, i have a 3D printing project i’m doing (and will be crowd-funding), and want to be able to offer people a lower-cost option. so… partly i will be doing this _anyway_.

lkcl Wed Oct 11, 2017 12:01 pm

ok so thanks to westfw and the people on the arduino.cc forum i’m nearly ready to send this off for prototyping. westfw spotted that the STM32F070 doesn’t have a crystal (and there isn’t a 20-pin crystal-less version. damn). also the LM358D can be dropped and replaced with an LMV321 (not LM321). i’m not going to go back to the CH340G, i like the idea of being able to connect to the SPI interface to get a faster data transfer rate than UART.

so just a little bit more checking – i don’t want to overload my friend at his factory – i’ve just sent him the RD3D (new 3D printing shield) gerbers and BOM, need to make sure the BOM is complete and has everything he needs so there’s not too many questions needed… nearly there!

lkcl Fri Oct 13, 2017 6:51 am

ok so i sent the gerbers and BOM off to the factory, asking for 10 PCBs and sets of components to be prepared: i’ll do the assembly myself, or, more like, i’ll probably just do one at a time until i have one working, then save the remaining components in case a new revision is needed.

i also asked my friend mike to quote for QTY 50 and QTY 200 full assembly, just to see what the cost comes out at. it will be particularly interesting to see if pricing is reasonable / as anticipated. let’s hope so, ehn :)

lkcl Tue Oct 17, 2017 9:38 am

stl47o_10oct2017.jpg
stl47o_10oct2017.jpg (169.24 KiB) Viewed 445 times

ChrisMicro Tue Oct 17, 2017 12:57 pm

Nice looking board. I like this things.
I’m curious if all is working ;-)

lkcl Tue Oct 17, 2017 7:12 pm

[ChrisMicro – Tue Oct 17, 2017 12:57 pm] –
Nice looking board. I like this things.
I’m curious if all is working ;-)

will find out soon enough: one disadvantage of using the STM32F030 is, i now have to write/port/find some USB-to-UART plus DFU support firmware before being able to easily program the L471. yes i have reset and boot0 accessible, yes TX and RX are dual-connected, so i really can actually bypass the 030… we’ll see how it goes.

victor_pv Wed Oct 18, 2017 1:10 am

Sorry I missed it, what is the F030 for?

ChrisMicro Wed Oct 18, 2017 3:24 am

USB to serial converter I guess.

lkcl Wed Oct 18, 2017 4:23 am

[ChrisMicro – Wed Oct 18, 2017 3:24 am] –
USB to serial converter I guess.

yehyeh. i also wired it up to the SPI interface as on the F030 that maxes out at 18mbit/sec and the USB interface @ 12. so you could… once the software’s written sigh… theoretically upload firmware / files @ around a megabyte per second over that.

zmemw16 Wed Oct 18, 2017 11:36 am

maybe st-link, compare with nucleo boards ?
srp

lkcl Wed Oct 18, 2017 12:15 pm

[zmemw16 – Wed Oct 18, 2017 11:36 am] –
maybe st-link, compare with nucleo boards ?
srp

yehyeh, i always got confused, why does that second st-link processor even exist, i always bypass it, wiring up a USB cable to the appropriate pins, directly. then i realised, of course, it has SWDIO etc. wired to it. unfortunately getting SWDIO/CLK across as well on this revision would be too much, even though there’s two spare pins on the 030.

so… yeh, a cut-down version of st-link, advantage being it would have software support. i’ve not used it before though.

zmemw16 Wed Oct 18, 2017 1:34 pm

the nucleo’s show up as 3 interfaces, st-link, memory drag and drop & a serial cdc;
they also show up as pin options in CubeMX or are options in the functionality tree ( left side in pin mode )
stephen

victor_pv Wed Oct 18, 2017 3:16 pm

There is cmsis-dap, which I understand is open source and similar capabilities to ST-Link.
I have seen it used in some Nucleo clones coming from China, but can’t confirm if it provides the exact same capabilities (debugging, serial, mass storage).

ChrisMicro Wed Oct 18, 2017 4:04 pm

Giving the board a built in debug interface would have been another advantage compared to a DUE.
Probably in V2 ?

lkcl Wed Oct 18, 2017 4:12 pm

[ChrisMicro – Wed Oct 18, 2017 4:04 pm] –
Giving the board a built in debug interface would have been another advantage compared to a DUE.
Probably in V2 ?

yehyeh. i just couldn’t face another overnighter ripping up around 50 tracks and doing them again by hand (no push/shove or autorouting in eagle 6…). also i’m on a deadline for Shenzhen Maker Faire, which is the 10th-12th next month. i’ll likely give it a shot when i’ve less time pressure.

lkcl Wed Oct 18, 2017 4:29 pm

[victor_pv – Wed Oct 18, 2017 3:16 pm] –
There is cmsis-dap, which I understand is open source and similar capabilities to ST-Link.
I have seen it used in some Nucleo clones coming from China, but can’t confirm if it provides the exact same capabilities (debugging, serial, mass storage).

thx victor i’ve made a note to investigate cmsis-dap.

victor_pv Wed Oct 18, 2017 6:40 pm

I saw this stm32 version, but may not be for the F030:
https://github.com/x893/CMSIS-DAP

May give you a head start if you can’t find an F030 version. Not sure how large

Sign in to reply