0
\$\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\$

closed as off-topic by PeterJ, Bimpelrekkie, Dmitry Grigoryev, bitsmack, nidhin Jun 10 '16 at 9:01

This question appears to be off-topic. The users who voted to close gave this specific reason:

If this question can be reworded to fit the rules in the help center, please edit the question.

  • 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 '16 at 10:06
  • \$\begingroup\$ you need a microprocessor something like beagle Bone \$\endgroup\$ – ElectronS Jun 10 '16 at 11:31
  • 1
    \$\begingroup\$ As the question is (re)worded it seem totally on-topic to me. Vote to reopen and +1 for the (modified!) question. \$\endgroup\$ – Wouter van Ooijen Jun 10 '16 at 22:49
5
\$\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\$
  • \$\begingroup\$ Odroid and RPi are certainly NOT the cheapest boards out there. Remember this reddit post? \$\endgroup\$ – Dmitry Grigoryev Jun 10 '16 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 '16 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\$ – Chris Stratton Jun 10 '16 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 '16 at 0:02

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