Go Down

Topic: Does Arduino have a future? (Read 44046 times) previous topic - next topic

jmontse

I think that the success of Arduino up to now is mainly due to the "easy of use" of its IDE and the libraries available.

  If the future of Arduino is to release new products , like the DUE, with  scarce libraries available despite the long period of time since DUE release,  then I fear that  the future will not be quite successful. 

  Fist complete the DUE work, demonstrate that Arduino can deliver complete HW+SW  and then go with THREE for minorities.

jma

ODwyerPW

#31
Oct 17, 2014, 10:40 pm Last Edit: Oct 21, 2014, 11:17 pm by ODwyerPW
With DUE, Arduino went the cortex-m3 route; with TRE, they are going the cortex-a8 route; with Galileo, they will go x86 route. Lots of Cores/ISAs to keep straight; whereas UNO and it's derivates stayed the AVR course.

But I like to watch what 3rd part folks are doing. Take Atlas-Scientific for example. They build embedded circuitry for interfacing sensors to microcontrollers. Years ago you could find sample code for mbed and arduino uno and mega.

Fast forward and look at some recent developments: Now we have ARM kind of sorting opening up mbed and announcing development of mbed os v3.0.  We have Arduino playing with Cortex-M* ARM architectures. Guess what Atlas-Scientific's response to all of this development has been? You guessed it. Look on their website. No more mbed code samples. Their Arduino code samples are still just for UNO and Mega with no DUE (Cortex-M3) examples. It's still 8bit AVR from this supplier. In fact, they've recently modified and relaunched many of their products (under the EZO name) to include I2C functionality. And guess what? You got it, their code samples are still just Arduino Uno and Mega. They'll leave it up to you to make it work with the other stuff.

UNO/AVR is stable and well understood. That may be what folks are going to continue to use.  That's key: solid hardware/software support (ie. libraries, working features and documentation).

These Atlas-Scientific guys have a production facility in Flushing NY (not a cheap location). They sell allot of product. And they are saying to everyone who buys their product, "Hey, here's how you can get this to work easily with Arduino UNO. Here's some good C code that works with that tried and true architecture". That's a real testimony to what Arduino has accomplished with the UNO and it's AVR family.
Quiero una vida simple en Mexico...nada mas.

daniellyall

Arduino will always have a market in the low end of speed requirements for uno and such like I am about to start a new project using  an arduino as a high end laser controller because its all I need, I could use Ti boards or what ever but at this stage it will be a wast to use them as the arduino has enough grunt to do the job for know

vaclav

Very bleak after this latest improved web site which keeps telling me I have unread personal messages belonging to someone else. I did not read them, deleted them and it is still telling me I have them, but there are none in the box.
Since they only care if I post  unformatted code snippet nobody will read this anyway.
So why bother speculating on future. It is the present Arduino inc.  should be concerned.

PCWorxLA

The AVR based Arduinos will still be around for quite some time. While the ARM based ones provide more processing power, those more powerful chips are also more power hungry, making it much harder to impossible to use them for anything intended to run for longer time powered by batteries.
And the lower voltage levels make them more susceptible to any kind of burnout and much less flexible in terms of power sources as the quite robust AVR based boards.

Yes, the IDE could use a bit of a 'face-lift', there are a lot of little features that people seemed to have implemented themself which the Arduino folks don't think is worth to pick up and integrate in the mainstream release.
Kind of curious as to what the ways are supposed to be to program the Tre or even more so, the Zero, with its integrated debugger chip. I seriously hope they do not expect people to use Atmel Studio, with the behemoth of Visual Studio core underneath and the loss of cross-platform use of the current Arduino IDE...

Ralf

vaclav

"Yes, the IDE could use a bit of a 'face-lift', there are a lot of little features that people seemed to have implemented themself which the Arduino folks don't think is worth to pick up and integrate in the mainstream release."

As long as same outfit who done the web site does the job, their future AKA having a job ( to fix things) is safe.
Not sure about the "product". 
So far my new Due is working as expected, but the compiler could use some help to speed things up.

AWOL

So far my new Due is working as expected, but the compiler could use some help to speed things up.
Again, Vaclav, you're complaining in the wrong place.
"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.
I speak for myself, not Arduino.

technix

I have 4 Arduino boards, Uno, Leonardo, Mega2560 and Due. I bought them when I was thinking about go back to microcontroller tinkering. However the community quickly bored me out as the project seems half dead, libraries I want to use seems unmaintained, and when a problem arose it is up to myself. I am a student of CS major so I am far from helpless when those issues came to me but after I lose some hair figuring that problem out I still got no support.

The boards themselves are really nice - I have even designed an RFID authenticator that would enter your password for you if you can identify yourself using RFID based on Arduino Leonardo. I think the problem here is the software is lagging behind.

Just a wild suggestion, is it possible to redesign the entire software stack, using newer versions of base libraries and reinvent the entire user-friendly interface stack?

westfw

Well, they DID redesign a bunch of the libraries to work on top of stream. (or below?  Inherit from?  idk...)
That was a pretty significant and useful change.

Quote
reinvent the entire user-friendly interface stack?
What did you have in mind?  The way things look to me, the Arduino stacks are equal or better (but more limited) than vendor-provided libraries like CMSIS, ST Peripheral Library, TI Tivaware, and etc.  (most of which seem to provide all of the bloated overhead of Arduino, without providing any simplification.  Sigh.)

technix

