In this thesis we are analyzing the possibility to use TDD as a design paradigm for small embedded systems. To demonstrate the workflow we implement a controller for a remote controlled quadrocopter. The controller is implemented in C++ for an AVR ATmega32 using Eclipse and google test frame. We end up with a fully functional quadrotorcopter implemented sorely via TDD. We compare TDD for embedded and traditional PC development, and we show how software development can be started even before any hardware exists. Furthermore, we also look briefly on simulation of the embedded code and automated schedulability analysis. We conclude that TDD is as effective for embedded development, as is for traditional PC applications.