Go Down

Topic: Time to retire ATmega328P? (Read 10404 times) previous topic - next topic

stevenvh

The AVR-based Arduino is now ten years old, and I think it's time for the AVR's retirement. It was a good controller in its day, but now it's hopelessly passé. The future (AND the present!) is ARM. There is an ARM-based Arduino Due, but what I mean is a Uno replacement. Same price of even cheaper. For instance the NXP LPC824 has:

- more I/O
- more I2C buses
- more SPI buses
- more USARTs
- a 30 MHz clock
- 12 A/D channels
- 12-bit A/D resolution
- etc. etc.

yet it's 30% cheaper than the ATmega328P. (It doesn't have EEPROM, but you can throw one in for 20 cents.)
The ATmega328P is dead, or should be. I really hope you'll consider an ARM M0/M0+ for the next Uno version/replacement.

C-F-K

My 2 cent's?

Yes and no...

The LPC824 has less I/O pins than a 328P and the same 32kB memory, so those are no advantages.
When you want a board with more I/O pins just for connecting stuff, the 328P is better.

Yes you can have a I2C expander or such on a LPC824, but that's an extra IC...

It all depends on what your project needs.
The UNO is an UNO, and a ARM M0/M0+ board is what it is, all with it's own advantages and disadvantages.
Evil Base of Operations: Holland

stevenvh

#2
May 08, 2015, 02:58 pm Last Edit: May 08, 2015, 03:03 pm by stevenvh
The LPC824M201JHI33 has 29 GPIO, ATmega328P has 23. And I mention half a dozen other points on which the LPC824 is better, at a lower price! Would I want all these extras on a board the same price? You bet.

Advantages and disadvantages, true, but my point is that IMO the ATmega328P is outdated. There's such a thing as progress, right? Today you don't drive the car you had 20 years ago, or watch the TV set you had 20 years ago, do you?
Maybe the Arduino team needs more visionaries...

robtillaart

imho Arduino is the "high level" programming abstraction of the real low level register stuff. And not to forget the shield pin layout.

It is made popular on the AVR series but available on faster AND slower (e.g. tiny) processors and there are several "Arduino" compatible boards that run the software and/or can use the shields. These include ARM processors based boards.







Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

bperrybap

I say YES.
My view is even a bigger in that I think it is time to start moving away from all the AVR parts given that there are alternatives that offer significantly more and better resources at similar and sometimes even better price points.
Also moving away from the AVR allows starting to phase in processors that are not only faster but easier to use for novices since only the AVR has the split memory address spaces that requires special user coding to deal with.
Also, the other processors have significantly more ram.

I place a high value on having const work correctly and more ram.
This means that novices don't have to learn proprietary AVR specific kludges like the progmem macros and their corresponding declarations and access routines since const "just works" as it should on all the other processors.. They also won't have to play games or learn optimizing techniques just to make fit into the part nearly as soon as there are so many more resources available on the other parts. And finally, there are many types of additional applications that start to become possible once there is more ram available.

I think that a board based on the pic32 PIC32MX250F128B would be a great replacement for the m328p based boards.
To me, this processor is what would be used if Arduino were starting all over again.
This part is also a 28 pin DIP so it works great for hobbyists and DIY projects.

There are many advantages of this part over the 328p
A few of the biggest ones being faster, lots more flash and ram, 3v with 5v tolerant inputs, and no more AVR PROGMEM crap to deal with. const works like it should.

Given that it is basically the same cost as a m328p I see little reason to continue on with the 328p.

Here are some more of the advantages of this pic32 part over the m328p AVR:

- const "just works" vs having to use the AVR proprietary progmem support
- 32 bit vs 8 bit
- 40mhz vs 16mhz (typical values not the absolute max possible on each)
- 128k flash vs 32k
- 32k ram vs 2k
- DMA capability
- native USB support
- 2 uarts vs 1
- 2 spi vs 1
- 2 i2c vs 1
- 3v with 5v tolerant inputs

About the only big downside to using many of the newer processors including the pi32 over the AVR is that that output drive capability of the pins is significantly lower.  While this can be deal breaker for some applications like driving LEDs, for many applications the additional and faster resources are more than worth the price of losing that capability.


My strategy would be to eliminate production of m328p boards, along with releasing a pic32 DIP based board.
There are other AVR based boards for those that still want the AVR.
The clone market beats the crap out of the margins anyway for the m328p boards and a new pic32 DIP based board could open up and new markets with higher margins than the existing m328p boards can offer.
Then, over time, start to phase out the other AVR based products based on shipping volumes.

Eventually moving everything over to the better micro-controllers and leave the 8 bit AVR world behind.



