Die Firmware des Controllers ist Bestandteil der App. Fest auf dem Controller ist nur das Linux-Betriebssystem und der Befehlssatz. Mit jedem Start wird geprüft, ob die Firmware aktuell ist und wenn nicht, wird das Update aufgespielt. Dieser Vorgang dauert ca. 30 Sekunden und wird dem User angezeigt. Falls dabei etwas schief geht, z.B. wenn der User sein Smartphone ausschaltet oder der Controller gerade am Einschlafen war, wird der Vorgang einfach wiederholt. Der Controller hat sozusagen eine Partition für das Update und prüft zuerst dessen Korrektheit. Erst wenn diese Prüfung ok ist, wird das Update tatsächlich durchgeführt. So ist auch verhindert, dass jemand einfach ein neues Programm schreibt und dieses als Firmware einspielt.
Etwas problematisch wird das später mit dem Update auf Bluetooth. Hardwareseitig kann der Controller das zwar schon, aber noch nicht die Firmware. Mit der Android App ist das aber notwendig. Leider wird die Android App dieses Bluetooth Update bei vorher ausgelieferten Geräten nicht einspielen können, weil sich diese Geräte eben noch nicht verbinden können. Falls wir bis dahin keinen cleveren Weg finden, muss der Nutzer leider versuchen, einen Apple-User zu finden, der ihm das Update einspielt. Es würde auch nicht helfen, diese Firmware jetzt schon zu entwickeln, das wir noch keine Erfahrungen haben mit Android Geräten. Das muss Hand in Hand gehen mit der App Entwicklung, so wie bei iOS Apple. Aber wie gesagt, vielleicht klappt es ja doch, dass sich das Android Gerät einmalig über WiFi verbinden kann.