views:

137

answers:

4

I want to create embedded system using Linux similar to E book reader using ARM9 processor. I am not a 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 E book reader. Is it possible for a software engineer to create a embedded system. I do not want to buy single board computer available in market I want to create it myself .

  • Where do I get a kind of tutorial.
  • Is my knowledge of operating systems is enough to create such a system ?
+6  A: 

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.

Hassan Syed
+1 You could build your own E Book reader, but by the time you finished they'll be handing them out for free.
Dead account
You forgot building a gcc toolchain for the computing platform.
mouviciel
@mouviciel added (working on your platform) to point 4.
Hassan Syed
+2  A: 

Creating embedded hardware from scratch requires a lot of expertise and resources. It would be better to start off with a low-cost evaluation board in order to learn the basics of embedded programming and interfacing first. That should keep you busy for a few months. Beyond that, embedded CPU suppliers typically have reference designs that you can incorporate into your own embedded product, but at this point you will need to start investing a lot of time, effort and money into tooling up for hardware design and development.

Paul R
A: 

You can buy off the shelf hardware for embedded software development.

PC 104 Boards

PeanutPower
PC 104 is obsolete, and they're a curse from a reliability point of view... those stacking connectors work loose if there is any vibration, even if you bolt the boards together.
Andrew McGregor
@Andrew so did you have a recommendation?
PeanutPower
Depends on what you want. Routerboard and Ubiquiti make nice routers. The Beagleboard is nice for media players and things with UI, Gumstix are nice if the Beagleboard is too big. Arduinos are good if you can get away with a 20 MHz AVR. For the bigger stuff, there are lots of nice Atom-based boards from people like Supermicro and Advantech.
Andrew McGregor
@Andrew thanks :)
PeanutPower
+4  A: 

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.

Andrew McGregor