Mind explaining how this works? It seems I would need a microcontroller powered constantly to run this, no?