Microgrids are low-voltage distribution networks, composed of distributed generation, storage, load, and managed autonomously from the larger transmission grid. Whereas traditional power system operation is hierarchical and centralized, microgrids are ad hoc networks without a central authority. These challenges call for scalable, robust, and plug'n'play control and optimization strategies with low communication complexity. In this seminar, we discuss decentralized primary control strategies and show how they can achieve diverse objectives such as power sharing, flow shaping, or an optimal economic dispatch. We motivate the need of additional distributed secondary control strategies and present an averaging-based controller. Finally, we illustrate our findings through hardware experiments.