Hacker News new | comments | ask | show | jobs | submit login

One important thing for an embedded engineer (just like any software engineer!) to know is how to select an appropriate solution for a given problem. This includes both hardware and software, and do it yourself vs off the shelf.

I think it can be summed up with some questions to ask at different points in a project:

- Should I use a microcontroller or a processor? If a microcontroller should I use a simple 8 bit or more featured 32 bit?

- Do I need an operating system like Linux, RTOS like FreeRTOS, or bare metal?

- Are there existing code modules out there to help kick start the project? Like SD card libraries, ethernet middleware, etc

- Should I design a custom PCB or look at development kits, or off the shelf electronics?

- Where should I design in flexibility in the project? What requirements can be solidified to simplify the design?

Knowing about what is out there helps pick appropriate solutions to problems, which will save the most time in the future.

In your opinion is 8-bit even a realistic choice anymore? Many ARM CPUs offer way more bang for your buck nowadays (unless i'm looking in the wrong place).

What do you want? Do you want a system to play with for your own learning? Or do you want to build a shipping product?

If for your own learning, do you want a full-powered environment? Or do you want a simple system that you can learn all of, even if it's more of a toy?

If it's a shipping product, do you care more about ease of development, or about total parts cost? (The difference is often quantity that you expect to ship - 10 cents in part costs matters if you expect to make 100 million of them.)

Yes 8 bit is absolutely a good choice. ARM comes in less than a dollar for the cortex m0 core (maybe others now?) but sometimes that is more than you need in both size and capabilities.

Also sometimes you may have existing expertise, tooling, or firmware already for a processor such as a PIC, AVR, or STM8, so why reinvent?

Some examples may be things like a custom serial to input/output expander, small motor controller, power controller, data logger, or other small and simple machines.

Depends on your cost/power/space budget. There's plenty of new 8-bit work being done today.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact