This weekend at the Bay Area Maker Faire, Arduino in conjunction with SiFive, a fabless provider of the Open Source RISC-V micros, introduced the Arduino Cinque. This is a board running one of the fastest microcontrollers available, and as an added bonus, this board includes Espressif’s ESP32, another wonderchip that features WiFi and Bluetooth alongside a very, very powerful SoC.
Details on the Arduino Cinque are slim at the moment, but from what we’ve seen so far, the Cinque is an impressively powerful board featuring the RISC-V FE310 SoC from SiFive, an ESP32, and an STM32F103. The STM32 appears to be dedicated to providing the board with USB to UART translation, something the first RISC-V compatible Arduino solved with an FTDI chip. Using an FTDI chip is, of course, a questionable design decision when building a capital ‘O’ Open microcontroller platform, and we’re glad SiFive and Arduino found a better solution. It’s unknown if this STM32 can be used alongside the FE310 and ESP32 at this point.
We’ve taken a look at SiFive’s FE310 SoC, and it is an extremely capable chip. It was released first at the HiFive1, and our hands-on testing revealed this is a chip that outperforms the current performance champ of the Arduino world, the Teensy 3.6. Of course, with any new architecture, there will be a few problems porting the vast number of libraries over to the FE310, but SiFive has included an Arduino compatible SDK. It’s promising, and we can’t wait to see SiFive’s work in more boards.
Finally, two meme chips together on a meme brand board!
Jokes aside though, that’s actually pretty darned cool. A really fast and open microcontroller plus a really connected microcontroller would let you do all sorts of fun stuff. It’s a shame the whole board doesn’t have more I/O pins, because I’d really like to see something like this controlling robots. Use the FE310 for controlling stepper motors with great time-resolution, and use the ESP32 to boss it around.
This could be really fun. Hopefully the price isn’t outrageous. Though I love that this brings more mainstream support to an open hardware SoC
What’s the processor speed? Amount of memory? Specs seem a bit hard to come by at the moment. How much of an upgrade is this exactly compared to an Uno?
https://www.sifive.com/posts/2017/05/19/sifive-unveils-the-first-risc-v-based-arduino-board-at-maker-faire-bay-area/
320MHz, so about on par with a cheap wireless router. No details on RAM/ROM as far as I can see.
With 3 processors, it’s probably not going to be dirt cheap. It would, however, be a good intro into the world of mixed architecture design.
I’m pretty sure the FE310 has 16kb of ram, 16kb of instruction cache and uses off-chip QSPI flash.
It’s Arduino. Anything genuine will be priced outrageous and then some.
Yup cool. Yet crippled by the Arduino debt : board IO (limited count, supid non-standard pitch between headers), a fake IDE, subpar performance libraries, … For me the biggest turn-off is the “uno-style” board, as the other points can be overcome using other tools.
However, this is a pretty nice board. Still, some questions are still there : how do you interact with the ESP32 ? Is it reprogrammable ? Same goes for the tiny STM32F103, as it would make a pretty cool power manager.
Yeah. The extremely limited I/O is daft. They’ve got 3 different processors on the board with a large number of I/O pins but then just restrict it by only having the basic Arduino shield connector. I guess if it does prove popular then they can make a Mega version for more $$$. This board looks expensive though so that probably won’t happen.
crippled by hugely small amount of ram. 16kB for 300Mhz! like running your current PC with 512MB ram, doable but puny.
16kB instruction cache on risc-v also is equilavent to 8kB cache on cortex-M, as code is twice the size.
No DMA also on any peripheral AFAIK, but that’s in line with arduino model anyway.
I think the four bit (quad) spi FLASH is more of a limitation. The CPU is 320MHz so the FLASH would have to be running at 640MHz to keep up. I haven’t seen serial flash chips that are any faster than 10ns.
Perhaps you’re making a few assumptions? Like one opcode is needed every cycle (unlikely with the cache) and every opcode is exactly 1 byte, and none of the clock cycles are used for command and address to the SPI flash chip.
Caches do wonders here, but you will need 2x cache size vs arm V7-M.
Factually false. The SiFive core supports the compressed instruction set (‘C’) which means a mix of 32-bit and 16-bit instructions. Density is comparable to Thumb. However, make sure your toolchain is set to use it (which was an issue in the beginning).
The FE310 supports the Risc-V compressed instruction extension, which brings it in line with ARM/Thumb2 in terms of code size.
Nope, tested on large code size (gcc, -O2, -Os broken on my toolchain) there is a 20/25% reduction in code size, that’s still 30% bigger than thumb2 (original code is is 80% over thumb2), and you get performance hit too.
This code size is the biggest caveat for riscv in deep embedded world. The other one is that the core is optimized for size and not perf (in term of synthetized hw speed, not sw exec), which is rather dumb given that code size issue.
Then fix your toolchain instead of deriving conclusions based on it.
I remember when eight-bit microcontrollers were useful for things… also, get off my damn lawn.
“LOL he’s using 8 bits to store 1 bit of data”
https://en.wikipedia.org/wiki/Motorola_MC14500B ;)
micropython available for both of these. should be interesting…
Python sucks for microcontrollers, what about Javascript? http://www.espruino.com
Sucks just as much, but it’s a worse language.
See how unproductive it is to give unrequested, unconstructive criticism?
Javascript? Have you ever left a tab open on your computer, only to come back and see that tab now owns half a dozen gigabytes of memory? :P
what speficically is wrong with micropython? I’ve used it, seems okay, but I wasn’t doing any really low-level stuff.
That looks interesting but it doesn’t look like JavaScript except for the dotted notation. JavaScript normally has some form of object model. This implementation has an API so I assume there is no object model and it more like a straight procedural language.
It’s still “interesting” though. I often use JavaScript in a browser when I need a complex graphical output from some fairly heavy (interactive) number crunching as browsers are fairly well optimized for running JavaScript efficiently and a browser has reasonable graphics rendering ability.
Look again. The Javascript in Espruino is very much Javascript. Event driven and all.
As for memory the memory usage of Javascript that is not a language problem, that is a web page coder problem.
The Espruino Javascript runs in a very small space for example. (Yeah, I know it’s huge to C and assembler coders but that is another story). It need not leak memory any more than any other language.
Still holding on to that dumb ass spacing on the header I see… *sigh*
You can’t do much about that now. If you fix it then all the Arduino shield boards out there won’t fit properly. If you fix the spacing then you might as well redo the entire connector system.
Isn’t that just perpetuating the problem? I don’t see it as a problem, old shields can either be modified or just used with old arduinos and new shields can be made with the new header – which can either be modified for old arduinos or just used with new arduinos.
Agreed, an adapter would be trivial.
You’re right, we should’ve kept using the PS/2 port on computers.
Or the 3.5 mm audio jack? Too soon?
Too soon. Not many products have been crippled yet.
1/8th-of-an-inch jack is still around. Not going away for at least another decade.
We still have it and we definitely have to keep it.
They retained PS/2 at the same time USB came out.
Arduino might do a similar thing but the trick would be to ensure shields didn’t just use the old headers at the same time; not a problem USB vs PS/2 faced.
Recently I was involved with a company that had troubles – their approved configuration required a certain motherboard – an in-house design – that used the PS/2 interface, but they are running out of companies who will even build a PS/2 keyboard. Life sucks for FDA regulated equipment makers. Too bad they only had a couple decades to avoid this.
And it is not possible to use an extra USB card with that mainboard?
I’m sorry for using an imperfect example, I should’ve known it wouldn’t get the point across unless it was a perfect 1:1 comparison. *sigh*
The Uno form factor is one of the easiest things to fix.
Just pop it 10 ton hydraulic press then burn it with an oxy acetylene then hit it with an angle grinder and then irradiate it with plutonium and then it’s form factor will be at it’s best ever.
And now I have a good idea of what you’ll do to a PiZero if you ever get the chance. :P
This board needs some analog peripherals….at least an ADC. I wonder if they’ll use the ADC on the ESP32 or the STM32F103…or none.
It would be nice if they include in newer versions of the FE310 SOC an ADC, a USB peripheral, and an FPU. With these three things, the RISC-V CPU would be complete enough in my eyes……The ADC is probably the thing that is most badly needed…..
I know that it is harder/more expensive to fabricate a digital SOC with an analog subsystem…..but it has been the norm for well over 30 years now.
It would be sufficient to make the F103 ADC accessible.
Oh my gosh! Cant wait to see that beast with Black Magic Probe (https://github.com/blacksphere/blackmagic/wiki) firmware on the STM. BMP is da#n cool thing on its own (theres also a port for that cheapo SWD programmer dongles) but in combination with the other hardware… puhhh wet pants!
Is it 5 volts or 3.3?
The previous one used level converters to shift 3.3V to 5V for compatibility.
They are just embarrassing themselves now.
I…I am quite appalled by this. The STM32F103 is pretty beefy and full of features on its own, and yet they relegate it to nothing more than a USB-to-serial? And the ESP32 is just used for WiFi and bluetooth, when it can do so much more, including running a NES-emulator all on its own!
I really want SiFive to succeed but they are also painful short on detained information about the chips they had made. I’ve tried asking using their forums but I have not received any response about it. :(
Have you ever been disappointed by development boards that need only one toolchain? Have we got the board for you!
Quick_Start_Software_Setup_Guide.pdf (273 Pages)I’ve seen some “tests” comparing the E310 with AVR, ARM Cortex-M0 ect ect that I believe are a little biased since the E310 lacks some basic on chip peripherals that are standard in others, so depending on the types/conditions of tests and what exactly they were measuring, they could get different biased results, for example in the case of power consumption when the other microcontrollers are more rich in peripherals and some of them are powered up by default. Apart from that, why test it against low-end ARMs or the 8-bit AVRs? This is supposed to be a 320MHz clocked microcontroller, so a test would make sense with microcontrollers of similar levels (they do exist).
As for the Arduino Cinque, the inclusion of both an STM32 and an ESP32 is just an overkill with respect to power consumption. I am sure they could find a better solution but maybe they are rushing to get something initial to the market in order to make their product accustomed to the public.
I personally believe that some basic peripherals like an ADC & DAC, a bigger on-chip FLASH (they now have a One Time Programmable 8KiB memory for a microcontroller running @ 320MHz) and some DSP/FPU functionality would make this SoC more usable.
yea, i’d rather buy an STM32F767 NUCLEO if i need a beefy controller with arduino headers.
320mhz!!! External flash with xip!!! 16kB ram????
Awesome! Can’t wait to put my hands on this!
I’m still waiting for the Arduino Primo, which was announced about this time last year (and still not shipping from anywhere, as far as I can see.) :-(
That’s a Frankenarduino.
Powerful, yet braindamaged.
+10 ROFL
cant wait to make a led blink with this 599$ board
The comment section…
How it feels like to chew 5 gum.
A recent RPi (Zero W) is even more powerfull an will be, for sure, far cheaper. Maybe power consumption of this board is lower, but Arduino was never about power efficient designs. I dont see why Arduino wants this arms race.
when are these boards available to buy? and information anyone?