Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can a software engineer create an embedded system?

I want to create an embedded system using Linux similar to E book reader using ARM9 processor. I am not an electronics expert but I would love to learn it. I know basics of electronics like transistors, flip-flops, multiplexers. etc. I love software and would like to create something like an E book reader. Is it possible for a software engineer to create an embedded system? I do not want to buy single board computer available in market, I want to create it myself.

  • Where do I get some kind of tutorial?
  • Is my knowledge of operating systems enough to create such a system?
like image 772
Sphinx Avatar asked Feb 02 '10 09:02

Sphinx


2 Answers

Building a system requires knowledge from multiple engineering disciplines. You can only achieve such a task by buying off-the-shelf modular components and assemble them, and in the case of an e-book putting together the modular components won't be pleasant.

Also learning any of the single disciplines needed will take you a long and concentrated effort.

To (loosely) indicate the problem areas:

  1. you need a computing platform of the right form-factor with all the right chipsets (Apple integrate their own single CPU, as of recently, using hardware designs from multiple companies). You will not find a suitable computing platform of the right form-factor.(Electronic Engineer: Digitial designer, Analog Designer)

  2. You need to try to attach an LCD to the right platform, and other peripherals such as USB/ charging port/ WIFI etc etc. (Electronic Engineer, Product Designer)

  3. You need to build a case for the platform. (Product Designer)

  4. You need to get a embedded operating system (potentially real-time) (working on your platform) that fits your needs. (Embedded programmer, Kernel Programmer)

  5. You need to extend said operating system to behave the way you want it. (Application Programmer, Graphics Programmer)

The most important part is the platform, and getting a suitable one is very hard and very expensive. The original iphone had a platform created by a third party that apple bought and used to apply points 2-5 -- and it still took their best engineers a long time to make a prototype.

like image 167
Hassan Syed Avatar answered Oct 16 '22 02:10

Hassan Syed


Not really; hardware engineering is a degree-level subject in it's own right, and you need at least three different specialities to do that job. Not to mention that CAD software and CNC machines cost a heck of a lot more than gcc, so hardware engineers' overheads are huge.

However, you can hire that done, for a substantial fee. Or you can use embedded boards and get the case design done for you.

For example, a beagleboard with these accessories in a custom case.

Or, a Gumstix overo with one of these and one of these in a custom case.

In either case, running some embedded linux.

Development boards save a lot of time and money, but in both cases, if you have the capital you can get those boards boiled down into a custom board that will do just what you need for your application, and cost less in large numbers.

Do not underestimate the case design; you're looking at the thick end of a hundred thousand dollars just for the tooling to manufacture a plastic, die-cast metal or stamped metal case, without paying for the design work.

like image 33
Andrew McGregor Avatar answered Oct 16 '22 00:10

Andrew McGregor