--- bill


robtillaart

For me there is one issue that the AVR does not solve

- support for double (64 bit) math - preferably in HW.

I have seen many posts (esp GPS related) where floats just are not precise enough.

Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

pert

One huge advantage of the ATmega328P is that it's available in a through hole package which means a beginner can prototype with an Arduino board and then be able to easily solder the same MCU in their finished project. Sure there are faster and cheaper ARMs, but the ATmega328P is sufficient for most Arduino applications. For a hobbyist the price difference really doesn't matter.

bperrybap

One huge advantage of the ATmega328P is that it's available in a through hole package which means a beginner can prototype with an Arduino board and then be able to easily solder the same MCU in their finished project. Sure there are faster and cheaper ARMs, but the ATmega328P is sufficient for most Arduino applications. For a hobbyist the price difference really doesn't matter.
Not over the pic32 part I described in post #4:
The PIC32MX250F128B is also a 28 pin DIP

http://forum.arduino.cc/index.php?topic=321571.msg2224799#msg2224799
which is why I said if the Arduino were starting over today it would probably pick that part over the 8 bit M328p.

For the same price as a 8 bit AVR, you get a 28pin DIP package with a much faster 32 bit processor with tons more resources including 128k of flash with 32k of ram and none of the progmem crap to deal with since const works as it is supposed to.

--- bill

pert

Yes I agree that is an excellent choice for an ATmega328P replacement. It's nice to see there are still some good microcontroller options in a DIP package. I was referring to the NXP LPC824 ARM the OP was recommending, I should have made that clear.

bperrybap

#9
May 15, 2015, 01:15 am Last Edit: May 15, 2015, 01:16 am by bperrybap
In the bigger picture I think that the free market will resolve this.
If people stop buying the AVR based products, then those products will self retire.
There are many other options available out there, including in DIP packages, so if you want something faster with more resources, buy that instead.

Use the old "Vote with your Wallet" method.

--- bill

pert

There are many other options available out there, including in DIP packages, so if you want something faster with more resources, buy that instead.

Use the old "Vote with your Wallet" method.
If you want to buy an Arduino then those options are not on the ballot and voting for the ARM candidate will make a much larger dent in your wallet. So most people will continue to vote AVR. But really the Arduino buyer's vote is insignificant compared to other microcontroller buyers who I'm sure are overwhelmingly moving away from AVR so I think that it is inevitable that the ATmega328P will be retired in the near future. Unfortunately I see the same thing happening to through hole packages.

bperrybap

If you want to buy an Arduino then those options are not on the ballot and voting for the ARM candidate will make a much larger dent in your wallet. So most people will continue to vote AVR.
I'm not understanding what you are trying to say about the alternatives to m328p AVR based "..duinos" not being "on the ballot".
What I'm saying is if you don't want the 8 bit AVR based stuff and want something better while still using the "arduino" programming environment, just vote with your wallet and buy something else that you percieve to be better.

There are other alternatives to the m328p based duinos.

For example here are 2 alternatives you could buy:
Teensy LC (arm based and DIP compatible) for under $12 USD.
28 pin dip based pic32 PIC32MX250F128B chips pre-programmed with bootloaders for $3.80 USD quantity 1 for DIY solutions.

Both of those offer significant speed and resource improvements over the 8 bit m328 and also have support for an arduino IDE.
And neither of them requires jumping through all the progmem hoops required by the AVR to use constant data.


ODwyerPW

I think the ZERO accomplishes this... provided it gets sold at a reasonable cost.  Only down side is of the ZERO in relation to UNO for me is the lack of EEPROM space to store calibration constants* and older 5V shields.

*Although I just read the note about using a few pages of flash memory as nonviolatile storage.  Which is probably sufficient to occasionally write offsets/slope data for calibrating sensors....

Looking forward to trying the ZERO.
Quiero una vida simple en Mexico...nada mas.

68tjs

Problem of ATMEL ARM is they are not 5V tolerant as all STM32 and NXP.

DIP package are  completely obsolete.
Buy a micro  in DIP package is more expensive than buying a mini board ready for use with a form factor mini-pro or nano.
 This is due to the fact that the manufacturer of these mini board purchased the IC by thousands.

CrossRoads

Quote
DIP package are  completely obsolete.
Baloney.
If they were obsolete, the distributors would all have them listed as "Discontinued", "End of Life", etc. and they are not:
http://www.digikey.com/product-search/en?vendor=0&keywords=atmega328p-pu
with >40,000 pieces in stock.
You want to buy a mini board that is assembled by thousands using underpriced labor and gov't subsized free shipping to undercut the rest of the world, and sure, you can get one cheaper.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Go Up