Future of arduino

I think arduino needs to make some changes. There are a LOT of people wanting a higher power arduino and people are making arduino clone boards with better processors. That's great but as people make their own boards there isn't a "default" board. So making shields for these other boards is going to be very hard. What I think arduino should do is continue the arduino line they already have and make a new line. Something like arduino max.

If there were two arduino product lines they would still have a product for people who just need basic power and a line for people who need large amounts of flash space and I/O pins.

So what do you think? :-?

Of course, not every possible idea can be neatly implemented as a shield on the standard Arduino risers. If you want more space for power components, then make the Arduino part into the shield, and make your project accept the Arduino as a child. This approach works well with Arduino Mini and the clones like BoArduino. You can also just unsolder the standard Arduino risers and replace them with header pins going downward. I don't see the problem.

The problem is not that there are not the needed amount of tie points it is that there is a small amount of I/O ports and flash memory.

Those are peripherals. Input and output ports can be extended with known multiplexing devices. Any type of volatile or non-volatile memory devices can be addressed serially.

Every part on the board increases cost to every user, whether they need it or not. Many projects don't need the above-mentioned peripherals. The base board should have what almost every user needs.

jeffonfire: Have you maxed out your Arduino memory yet?

Have you ever tried to make a simple 3d printer with it!!! Or drive a graphics display?

The software and storage benefits of using a desktop computer as a CNC controller have always been significant enough for me to never consider using a microcontroller instead. I use Mach 3. A computer works really well for driving graphics displays too. :slight_smile:

I can't run Excel on my arduino either :wink:

But yes I have driven graphical displays and done 3d rendering with the help of atmega168. In the case of the printer you offload the logic on to the PC with the thing to print and limit the arduino tasks to x/y/z position management and "pen" selection. You can control steppers with two pins per stepper, plenty of pins to spare.

And folks here do graphical displays all the time. You can buy an SUV sized chip, but that doesn't mean you need one. And some of us don't think it is a good fit for arduino because of the complications that it adds for newbies.

Arduinos "Core strength" IMHO is that it makes it easy to get started and having to select a CPU just to get started, then pounding your head against all the stuff that doesn't work with that particular CPU, is not conducive to that strength. Arduino will evolve into an elitist "only folks who already know a lot about all kinds of processors" platform, whos users don't really need arduino to begin with, if great care is not put into the processor selections.

Jeff, what you want may already be available, check out the sanguino: http://sanguino.cc/

And if you need something beefier than that, have a look at the wiring i/o board:
http://www.wiring.org.co/hardware/index.html

If those don't fit the bill and you think a LOT of people are wanting capabilities not available on existing boards, why not draw up a spec and see if you can convince one of the many companies selling arduino related products to invest in its production.

IMO, one of the key reasons for the arduino success is that it has focused on simplicity and low cost rather than power and flexibility.

I trust that as the arduino team bring out new and more powerful products they will do so keeping the arduino simple and affordable.

Actually I contacted SparkFun about making one but they aren't doing lots of development right now. The main reason I want arduino to design one it to establish a default to make standards for bigger shield sizes.

I have know about Sanguino for months.

Since you don't believe me that there are people who want higher power arduino's just look at this:USB 32-Bit Whacker - PIC32MX460 Development Board - DEV-08971 - SparkFun Electronics

and this :Antipasto Hardware Blog: How would you change the Arduino?

I am not saying to get rid of the existing arduino I am saying start a small bonus product for people wanting more power.

"I can't run Excel on my arduino either" Funny!

I think that the Arduino is pitched right where it should be in terms of complexity and functionality.

The design is simple enough to put together on a breadboard, and for many newcomers, young or old, it might be their first introduction to microelectronics. If it were any more complex, it might deter the beginners.

The wealth and extent of code libraries available is proof of the creative talents of developers when they give their support to an open source platform. It is this momentum of creativity that has given the Arduino project such a boost compared to other small microcontroller based boards.

Of course, in time, some will outgrow the resources available on the humble Arduino board, and perhaps these folks will take up the challenge and produce a design based around a more powerful processor - such as the Sanguino. However this will mean a more costlier design, and one that is perhaps not so easy for newcomer to work on.

It is a relatively straight forward operation to port the design to a larger microcontroller, offering more codespace, more RAM and more I/O pins - perhaps something like the ATmega1284P which has been discussed elsewhere on this forum as a possible contender for the Sanguino variant.

It seems that the ATmega1284P has had production delays and may only be released initially as a 44pin TQFP rather than a 40 pin DIP.

G

I agree with MEM "arduino success is that it has focused on simplicity and low cost".

