Les principaux traitements du robot sont effectués dans le programme du PIC 18F2550.
La première étape consiste à construire une représentation de l'environnement du robot à partir des mesures brutes fournies par le PIC 18F2420. Cette étape met en oeuvre une technique d'odométrie et aboutit à une liste de points (distance; angle) dans un repère dont l'origine est le robot. Ces points correspondent aux obstacles que le robot doit éviter.
Puis on estime le risque de collision avec ces obstacles. Tant que le risque est acceptable, le robot peut aller tout droit. Au-delà d'un seuil, il doit changer de direction. La direction présentant le risque le plus faible est choisie. Au pire, le robot peut faire marche arrière, voire s'arrêter si les risques de collision à l'arrière et à l'avant sont trop importants.
L'action choisie est transformée en signaux de commande vers la carte de commande des moteurs.
La vitesse de rotation de chaque roue est mesurée à partir des impulsions fournies par les encodeurs magnétiques fixés sur les moto-réducteurs. Ces mesures sont utilisées pour l'odométrie et pour asservir la vitesse du robot. L'asservissement de vitesse permet au robot d'aller en ligne droite quand il le faut.
Enfin, un certain nombre d'informations sur le robot sont affichées sur un écran LCD. Des boutons permettent de passer d'une page à l'autre.
Dans une autre version du firmware les informations sont transmises sur le port USB en utilisant le protocole HID. Elles peuvent alors être affichées et enregistrées sur un PC, puis rejouées ou exportées dans un fichier csv. Le programme sur PC est développé avec Microsoft Visual C++ 2010 Express.