ESP32 未来能够取代 STM32 在学生群体中广泛流行吗?

如题,ESP32 有更快的双核 CPU,蓝牙 + Wi-Fi 通信,核心板价格只有十几块,对标学生常用的 STM32F4 及以下的系列,参数都略胜一筹…
关注者
403
被浏览
1,168,418

97 个回答

更新:

坐标美国在读某十分优秀的工程校。

电子系的毕业项目已经没人用stm32了,都是esp32。我现在天天去学校薅“坏了”的esp32。


原答案

我的项目从STM32F103转移到F401现在转移到ESP32S2/S3,转移的原因主要是成本。目前最新的固件做到了跨平台支持(STM32HAL/ESP-IDF)所以也算是有对比的实战经验。

先说结论,我是觉得ESP-IDF比STM32HAL好上手,ESP-IDF也给了足够的案例,ESP32的配置也比同价位的STM高很多。ESP32的缺点就是IO上限的确比STM32第很多,这个也许日后能逐渐改进。

1.ESP-IDF:ESP-IDF实际上用起来更Arduino有点类似,app_main()的时候已经算是把基本的硬件都启动好了,STM32HAL的话就算用CubeIDE也还时钟什么的还需要有一些理解。IDF的内部用了FreeRTOS但实际上就算对RTOS基本无理解就可以无视掉,在代码里直接实现super loop就行。IDF目前最大的硬伤还是各位说的生态,目前很多问题,出了问题也没有多少资料,API的文档也不是很完整。最后ESP-IDF的Cmake系统我也还没研究透,目前的项目跑起来了就没在管了。

2.配置:以我现在做的项目用的ESP32-S3FN8(ESP32-S3-Mini1)和之前用的STM32F103RET6做对比吧。ESP的优势在高性能双核,蓝牙,wifi,自带Flash;STM的优势在IO想要多少可以来多少,外设也稍微多一些比如uart,i2c和spi等等。我自己的项目实际上必要的外设不多,STM多出来的可以整活,但是没有其实也没差。

3.货源和性价比:ESP暴打STM,不多说了。

以上都是自己做项目的经验简单写的,有啥问题欢迎讨论。随着在ESP-IDF上开发的更多之后我会来加东西。

如果问题是能否流行,那答案是ESP32早就流行起来了,现在很多的开源项目都是基于ESP32,在各种社区的流行度都非常高。我也很喜欢ESP32,用ESP32做过不少东西。

ESP32做的游戏机,来自立创开源平台


但是你要问能否取代STM32, 那ESP32至少需要在以下领域达到甚至超过STM32,才能有取代的可能:

⚪可以对标STM32的丰富产品线

STM32的产品线异常丰富,从经济型、低功耗的的F0到主流极的F1/F2/F3/F4再到跨界型的F7/H7还有最新带MMU的MP系列,对嵌入式开发中的各种需求可谓是全覆盖。

反观ESP32,目前只有3款MCU以及数十款模块在售,比起ST那边丰富的产品线可谓是异常嗑掺了。ESP32在很多时候跟你的需求是不匹配甚至根本无法实现你的需求的。比如需要超低功耗或者高性能,或者需要外挂大容量SDRAM或者NANDFlash之类的场合,靠ESP32根本无法实现。

STM32丰富且合理的产品线

⚪大量优质的资料和源码

STM32拥有大量优质的资料和源码,从软件设计到硬件设计都有非常详细的帮助文档。反观ESP32这边,能直接从官网获取到的资料还是太少了。而且作为国人的产品,中文的文档并不是很多,甚至还没有STM32丰富。

STM32中文网上丰富的官方资料,很多还有官方中文版本

⚪丰富完善的工具链

STM32拥有以CubeMX为代表的强大而且完整的工具链,不仅做到开箱即用,而且极大降低了开发的门槛。而ESP32这边,官方提供的工具只有一个ESP32-IDF,没有专用的IDE,没有类似于CubeMX之类的配置工具,没有第三方库管理器。

STM32Cube 从软件到硬件开发的完整工具链


替代的前提是人无我有,人有我优。ESP32显然现在是不符合这个条件的。除非ESP32能做到以上几点,否则只靠性价比是无法取代STM32的。


文中的游戏机开源链接: 基于ESP32的NES游戏掌机 - 立创EDA开源硬件平台 (oshwhub.com)