Does Arduino have a future?

In 2005, Massimo Banzi needed a teaching tool to introduce students to electronics and the result was Arduino.

Now, in 2014, it is not clear where Arduino is going. Here is a quote from Massimo Banzi.

We’re working on the Arduino Tre, which will be a super small Linux machine, kind of like the Raspberry Pi, that can work with a screen and a keyboard. But even simpler than that, because we want people without a lot of experience in technology to be able to just plug it in and use it. Even if they don’t understand Linux yet.

Seems like Arduino is following Pi, BeagleBone, and other companies. Has Arduino lost its way?

There are now many options for hobby electronics. These range from Android devices to Field Programmable Gate Arrays.

I ask this question because I don't find new Arduino products very exciting. I would rather play with BeagleBone Black Rev C than Tre.

There are also totally new areas to explore. I never expected to see a hobby product like Mojo with FPGAs Alchitry.

How do I interpret this mission statement for the future of Arduino?

Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists and anyone interested in creating interactive objects or environments.

Arduino is an incredible success but what about the future?

To start with Arduino, a blinking led is very exiting.
The Atmel chips like the ATmega328 are perfect for a simple job, but the cheap ARM chips are hard to ignore.
I think that a basic and cheap chips will be used, and chips with more and other possibilities will be added. So in my opinion, Arduino will be with us for the next 10 or 20 or 30 years.
The FPGA chips are something else, it would need a lot of work to get those into the Arduino IDE.

In the future a FPGA might be build into a microcontroller, to have the best of both worlds.

It does seem arduino teams goal is to bring new products to market but I feel the support/software for these new devices lags behind. I have had a Duo since it's launch but it has hardly been used. Initially this was because I was not geared up for 3.3V and the documentation/IDE was beta, several months down the line and the IDE is still beta and it seems the takeup/support is not what was (I) hoped. I have since found the Teensy3.1 that seems to be what the Duo could have been.

Maybe we should dust off the old 8051 and it's derivatives and drag them into the 21st century with standardized design/pin outs and IDE.

Arduino will be with us for the next 10 or 20 or 30 years.

Doing what? Like Compaq, DEC, Novell, and many other big high tech companies? This is just a few of the companies I thought would dominate their market for decades.

Arduino feels like a company that is living on its past success. I don't plan on buying a Tre, Zero, Intel Galileo, or any other new Arduino board I know about.

fat16lib:
Arduino feels like a company that is living on its past success. I don't plan on buying a Tre, Zero, Intel Galileo, or any other new Arduino board I know about.

I feel the yun is really worth looking at. Though a yun mega or a yun teensy3.1 would have been a killer

Atmel's AVR chips are falling behind the ARM chips (Teensy, Maple, etc.). They need to start kicking up the clock speed and memory to stay competitive. That's my only concern.

With respect to the Raspberry Pi, Beaglebone, etc., those are not microcontrollers. There will always be tons of situations where just a simple microcontroller is warranted and AVR chips will always have their place there.

Chagrin:
There will always be tons of situations where just a simple microcontroller is warranted and AVR chips will always have their place there.

While I agree that micontrollers will have a place for quite some time, I'm not as
sure about the 8 bit AVRs. I find it increasing painful to deal with when there are other
chips out there that are the same price point like the pic32 that have oodles more
of everything on them, are 32 bit, MUCH faster and don't have the all the split memory
progmem issues.

I mean consider this, if you had your choice, and the cost was the same,
would you pick an 8 bit processor that runs at 16 Mhz with 32k flash, 2k ram, and a funky split
address space where C const data doesn't work
or would you pick a 32 bit processor that runs at 50 Mhz, with 128k of flash, 32k ram,
lots more i/o and peripherals including native USB AND C const data works.

The point is that other much better chips than the 8 bit AVRs are now already available
for the same cost - including in DIP packages,
so I believe that people will start to migrate away from the 8 bit AVRs and eventually leave them behind.

