It seems that the only time learn() actually does anything is when the arduino is rebooted. Makes sense if sentences are compiled in the arduino sketch. I have a web server on an esp32 which is connected serially to the MOVI arduino. The server supplies the sentences to the arduino , based on its database. I have tried doing a factory reset of the MOVI, then a reboot of the arduino, but no training takes place. The only way I can get the training to work is to re-upload the arduino sketch. It seems to me that a factory reset of the MOVI should put the arduino into a “re-learn” state. That would allow the server to decide when to reset the MOVI programmatically, and then cause the arduino to reboot. I already have that working, but the MOVI does not get retrained.