Embedded development is scary. At least to start with. That's why we've put together this guide to taking your first steps with it, and at the end we've put some links to help you go further. Don't forget that if at any time you need help, you can contact us.

What is embedded development?

Embedded development is writing code for anything that we don't typically think of as a computer. This could be anything from a washing machine, to a watch or more recently with IoT developments, things like your light switches. Writing embedded code typically involves caring more about energy usage and performance of code than other areas in software development.

Roadmap to becoming an embedded developer

This is not a complete list, or even intended as a real roadmap. The aim of this section is to give you some stepping stones to learning more. Once you've mastered these things, you are well on your way to being able to learn anything in the field.

When I say starter embedded board, I mean something like the Raspberry Pi, Arduino or a BeagleBone. There are others, but at this stage it doesn't really matter which one you get, these are just the first that spring to mind.

Telling someone to just write some code is a lot easier than actually doing it. So what do I mean when I say that? Well, the aim of this step isn't necessarily to write anything in specific, it's more to get yourself familiar with the standard methods of writing code for your device, and to familiarise yourself with code if you've never written any before. So with that in mind, the sort of things you could write could be something like:

A text-based adventure game that you can play through the terminal of your device.

Something that uses built in hardware in your device. So if you had a micro:bit, you could make a program that beeps when you press one of its buttons.

This is the "Hello, World!" of the electronics world. It won't teach you a great deal about how electronics work, but it will give you the confidence to play with wires and components, and that is half the battle when learning hardware.

There are a good number of tutorials on the internet for doing this, no matter what board you chose in the previous step. A good starting point would be the Google search "make led flash boardname". A good example for the Raspberry Pi can be found here.

Once you have completed this step, you should understand how to use breadboards, some circuit basics and the basics of using your programming language of choice to affect things in the real world.

Rest of guide coming soon. We are actively working on the site, and if you can help either submit a pull request or let us know.