3
\$\begingroup\$

I am looking for the cheapest microcontroller to run embedded Linux. what should I be looking at, which class of microcontrollers or microprocessors is compatible? is there a minimum system requirements (RAM, Flash, clock, etc)?

\$\endgroup\$
4
  • 1
    \$\begingroup\$ I've seen some TI SoCs with onboard GPUs for <$20 and some 300MHz atmel micros for <$10 (but no dedicated gpu), almost everyone has something that can run some version of linux. Do you want a gpu? hdmi? fast processor? dual core? full SoC (i.e. just add ram, flash and power and bingo) or do you need something that requires designing a full blown bios? Do you want something with onboard programmable logic? something that'll run Ubuntu? The application determines the part. \$\endgroup\$
    – Sam
    Jun 10, 2016 at 10:06
  • \$\begingroup\$ you need a microprocessor something like beagle Bone \$\endgroup\$
    – ElectronS
    Jun 10, 2016 at 11:31
  • 2
    \$\begingroup\$ As the question is (re)worded it seem totally on-topic to me. Vote to reopen and +1 for the (modified!) question. \$\endgroup\$ Jun 10, 2016 at 22:49
  • \$\begingroup\$ Looks like a shopping question to me... a broad one, really need to know which distro. You can run Linux on an 8088, but you won't be able to do much. You also need some requirements on what you want to do. When designing a system, you first come up with a list of capabilities you need and requirements, then pick the distro and system. \$\endgroup\$
    – Voltage Spike
    May 12, 2020 at 19:34

1 Answer 1

7
\$\begingroup\$

That totally depends on what you want to do with it, really.

I've run uClinux on an MMUless ARM7TDMI with 8 MB RAM -- but that will only run a kernel, a minimalistic init and dedicated services. If you are going for volume, 8 or 16 MB RAM, 32 MB Flash and some small ARM core are the minimum required, but you will need a lot of time shrinking the system to fit, so the expense for that needs to be offset by cheaper hardware.

In the middle, 64 MB RAM and 512 MB Flash with something that has an MMU (ARM9 and up, basically) gives you enough space to run a standard distribution like Debian, but you still need to compile your own kernel and bootloader. Less software effort, and the hardware should be cheap enough so anything below a million units is probably cheapest here.

Last but not least, there are readymade Linux systems that come with full vendor support, and generally have lots of memory, lots of flash, an eMMC disk, an SD card slot, PCIe slots for wireless cards, HDMI outputs and so on. These tend to be fairly expensive, but you can usually cross-compile your Linux applications fairly easily, and get set up in a week.

There are a few standard boards that are produced in bulk, like the Raspberry Pi and the Odroid boards. These are fairly cheap for the kind of specs they have, but the boards are larger than necessary for most embedded applications, and certainly more expensive in bulk than a custom-made board with just the required peripherals and the smallest CPU, RAM and Flash you can get away with (especially as the board isn't friendly to being used as a building block -- all interfaces are either fixed connectors on the edge, or unpopulated headers that need to be soldered in.

For a prototype or one-off, I'd definitely go with the Pi or one of its clones (which often have additional interfaces, so comparing here might pay off). For mass production, build your own PCB with a mid-range CPU with MMU, enough memory to run a standard system, enough flash to keep it and allow updates using the package manager, and just the peripherals you actually need.

\$\endgroup\$
4
  • \$\begingroup\$ Odroid and RPi are certainly NOT the cheapest boards out there. Remember this reddit post? \$\endgroup\$ Jun 10, 2016 at 8:31
  • \$\begingroup\$ Dimitry, that link goes to a page where people are having a go at the banana pi and the orange pi for lacking decent gpu software support, the sale price is deceptive as it is not the true price, once you factor in the work required to get a system fully operational the numbers can shift dramatically. \$\endgroup\$
    – Sam
    Jun 10, 2016 at 9:55
  • \$\begingroup\$ @Tom - in the context of a legitimate design question, one has to separate the engineering cost from the unit cost. Some of the options out there may indeed require substantial engineering effort, the thing is that you can make your own board in moderate quantities - the $5 pi zero is just a tease, as you can neither buy the boards in quantity nor readily make a custom derivative. \$\endgroup\$ Jun 10, 2016 at 14:51
  • \$\begingroup\$ @ChrisStratton I agree completely, an extreme example would be Intel's 5th gen processors, the foundry retrofit for 14nm was over $10B I think, so if you wanted to make just one, it'd cost you $10B, but if you sold 1B units, the amortised costs would only add 10 bucks to the sale price. So yes, the engineering and sale costs are different things, which is why I'd advise people to use a cots system if they can (ideally one with a decent software ecosystem). Personally I'd choose a TI solution (e.g. beaglebone) over the Pi, the ecosystem's smaller, but you can actually buy the bare chips \$\endgroup\$
    – Sam
    Jun 12, 2016 at 0:02

Not the answer you're looking for? Browse other questions tagged or ask your own question.