I would bet that if the Arduino were starting to day, it would use a PIC32MX250f128B
rather than the Atmega8.

--- bill

I needed more speed for my projects so I've been testing the DUE, Teensy3, and ChipKit UNO32. I agree that the added power over the original Arduino's is an advantage. The fact that they are Adruino "compatible," can use the large number of arduino libraries, and user experience base, gives them an advantage over "non-compatibles." For example, the much smaller user base for ChipKit has made it harder for me to use this board.

The Galileo will need to develop a user base pretty much from scratch. The TRE is somewhere in between. I'm waiting to see how Arduino compatible the TRE user interface is. I have not see a review of the BeagleBone part of the TRE board. If the BeagleBone is $79, how much more will the TRE be? It's like car companies, they make a cheap Volkswagon Beetle, (I'm old enough to know how cheap the first US volkswagon's were) then over time grow it into a Cadillac. More gadgets I don't need, and more complicated for us less experienced to learn and use. Where does that leave the hobbiest? The DUE, Teensy3, and ChipKits are today's Beetle - a bit faster, a bit more complicated, and a bit more expensive - but still affordable.

I think if it is to have a future then the infamous Uno 'avrdude: stk500_recv(): ' errors need to be addressed. How many new users encounter this issue and don't get a resolution I wonder? And that is probably the last time they spend money on this platform, maybe this hobby.

dannable:
I think if it is to have a future then the infamous Uno 'avrdude: stk500_recv(): ' errors need to be addressed.

I have never seen this problem myself with a genuine Arduino board & drivers. Some of the new platforms like the ST Nuclio present a flash drive to the connected PC and programming is as simple as dragging the compiled file into the drive.

While I agree that micontrollers will have a place for quite some time, I'm not as
sure about the 8 bit AVRs.

I started to use Arduino because I wanted an easy way to work with microcontrollers.

I started using Arduino in 2008 and wrote the Fat16 library for the 168 Arduino with 16 KB flash and 1 KB SRAM. It was just a toy to play with.

Now I want a microcontroller like Cortex M4 with more power than AVR but not an application processor designed for "hosting a rich OS platform" like the Cortex A series.

I have been developing a new FAT file system using STM32F4 processors. The difference in capability over AVR is overwhelming. I tried to love the Arduino Due when it came out but couldn't.

Here are two examples.

The ADC on AVR Arduinos run at a max of about 10 ksps with analogRead. You can increase the clock speed and get fair, not full 10-bit, accuracy at 40 ksps. Low end STM32F4 ADCs can do 2.4 msps, about 60 times faster than AVR with 12-bit accuracy and very flexible DMA. High end STM32F4 chips can run three ADCs interleaved for 7.2 msps.

I am developing a new file system for high end embedded processors. The STM32F4 has a good, not great, SDIO controller which can run the 4-bit bus at over 48 MHz. I have achieved sustained read speeds over 20 MB/sec. I have sustained write speeds of 12 MB/sec but this is a limited by the SD card I am using. I have ordered a new Samsung Pro card and hope to write at close to 20 MB/sec.

The AVR can never read or write faster than about 500 KB/sec that's about the best you can do with program I/O on the 8 MHz SPI bus. In addition SD cards don't present their fast commands on the SPI bus, only on the SDIO bus. This means you will have very long occasional write latencies with SD cards on the SPI bus.

The Arduino system software is not adequate for these new chips. You really need priority based pre-emptive scheduling to take full advantage of the features of these chips. Most chip manufactures are now providing a free RTOS solution. ST and Atmel provide FreeRTOS ports, Freescale has MQX, and there are other great systems like ChibiOS.

I really enjoy development with boards like the STM32F4 Nucleo boards. ChibiOS can do about 1.2 million context switches per second on the NUCLEO-F411RE. I am using a Olimex stm32-H407 and it can do a context switch in 400 ns. The 407 has 196 KB SRAM and 1 MB flash.

