Hacker News new | ask | show | jobs
by winter_blue 971 days ago
Even a Raspberry Pi Zero that costs $5 retail[0] should be good enough[2] to run modern Linux + a node process running Next.js with SSR.

Why do embedded developers pick really resource-constrained chips, when decently powerful chips that can run Linux have become so cheap?

[1] probably even cheaper if purchasing B2B, in bulk

[2] i.e. should have enough CPU (1 GB) and RAM (512 MB)

2 comments

I work with a frontend app that talks with microcontrollers that have 2mb of ram, they don't run linux and can't even support an HTTP stack. We actually use UDP to send messages to them (through a thin native layer in our app)

I don't remember the exact numbers as I don't work with the manufacturing side but the budget for our microcontrollers was <0.5 USD per microcontroller

> Why do embedded developers pick really resource-constrained chips, when decently powerful chips that can run Linux have become so cheap?

1) Often you have multiple microcontrollers per device

2) It just follows a general trend with industrial manufacturing of always trying to find ways to cut costs. It is not just microcontrollers, after a product is finished, v2 will always strive to cut costs and be cheaper. Components costs grow linearly with production volume. If you sell a million of devices with a 5 USD chip that is 5 million dollars that could have been spent on R&D (maybe like 5 devs working on it full time for a year)

3) Sometimes the microcontrollers are dedicated for security/safety, those you don't want to run linux on because it makes them harder to QA and certify (non determinism doesn't play well with safety). You want them small, lean and as simple/dumb as possible

4) Sourcing problems, advanced chips are harder to source in higher quantities, especially lately. Crappy microcontrollers can be bought like buying legos at the lego store

5) Size, reliability and heat constraints. Bigger chips are harder to integrate into a custom board, require more power and could generate enough heat to cause problems. Integrating a Raspberry CM requires a custom connector with like 50 wires or so and wiring it can be really annoying/error-prone

One of our systems had a Raspberry CM3 before, it was the first thing on the chopping block for the v2. Apparently it was the most expensive single electronic component of the whole system.

> Why do embedded developers pick really resource-constrained chips, when decently powerful chips that can run Linux have become so cheap?

There are other things to consider, like power consumption, size, reliability, IO... It's a totally different class of hardware.