Well, they DID redesign a bunch of the libraries to work on top of stream. (or below?  Inherit from?  idk...)
That was a pretty significant and useful change.
What did you have in mind?  The way things look to me, the Arduino stacks are equal or better (but more limited) than vendor-provided libraries like CMSIS, ST Peripheral Library, TI Tivaware, and etc.  (most of which seem to provide all of the bloated overhead of Arduino, without providing any simplification.  Sigh.)

Here is what I have in mind:

Some things should be left behind.

This current IDE approach is helpful for beginners but is burdensome for anyone that went beyond that level, and the IDE itself is not really helpful enough. So this Processing-based IDE should be ditched and a new one should be created.

The existing libraries actually posed a learning curve for both newbies and experienced programmers as it deviate from the common programming environment so much, especially anything that derived from the Print class. My suggestion is POSIX-ify the library API.

Some things should be created. A new IDE should be created as the old one is no longer useable. I have checked that some LLVM fork have AVR support so a clang-backed IDE with way better language sensing can be built. Xcode is an example of an clang-backed IDE and Apple released all required features as part of libclang.

A new set of POSIX-styled C-based API should be created. This will allow existing programmers migrate from desktop environment with very few burdens, and allow newbies started from Arduino migrate to desktop more smoothly.

Also, libraries should be really libraries, i.e. in the form of an UNIX static library archive and linked using -l flag on GCC.

westfw

Well, I disagree pretty completely.  If you want to program a microcontroller with a real IDE and posix-like libraries, you already have plenty of choices.  Arduino is and should be different.

It WILL be interesting to see how debugging is handled on the Arduino Zero...

technix

Well, I disagree pretty completely.  If you want to program a microcontroller with a real IDE and posix-like libraries, you already have plenty of choices.  Arduino is and should be different.

It WILL be interesting to see how debugging is handled on the Arduino Zero...

At least a real, quality IDE is a must-have. This will at least get the code sensing right, and maybe provide some tab-completion and coding hints. keywords.txt is not the way to go.

If you like the current set of libraries the new IDE can work with it, after some library precompiling as it will require libraries being precompiled into archives before linking with your project.

bombasticbob

This current IDE approach is helpful for beginners but is burdensome for anyone that went beyond that level, and the IDE itself is not really helpful enough. So this Processing-based IDE should be ditched and a new one should be created.

The existing libraries actually posed a learning curve for both newbies and experienced programmers as it deviate from the common programming environment so much, especially anything that derived from the Print class. My suggestion is POSIX-ify the library API.

I disagree.  I'm an old-school programmer, do lots of Linux and BSD 'kernel level' coding, and don't see any issues with the Arduino libraries or IDE, other than the usual 'quirk' things that pretty much everything has these days.  You just learn to work with the quirks, like surfing or sailing, 'work with it' don't fight it, and you'll get a lot accomplished.  FYI I picked up on it pretty fast.  It's much easier to learn 'new' than lots of things.  It also works in college courses [I know someone who uses Arduino in his classes].

Some things should be created. A new IDE should be created as the old one is no longer useable.

Uh, no.  but you're welcome to use 'Makefile' based environments for your own project, or ATMel Studio, or anything else.  I find the IDE to be useful enough.


Also, libraries should be really libraries, i.e. in the form of an UNIX static library archive and linked using -l flag on GCC.

If you study how the libraries work, and WHY they are compiled from source for YOUR board/project by the IDE, you'll see why this isn't practical.

I'm currently working on an Arduino IDE extension to support ATXMega processors.  My project is here:

http://github.com/XMegaForArduino

In short, it is possible to EXTEND the existing IDE by creating your own 'core' and 'variant' files for your CPU class, and your board.  That's something that was left out in your desire to re-write.  Why not just BUILD on what's been done instead?  that was the point of my project, to simply let you copy a few files into the directory tree, make some minor changes to things like 'boards.txt', and possibly patch the gcc compiler and avrdude to support your stuff, and now you can use Arduino's IDE to build for Uno or "your board", as needed.

OK making THIS part EASIER would be nice.  "Add new board type" for example.  Patching things like gcc and avrdude are easier on non-windows OSs, so a way to upgrade JUST the compiler would be nice, too [without having to do what I'm currently doing, create my own build environment under cygwin for the compilers and tools and patch them accordingly myself so they'll build/run].  But that would be UPGRADING, not RE-DOING.  Wouldn't that be better?

Arduino is an AWESOME prototyping tool for testing electronic designs.  At some point after you've built something with an Uno you might say "product-ize it" and then you design your board with your choice of CPU.  Sometimes this may need an IDE update (like if you chose to use an ATXMega32E5 because it's twice as fast) but the fact is that YOU! CAN! DO! IT! with the existing IDE, if you want to.

So why break it?  Why re-do it?  Too much work.  I'd rather build cool toys with an Uno.

westfw

Quote
At least a real, quality IDE is a must-have.
Too bad they don't seem to exist.  I haven't seen an IDE yet that doesn't have a large contingent of people complaining how awful it is.  The Arduino IDE at least succeeds at its goal of being "simple"...

Riva

Too bad they don't seem to exist.  I haven't seen an IDE yet that doesn't have a large contingent of people complaining how awful it is.  The Arduino IDE at least succeeds at its goal of being "simple"...
I find a combination of Notepad++ (NPP) with the Arduino IDE works well. I have added most of the Arduino keywords to NPP so it highlights syntax and also added a run command to launch the IDE with link to the current saved code in NPP. The main PITA is the IDE insistence of putting sketch inside a same named folder as it make creating a new sketch that little more cumbersome. I was hoping to dispense with the IDE altogether by using Arduino Builder but it refuses to work on my main PC.
Don't PM me for help as I will ignore it.

Go Up