Duje Roje

R&D Engineer | Include d.o.o.

I started playing with electronics back in high school. A hobby turned into a study major and into a professional career. I spent years building prototypes at home, exploring how programming and electronics go together.

Most people choose to either focus on hardware or pursue a software developer career. Why not combine best of both worlds? I write software for hardware. It’s fun. It’s challenging. It helps you understand how gadgets work.

Python for hardware

Know a little Python? That's all you need to get started in the world of IoT and embedded software. You get yourself a nice low lost single-board computer, a couple of wires, sensors, buttons, motors, uranium, whatever you like, and the fun begins. Build your own smart house system or a cleaning robot.

The fun, however, ends very soon. As the lines of code start to pile up, it gets increasingly hard to make any changes to the code or upgrade it. Bugs start to appear. And before you know it, you don’t have a reliable product anymore.

There is little guidance on how to write code for hardware. That’s why I want to share what I’ve learned (mostly from my own mistakes).