R
R
Rou19972017-03-26 11:25:10
Arduino
Rou1997, 2017-03-26 11:25:10

Why was Atmega328P chosen as the basis for Arduino, when STM32 is up to two times cheaper, and up to two times better?

First of all, the price. On AliExpress:
Atmega328P (AVR) - 70-80 rubles per piece (from 100 pcs)
STM32F030F4P6 (ARM Cortex M0) - 25-30 rubles per piece (from 100 pcs)
Clock frequency.
Atmega328P (AVR) - 20 MHz
STM32F030F4P6 (ARM Cortex M0) - up to 48 MHz
RAM (SRAM).
Atmega328P (AVR) - 2 KB
STM32F030F4P6 (ARM Cortex M0) - 4 KB
ROM (Flash).
Atmega328P (AVR) - 32 KB
STM32F030F4P6 (ARM Cortex M0) - 16 KB.
Number of GPIO pins.
Atmega328P (AVR) - 23
STM32F030F4P6 (ARM Cortex M0) - 15
bits.
Atmega328P (AVR) - 8 bit
STM32F030F4P6 (ARM Cortex M0) - 32 bit
Architecture.
ARM is more advanced than AVR, in addition, knowledge of ARM assembler is more applicable in practice.
However, this is more subjective.
The supply voltage is not considered in this question, since in both cases a stabilizer is still needed, which is a very small fraction of the computer's cost.
Corps too.
Conclusion: STM32 is better than Atmega328P in a number of important characteristics, primarily price and speed.
Inferior in terms of ROM, but you can use the "cloud" storage with Ethernet shield or external ROM.
And it is slightly inferior in terms of the number of GPIO pins.
But the STM32 has one more model - STM32F030K6, it is not only not inferior to the "atmega" in both characteristics, but also slightly superior - 26, not 23 GPIOs.
At the same time, the price is somewhat more expensive, but still cheaper than Atmega328P - 38-50 rubles per piece (from 20 pcs)
The question remains - why is Arduino still Atmega328P? What am I not considering? I will not argue. The question is not up for debate. It's just not clear to me.

Answer the question

In order to leave comments, you need to log in

7 answer(s)
R
rustler2000, 2017-03-26
@rustler2000

Mega came out much earlier

H
Hoksmur, 2017-03-30
@Hoksmur

I know two reasons:
1) take an interest in the year of release of ARDUINO and the release of the specified STM. At that time, Atmel products were much more popular, which meant more people who could be interested in the project.
2) the first ARDUINO on Mega8 was fundamentally designed for a single-sided board and DIP, or rather trought-hole components. To repeat "on the knee."
Maybe there were other considerations, but they were justified, as the project "took off".
Here for reference: https://www.arduino.cc/en/Main/ReleaseNotes the first version was released ARDUINO 0001 - 2005.08.25 , in the case of STM32 - www.compel.ru/lib/ne/2011/2/3- stm32-epoha-32-bitny... ST was one of the first to release its Cortex-M3 microcontrollers ( 2007 )

A
Alexander Gusev, 2017-03-26
@Sanchogus

Under stm32f103c8t6 there is an arduino bootloader.
In general, this is most likely from the category: it happened historically.
Yes, and they are in deep cases, which contributed to the promotion of MK data among amateurs.

A
Alexander, 2017-03-26
@NeiroNx

Because there were no normal compilers on STM for a long time. Not sure if they are normal...

L
LampTester, 2017-05-24
@LampTester

The simple answer is because Arduino came out before ST controllers became popular. This has already been discussed above.
If you approach philosophically, then it must be said that "better" is a loose concept. Yes, ST has better controllers for a comparable price, but this does not mean that they are better in this application. At a minimum, they are more complicated, and, given the scope of Arduino, this complexity will not justify itself, as well as advanced features. The Arduino platform is designed primarily to lower the entry threshold, and AVRs are better suited to this task.

K
kalapanga, 2017-03-26
@kalapanga

Also available on ARM Arduino: Arduino Due

A
AnotherReality, 2017-03-31
@AnotherReality

There is Nucleo, while the board is fully Arduino-compatible.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question