Chapter 3. Getting Your Hands on the Hardware

It can be tough to start working with embedded systems. Most software engineers need a crash course in electrical engineering, and most electrical engineers need a crash course in good software design. Working closely with a member of the opposite discipline will make getting into embedded systems much easier. Some of my best friends are electrical engineers.

If you’ve never been through a development cycle that includes hardware, it can be a bit daunting to try to intuit your roles and responsibilities. I’ll start out with an overview of a how a project usually flows. Then I’ll give you some more detailed advice on the skills you need to hold up your end of the team, including:

  • Reading a datasheet

  • Getting to know a new processor

  • Unraveling a schematic

  • Having a debugging toolbox

  • Testing the hardware (and software)

Hardware/Software Integration

The product starts out as an idea or a need to be filled. Someone makes a high-level product design based on features, cost, and time to market. At this point, a schedule is usually created to show the major milestones and activities (see Figure 3-1).

Ideal project schedule example

Figure 3-1. Ideal project schedule example

Ideal Project Flow

The hardware team goes through datasheets and reference designs to choose components, ideally consulting the embedded software team. Often development kits are purchased for the riskiest ...

Get Making Embedded Systems now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.