Often as software engineers / developers the first thing we do when we want to start a cool new project is just write code. In reality what we should do is look at everything that already exists first, open source software provides a wonderful platform too build cool things with very little effort by utalising existing code.
I will use the expereinces and lessons I have learned from building an openSUSE powered robot  to illustrate this, I will go through my design and design decisions to further illustrate this point while also touching on other systems engineering concepts such as modular design and using open protocols to further allow reuse and changes.
The level of design in the talk will be such that someone with some basic electronics skills (like myself) could go away and build something similar at the same time the majority of the talk will be aimed toward people with some software background but not nessearly any knowledge of electronics.
I could probably cut this back to a 30 Min talk if required.