The ATXmega16A4-MU is approxiametely the same price as the ATmega168-20MU family.
It offers twice the RAM and 50% more IO pins.
The architecture offers some exciting new features which should reduce housekeeping overhead for program sequencing and interrupt handling.
Is there any activity to develope an Xmega Arduino?
Yes, but bear a few things in mind. By taking advantage of the newer hardware features we reduce the compatibility with the existing Arduino. And we add a lot of extra conditional code management in the IDE. Moving to an ATmega328(P) will be straightforward because the same peripherals are in place, but with the new Xmega we need to understand how, or even if, we can use the event system. How should we approach the DMA, and how we should approach the allocation of various peripherals. If you look at the peripheral mapping you will see that some of them are conflicting and so creates a vast number of issues which need to be resolved.
torontogeek: Should that be a valid holdup? The Xmega is backwards compatible with ATmega code. I thought the idea of Arduino shields was to have a general purpose processor module that users could then enhance with shields to accentuate a desired hardware aspect. The only hardware utilization the Arduino should be worrying about is the ISP and bootloader pins.
Have you verified if avr-gcc supports this part? that is the first thing to do before porting arduino to a new processor.
You can always add the support yourself and submit patches, i'm sure they will go into the next release of arduino (if they don't break previous code)
You can also design your own arduino compatible board starting from our files that are available...
My personal opinion (therefore not an official position of the Arduino team) is that it is very natural for Atmel to make a new processor every six months in order to compete with the other manufacturers and I'm sure each processor has a cool feature you want but if we start making 20 different "Arduino" boards it becomes quite complicated for inexperienced people to figure out which one to use..
Make a design, patch the sorftware, share the patches and the design then let the users give you feedback and let's see what people think.
My personal opinion (therefore not an official position of the Arduino team) is that it is very natural for Atmel to make a new processor every six months in order to compete with the other manufacturers and I'm sure each processor has a cool feature you want but if we start making 20 different "Arduino" boards it becomes quite complicated for inexperienced people to figure out which one to use..
massimo
You are correct that Atmel's marketing depart produces a new AVR every week or so it seems; however: those are minor variations to the basic chip design (i.e for motor control or LCD support, etc).
The Xmega is a major change to the design which may provide major speed improvements and code size reductions.
Make a design, patch the sorftware, share the patches and the design then let the users give you feedback and let's see what people think.
massimo
Isolated designs will not produce a mass produced low cost platform.
We should approach Atmel as a group to produce a new Butterfly that is arduino compatible.[/b] In order to gain market acceptance of this new architecture, Atmel may even assist us in the port if we ask. Once this hardware platform is available, a simple port using a few of the new architectural features would give a better change of successful acceptance by the Arduino community.
Isolated designs will not produce a mass produced low cost platform.
Yes but if somebody makes a good design it can be made into an official Arduino board with many manufacturers willing to make it in large numbers
Once this hardware platform is available, a simple port using a few of the new architectural features would give a better change of successful acceptance by the Arduino community.
The Arduino community has opened up a lot since its inception , there are beginners and more advanced users... the balance of functionality versus user experience is tricky to keep.
I keep seeing new "prototyping paltoforms" being made and some of them are uttely complicated (and ugly) so striking the balance we got with Arduino is always a big challenge though an exciting one.
having said this I'm keeping an eye on the xmega as a natural evolution path.
PS: lobbying Atmel is something that is on my list but I'm waiting for a couple of events to happen
Maybe the Xmega Arduino could have that pesky 8-13+GND+AREF header moved back onto 0.1" centers so we can use normal perfboards as prototype shields...
The xmega looks interesting just because of increased memory, even if the extra peripherals and stuff are ignored, but it doesn't seem to be very "real" yet - no stock at digikey or mouser, for instance...
I'm inclined to agree that "arduino" should be kept as a relatively simple (and "compatible") platform; not that this stops anyone from playing with other Atmel chips in other ways...
Isolated designs will not produce a mass produced low cost platform.
Yes but if somebody makes a good design it can be made into an official Arduino board with many manufacturers willing to make it in large numbers.
As my colleagues and I have already seen, specialised versions of Arduino that fit into a nice requirement can be quite successful! In the last two weeks we have taken orders for over 150 units - 120 from one buyer alone. All but a very few were optioned up with interfaces not on any other Arduino or clone.
Once this hardware platform is available, a simple port using a few of the new architectural features would give a better change of successful acceptance by the Arduino community.
The Arduino community has opened up a lot since its inception , there are beginners and more advanced users... the balance of functionality versus user experience is tricky to keep.
I keep seeing new "prototyping paltoforms" being made and some of them are uttely complicated (and ugly) so striking the balance we got with Arduino is always a big challenge though an exciting one.
having said this I'm keeping an eye on the xmega as a natural evolution path.
PS: lobbying Atmel is something that is on my list but I'm waiting for a couple of events to happen
massimo
I agree with Massimo that the Xmega does make for an obvious upgrade path. But we need to ensure that in going for new features that we don't 'bloat' the Arduino and render it less usable for the vasdt number of people who have tried it and fallen in love with it so far.
In my world we live with a little maxim "don't fall victim to creeping featureism". Let's not fall victim to it here.
The real trick is to repeat what the Arduino team has done so well ---- keep a simple but flexible face on the processor.
I think it is very possible to repeat that success while using the XMega. However, we need to come up with a simple but general approach (interface) to Events and DMA.
The real trick is to repeat what the Arduino team has done so well ---- keep a simple but flexible face on the processor.
I think it is very possible to repeat that success while using the XMega. However, we need to come up with a simple but general approach (interface) to Events and DMA.
David
Now there is a mouthful to swallow! Neither events nor DMA are simple. But certainly events could possibly be handled like interrupts - with an attachment interface. DMA is another issue altogether and I have no idea how it could be handled outside of function or device specific libraries/drivers.
I think it would be possible to generalize a few useful functions with events and the DMA channels. For example, the event system has a hardware high speed quadrature interface that wouldn't be hard to set up. You can set up the ADC to automatically dump sequential samples into RAM and generate an interrupt when finished.
Everything else could grow naturally as more tricks are discovered. Again, it's just internal structure; as long as Arduino supplies the connectors and the bootloader, progress will happen.
The xmega looks interesting just because of increased memory, even if the extra peripherals and stuff are ignored, but it doesn't seem to be very "real" yet - no stock at digikey or mouser, for instance...
I'm inclined to agree that "arduino" should be kept as a relatively simple (and "compatible") platform; not that this stops anyone from playing with other Atmel chips in other ways...
I received a reply from the Canadian Rep for Atmel. Production is scheduled for the October timeframe for the ATXMEGA64A4-AU.
The xmega looks interesting just because of increased memory, even if the extra peripherals and stuff are ignored, but it doesn't seem to be very "real" yet - no stock at digikey or mouser, for instance...
I'm inclined to agree that "arduino" should be kept as a relatively simple (and "compatible") platform; not that this stops anyone from playing with other Atmel chips in other ways...
I received a reply from the Canadian Rep for Atmel. Production is scheduled for the October timeframe for the ATXMEGA64A4-AU.
I have samples on the way and a board layout ready for them :
I agree with mlindeblom.
As atmel say it is 100% pin and code compatible, then wouldn't it be possible to keep arduino the same but use the xmega, then normal users can benefit from the increased speed and memory without noticing a difference or things being any more complicated. Power uses could play with the new features using the same board, and/or 3rd party devs can do what they do and bring variations of the board using the extra pins/features. With regards to DMA and the Event System, these could be left out of the arduino software until a suitable time in the future when people have developed a robust easy to use library for them suitable for beginners, meanwhile advanced programmers would still be able to take advantage of them by writing their own C code.