A practical guide to building embedded applications for low-powered devices, IoT, and home automation