As for new more powerful hardware, I think we will see the vendors maximize what is doable for $10 USD to $35 USD.

My best guess is that an ethernet equiped Arduino will come out shortly for about the same price as the USB units.

Since applications vary widely, we may be a the point of needing a slightly larger format to accomodate more i/o.
Getting agreement on this format is going to be difficult.

as much as i love arduino, and i can see how the sucsess of it is in no small part due to its simplicity, i have on more than one occasion run out of I/O pins. i know there are techniques to resolve this using multiplexing but i would like to see more boards like the iluminato
http://liquidware.com/shop/show/ILL/Illuminato
that has loads of I/O pins but is virtualy imposable to get hold of, partly becuse of the HUGE demand and partly because i live in the UK and shipping prices are virtually the same as the thing its self.

Good points made by all. The great thing is that being open source based the Arduino org does not have to take the lead on expanding the hardware base, the vendors and various contributors are doing that well already.

The IDE is easily modified/expanded/configurable without the official Arduino team having to lead the way. For example the 328 chip has been available and usable on a (modified) Arduino IDE well before the official blessing via version 13, and of course the 644P can be made to work which still lacks 'official' status.

As long as the Arduino team continues to keep the IDE development open and well documented there is no barrier for various people to expand the hardware base, it's already happening.

Keep up the great work.

Lefty

I would love for the arduino core to be more welcoming for different hardware. Tried to make a thread once about a interface solution, so that any kind of atmel could've been used, but it would've implemented the arduino functions in a platform specific manner.

Anywho...

I just felt like pointing out that the multiplex method often steals quite a bit of flash and sram space. So it is often not such a good way of expanding i/o. (my reasoning tells me that the need of expanding pins is often due to big projects, which surly needs all the space it could get flash/sram)

I would love for the arduino core to be more welcoming for different hardware.

What would be the benefit of that?

Arduino is quite streamlined, every board has pretty much the same CPU, same basic functionality, etc. If you start supporting different hardware, you open a huge can of worms. For example, which libraries work with which cores? And you can't expect an open source contributor to test their libraries with every permutation it should work with. Add to that extra bloat in the environment and maybe the bootloader, and you have a much less efficient platform.

It's like the difference between Mac and PC. PC's support a huge selection of hardware and software including a ton of legacy support, but that contributes a lot of bloat and system overhead. Macs have a very small selection of compatible hardware and software, but not having to support so much makes it a much more streamlined environment.

I would love for the arduino core to be more welcoming for different hardware.

What would be the benefit of that?

As you say, compatibility issues would be extreme.

But ... I WOULD love to have an arduino-like environment for a much broader base of CPUs, even without much in the way of implied compatibility. Arduino has succeeded in creating a sort of abstraction of your basic microcontroller that is easily applicable to nearly any hardware, and that's very attractive. Frankly, the hoops you have to jump through to put up, say, an evaluation environment for a Cortex M3 ARM eval board are quite daunting. It would be SO sweet do download an arduino-equivalent self-contained app that would immediately run similar looking sketches...

I think it's similar to the way most vendors now provide and/or support a C compiler rather than an assembler. An environment like arduino that provide standard functions for common purposes is the next step... (in contrast, Luminary provides a substantial C library for their ARM CPUs, capable of manipulating all their peripherals and such. But I'm pretty sure it doesn't look much like Freescale similar libraries for Coldfire. And they're both HUGE.)

I always say that the Arduino IDE and language is, for me, the key success factor of the Arduino project. If we can have one universal Arduino IDE to drive a multiplicity of MCUs (cortex, ARM, PIC, AVR, XMEGA, AVR32, Freescale and so on), it would be paradise!

Soldering a cortex-m3 MCU to a board with the Arduino format and dimensions, doesn't make the board a DUINO, not until the ARDUINO IDE and language supports it.

I doubt it can happen in the near future, because Arduino is a Paradox... you need to be open (publish the specifications) for better adoption and marketing, but at the same time you need to control the evolution of both the software and the hardware, exactly like Linus Torvald still controls what goes inside and what remains outside of the Linux kernel. No order => caos.

Just my Friday night philosophy...

I would love for the arduino core to be more welcoming for different hardware.

What would be the benefit of that?

What would not?

By 'welcoming' I mean that the arduiono 'experience' should not be restricted to Atmega(16)8 [and the wellknown alternatives].

I think, the hardware should remain as it is - SIMPLE! for otherwise i dont think i would have ever done anything with a microcontroller. However i think the IDE should look at some kind of support for other microcontrollers. That would be bliss. Then I can choose a PIC / ARM and code it in a flash. Arduino PIC IDE ? :wink: anyone trying to do something?