fat16lib:
This means you will have very long occasional write latencies with SD cards on the SPI bus.

I think I noticed this while working on a recent project and wondered why it happened.

fat16lib I must say that I have had a similar experience with the stm32f4 discovery board. Today I was messing around with some of my camera modules that I own and was amazed on the ease of use. All I had to do was setup the DCMI and DMA peripheral and then I can easily take pictures without cpu intervention. I also wrote a program that does real time sample synthesis that is impossible on the arduinos based on AVR mcus.

To discuss the future of Arduino there should be more transparency about project in development: TRE and Zero.

  • What problems remain?
  • Date of delivery
  • Selling price
  • Progress in library. Remaining bugs.

I have some other remarks :

In the future a FPGA might be build into a microcontroller, to have the best of both worlds.

One built a microcontroler inside an FPGA and not the contrary. It soon exist: Xilink and Altera propose this.

[Quote from: dannable on July 14, 2014, 08:47:36 am]
I think if it is to have a future then the infamous Uno 'avrdude: stk500_recv(): ' errors need to be addressed.

I have never seen this problem myself with a genuine Arduino board & drivers.

You perhaps, but I yes. I buy an genuine UNO R2 in an official reseller and it was buggy : Win 7 and Linux don't recognize it.
At the date of purchase the bug was solved since four months but bugged cards has been sold without correction.

I am convinced that there are three markets:

  • Simple applications where avr 8 bits is sufficient
  • Most powerful applications where ARM is necessary
  • This of some beginners who do not know how to use a microcontroller but absolutely want the most powerful and newest model.
    For this market you need one card but no more, it is useless.

The market targeted by the TRE is absolutely not this of beginners.
I find that in this headlong rush, Arduino abandons its core market to a semi-professional market.
In this semi-professional market it will face the MBED project (NXP, Freescale, ST, and so on.) .
For your information signe on MED , you will discover a true professional environment with a free personal git.
They come from the professional market and they can crush Arduino.
To survive Arduino must not leave the market for beginners and avr.

Three members of forum fit respectively Eclipse, Code Blocks and Xcode to arduino libraries .
Whoever adapted Xcode leaves Arduino to Energia, tired that arduino team does not answer his questions.
So Mac user who want use Xcode will switch to Energia.

Why there has no support from the team ?
The work was done, they had only to formalize and integrate the authors in the team.
May be they do not want anyone in the team to be able to control everything ?

I got two stm32f4, and compared to the arduino, they are very hard to use.

Once I got the thing to work, which took about a year [ I was distracted by other things ], I implemented a lot of the arduino functions on it so I could use the same stuff.

What do you compare :
avr 8bits with STM32 ARM 32 bits
or
DUE ARM 32 bits with STM32 ?

If is the first case I agree with you, but if is comparing carrots with patatoes.

I've just received a Tiva C-Series TM4C1294XL evaluation board from Texas Instruments.. $20 usd.. (I wish the evaluation board included the microSD interface for a few more dollars, but oh well...)
I will see if it is better suited for some of the more challenging personal projects I'm working on where I had originally intended to use DUE.

However, for some really simple projects with commercial application that I'm developing.. 8 bit Arduino UNO gave me the skills and confidence to move to Tiny84a for the release project. Even Tiny84a is more powerful than I need, but I'm sure I would not have stumbled upon this little guy, if it weren't for diving into Arduino and the DUE 18 months ago.

I've just received a Tiva C-Series TM4C1294XL evaluation board from Texas Instruments.

Looks like a nice board.

This is great, the major companies are all building boards that can compete with Adruino and are talking to users.

We are looking forward meeting Makers and showcasing the MCU LaunchPad development ecosystem at Maker Faire Bay Area in San Mateo, Calif.

These companies are also working with universities to provide better tools and products for labs.

