工具与资源jaycarlson.net
探索不到 1 美元的各类微控制器
Exploring different microcontrollers less than $1
2017 — 2022,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
这是 Jay Carlson 对单价 1 美元以下的数十款微控制器(涵盖 8 位 AVR/PIC、16 位 MSP430、32 位 ARM、ESP8266 等)所做的系统横向评测:逐一比较外设、功耗、开发工具链、生态系统和供货情况,并给出选型建议。全文放在同一个页面上,篇幅接近一篇论文,是嵌入式选型少见的全景式参考。
为什么经久不衰:它把整个低价 MCU 领域的横向对比集中到一页,并且不靠广告分页;虽然具体型号和价格会过时,但比较方法和选型思路多年后依然适用,所以会反复登上首页。
HN 评论精选
赞赏评测的深度与广度、单页无广告的呈现方式,并注意到各家工具链都在向 Eclipse 收敛。
这是一篇了不起的文章,篇幅和深度堪比论文,从各个可能的角度覆盖了这个主题。而且全部内容都在一个页面上,不像某些评测网站那样被广告切成好几页。生态系统这块很有意思:似乎大家都收敛到 Eclipse 上了,这大概比自己另写一套环境要好,但有时仍然卡顿得让人抓狂。让我印象深刻的是这篇评测的广度,以及把凡是符合 1 美元这个条件的都收进来的坚持——现在符合的已经相当多了,我没想到 Cypress PSoC 也在里面。
pjc50查看英文原文
This is a fantastic article, a thesis-length piece of work covering the subject from every possible angle. And it's all on a single page, not an ad-encumbered pagethrough like some review sites. Ecosystem is an interesting area. It seems that everyone has converged on Eclipse, which is probably better than trying to write their own environment but can still be infuriatingly clunky at times. I'm impressed with the breadth of this review and the commitment to including everything that fits in the $1 parameter - which is now quite a lot, I hadn't expected to see Cypress PSOC there.
认为开源生态(AVR/Arduino)比性能、价格和调试能力更能决定一款 MCU 的胜负。
对我最有意义的是文章里被特意挑出的这句话:……因此 megaAVR 仍然是市面上最开源的 8 位微控制器——而且遥遥领先。尽管 Atmel AVR 不是最快的,也不是最便宜的(按单价算),工具链不是最好用的,调试能力也没那么强,但它是开源的,这一点让它毫无争议地胜出。你看到的几乎每个业余电子项目里都有 Arduino,是有原因的。只要装好 Arduino IDE、解决权限问题,从拆盒到让板子闪灯不超过 60 秒。此外 Adafruit 和 Sparkfun 这类厂商自己做板子,并把大部分代码开源,重心也放在 Arduino 上。等现在和以后几代人都是在 AVR 上被训练出来的,电子市场会怎么演变,会很有意思。
abetusk查看英文原文
The most relevant part for me is this cherry picked line from the article: ... Consequently, the megaAVR remains the most open-source 8-bit microcontroller on the market — by a long shot. ... Even though the Atmel AVRs aren't the fastest, or cheapest (in cost per unit) or the toolchain isn't the easiest to use or the debugging capabilities aren't as good, the fact that it's open-source makes it win, hands down. There's a reason why nearly every hobby electronics project you see has an Arduino in it. Assuming the Arduino IDE is installed and permissions issues have been resolved, you can go from unboxing your Arduino to making it blink in under 60 seconds. In addition, places like Adafruit [1] and Sparkfun [2] build their own boards and make most of their code free/libre/open-source [3] [4], with a large focus on Arduino. It'll be interesting to see how the electronics market evolves when the current and subsequent generations are trained on AVRs. [1] https://www.adafruit.com/ [2] https://www.sparkfun.com/ [3] https://github.com/adafruit [4] https://github.com/sparkfun
从产业角度提醒:开发成本和技术债远比器件单价重要,商业项目应优先考虑 32 位 ARM 和可长期维护的方案。
我在这个行业十多年的几点体会:除非你做的是高产量产品(或者简单到不行的东西),否则开发成本会是你最大的开销,尤其是固件/软件。用便宜器件很好,如果你来自 DIY 圈子会认识很多这类器件;但要做商业化产品,就要像躲瘟疫一样避开它们,因为它们会变成技术债的无底洞。软件/应用像高风险投资(自然垄断、全有或全无、初始成本低),电子更像长期投资(初始成本高、路径依赖强)。所以:如今大多数项目没必要用 8 位/16 位 MCU,别怕上 32 位;AVR 很好,但如果不是一次性作品(或打算在其上继续做产品),现阶段选 ARM;原型用厂商库,有资源后再写精心设计的定制库;写库不要照数据手册,要面向整个产品家族;选元件之前先……
xondono查看英文原文
my takes from my +10 years on this sector: - Unless you are building something with high volumes (or something trivially easy), development costs are going to be your biggest expense by far, specially firmware/software. - Using cheap parts is nice, and if you come from the DIY world you will know many such parts. If you are going to build something commercially, avoid those things like the plague, because they will become the biggest sinkhole of technological debt. - Software/Apps behave like high-risk investments (natural monopolies, zero-or-nothing situations, low initial costs), electronics behaves more like long term investments (high initial costs, high development path dependency). It's way more profitable to have a product you barely have to touch (but sells well), than several that need constant modifications. Which leads me to some tips: - There's not much sense in 8 bit / 16 bit microcontrollers for most projects nowadays. Don't fear going to 32 bit. - MIPS/AVR are nice, but if you are building something that is not a one-off (or you plan to build on the product), go with ARM (for now). - Build your PoC and prototypes on manufacturer libraries, but once you have the resources for it, well-thought and tailored libraries will make your life easier. - When working on libraries, don't write them directly from the datasheet. Go for the family references, target the whole family instead of a single chip. - Before chosing any component, specially the ones that are hard to replace, price is secondary at best. Availability is way more important. - If you are willing to take some risk, look at Rust for embedded. The language is still 'young' and there's a lot of stuff that needs to settle down, but man, does it look good.
用 ATTINY85 + 无线芯片自建全屋智能的实际案例,说明一美元级 MCU 在爱好者手中的可能性。
我最喜欢的是 ATTINY85。它非常便宜,却几乎能做 Arduino 能做的所有事,而且同样可以用 Arduino IDE 编程。去年我开始用这些小小的 ATTINY85 加上一些 nRF 无线芯片把整栋房子数字化,效果很好,我能控制和监测家里每一个电源插座以及总电。整套设备比一个 Nest 还便宜,功能却强大得多。缺点当然是要自己写代码、要有一台服务器在云端跑,但对我这个(Google Cloud)顾问来说不成问题——这就是我的工作。我用 Google Cloud 的 IAP 加 AppEngine(现在可能换到更便宜的 Cloud Run),跑一个私有 REST 服务器,从我自己的安卓应用访问。整个做了一年,但因为我大概每周只花一两个周末在上面。努力有了回报,仅一美元级别的投入能做到这些,让我觉得很惊奇。
neya查看英文原文
My favorite is the ATTINY 85. It's so cheap and yet, it can do almost most of the things you can do an Arduino. And yes, you can program it using the Arduino IDE as well. Last year, I started out to digitalize my entire house with these tiny ATTINY 85 chips and with some nrF wireless chips. It has worked really well for me and I'm able to control and monitor any power port in my house as well as my mains. The overall setup still costed less than a Nest, yet, vastly more powerful. Of course, the downside is you need to write code, have a running server to control it on the cloud. But, no problem for me as I'm a (Google Cloud) consultant and this is what I do for a living. I use Google Cloud's IAP with AppEngine (I may switch to cloud run now, since it's cheaper tho) and I have a private REST server running that I can access from my own Android app. The whole thing took me a year to finish, but that's because I worked on it maybe once or twice a week in the weekends and didn't focus on it much. But, my effort has paid off and it's amazing to me that what is possible with just a dollar investment.
历次讨论
同类还值得读
直接在浏览器中启动 Linux 内核
Boot a linux kernel right inside your browser.
Fabrice Bellard 的 JSLinux 页面,用 JavaScript 在浏览器里启动一个 Linux 内核,并提供一个可交互的终端环境。
工具与资源上首页 5 次 · 2011–2025bellard.orgHacker News 未公开功能与行为清单(2018)
A List of Hacker News's Undocumented Features and Behaviors (2018)
数据科学家 Max Woolf 整理的 Hacker News 未公开功能与行为清单,涵盖投票机制、排名算法、账号惩罚等社区运作细节。
工具与资源上首页 5 次 · 2019–2025github.comMapSCII:在终端中用盲文和 ASCII 渲染地图
MapSCII – Braille and ASCII map renderer for the console
MapSCII 是一个在命令行终端里渲染地图的开源工具,用盲文字符和 ASCII 字符把地理数据画成可交互浏览的字符地图。
工具与资源上首页 5 次 · 2017–2025github.com顶尖大学的免费在线课程
Free Online Courses from Top Universities
Open Culture 整理的一份免费在线课程合集,汇集了全球顶尖大学(如 MIT、斯坦福、耶鲁等)向公众开放的网络课程资源,涵盖音频、视频等多种形式。
工具与资源上首页 5 次 · 2010–2022openculture.com淘气字符串:容易引发用户输入问题的字符串清单
Naughty Strings: A list of strings likely to cause issues as user-input data
一个 GitHub 仓库,收录了大量容易让程序出问题的用户输入字符串,如特殊字符、emoji、SQL 注入片段、系统命令等,供开发者用于测试输入处理逻辑。
工具与资源上首页 4 次 · 2015–2020github.com