It's intended for artists, designers, hobbyists and anyone interested in creating interactive objects or environments.

For this market, a product has to be "right-sized." The Duemilanove with m168 was about perfect for a lot of things; the m328 versions added additional memory space "for free", so that was OK too.

The next question is "what else will people pay for?" Arduino MEGA? Networking? Depressingly overpriced in the Arduino arena, IMO. But a lot of those "art" and "design" projects seem to have a weird budget model (compared to "hobbyist" or "commercial" anyway.)

After that, perhaps "how much can be improved at the same price points?" I haven't been inclined to do much with MEGA or Due, but I have some Teensy3 modules, ChipKits, and m1284 boards. They're swell, I think. Arduino Zero might have potential.

Things like the RPi, BeagleBone, ST, NXP, and TI ARM boards have always bothered me. As a hobbyist, they're OK. But my theoretical "goal" is small scale production of custom electronics (say, 100 to 1000 boards?) With a mega328-sized design, I can easily plunk down the "meat" of an arduino on my own board design, assemble them by hand, and be done. For the small pitch parts on the "more powerful" designs, I don't think that there is any way I can duplicate the cost of the sold boards with my own board, by the time I do the 4+ layer PCB and contract assembly. Maybe I shouldn't care, and using vendor-subsidized
modules with questionable product lifetimes and licensing issues is the way to go. :frowning:

I watched with some amusement and horror as linux system administration issues on RPi and BB replace the programming and electronics issues people have with Arduino/etc. :frowning:

I'd like to see an OS that is closer to Bare Metal for BB and RPi. Or an OS for Teensy/NXP/ST/TI that is better than the current bare metal, without sacrificing the "ease of use" of the Arduino libraries. But I don't think that either one exists yet. :frowning:

Small simple projects will continue to use the bare metal approach. An OS makes little sense for under 32 KB of program space. A simple development environment is adequate.

For larger DIY/hobby projects using 32-bit processors there are now many hardware options and the future will bring many more. It would be a shame to be limited to choices made by the Arduino company.

About 30 years ago big science faced a similar situation. From the late 1960s to mid 1980s DEC (Digital Equipment Corp) minicomputers dominates control and data acquisition in large science experiments. DEC supplied the software environment with systems like RSX/M, a real time system, and VMS for larger VAX machines.

Around 1985 single board computers based on the MC68000 and other microprocessors started to be used There was no standard OS for these boards.

Fortunately two of my friends, Jerry Fiddler, and David Wilner, had left the Lab in 1982 and founded Wind River Systems. Wind River developed VxWorks which is a flexible RTOS that can be targeted to a wide variety of processors. VxWorks became very popular in large physics experiments, space experiments like the NASA Clementine moon probe, and the Mars landers. This defacto standardization was really important for big science at that time.

UNIX on SUN and other work stations became the standard OS for operator consoles and other non-real time applications . Linux is now the best choice for boards like Rpi and BB that have Cortex Application processors.

The problem is that there are too many RTOS choices for micro-controllers like Cortex M and PIC32. Many companies are supporting FreeRTOS but it is not technically outstanding.

I like ChibiOS/RT but it only has great HAL support for STM32.

I think Arduino is like Digital Equipment Corp and will fade in the same way. There will are too many other outstanding hardware options and there will be even more in the future.

There is not an obvious software solution for DIY/hobby users. FreeRTOS supports a wide variety of hardware, just look at this list Microcontrollers and compiler tool chains supported by FreeRTOS. FreeRTOS is just not very exciting.

Too bad it is so easy to build a little RTOS kernel, this means there are many half baked RTOS systems instead of a project like UNIX and it's follow on, Linux.

westfw is right, the problem is the proper OS for DIY/hobby users.

Or an OS for Teensy/NXP/ST/TI that is better than the current bare metal, without sacrificing the "ease of use" of the Arduino libraries. But I don't think that either one exists yet.