[en] The present project consists in the design and implementation of desktop software for the company Silence's S01 electric scooter. This software interacts with the different elements of the scooter and allows, on the one hand, the firmware update of the different elements that make up the hardware of the scooter and, on the other hand, the monitoring of a set of variables in order to facilitate the prevention and detection of failures to the official maintenance service. Although there are standard programs to interact with CAN Bus, a protocol extensively used in vehicle manufacturing, Silence was interested in creating a custom interface so that all the actors involved in the design and manufacture of the motorcycle could use it, as well as the official services. Although initially it a single application was going to be developed, based on the one that was being used for the previous scooter model and that was written in java, it was decided to divide the application into two applications that came to be called: Monitor and Bootloader. Likewise, it was decided to migrate from the Java language to Kotlin. The Monitor program must show a series of information, real-time values and parameters from the battery and from the ECU (two hardware elements of the scooter) in a way that is useful for the operator who uses it, that is, by using a simple and graphical interface that conceals the difficulties of the CAN protocol. The Bootloader program updates the firmware of a selected hardware element. All this must be done by selecting the appropriate transmission speed and with the necessary security measures to abort the process if an error occurs or the motorcycle does not respond.

[es] El presente proyecto consiste en el diseño y la implementación del software de escritorio de la moto electrica S01 de la marca Silence. Este software interacciona con los distintos elementos de la moto y permite, por una parte, la actualización del firmware de los distintos elementos que conforman el hardware de la moto y, por otra parte, la monitorización de un conjunto de variables con el fin de facilitar al servicio oficial de mantenimiento la prevención y detección de averías. Aunque existen programas estándares para interaccionar con el CAN Bus de vehículos, Silence estaba interesada en crear una interfaz a medida para que pudieran usarla todos los actores implicados en el diseño y fabricación de la moto, así como los servicios oficiales. Aunque inicialmente se iba a desarrollar una única aplicación, basada en otra ya existente para otro modelo anterior escrita Java, se decidió dividir la aplicación en dos aplicaciones que llegaron a denominarse: Monitor y Bootloader. Asímismo se decidió migrar del lenguaje Java a Kotlin. El programa Monitor debe mostrar una serie de información, valores a tiempo real y parámetros de la batería y de la ECU (dos elementos del hardware de la moto) de una forma que resulte útil para el operario que lo use, es decir, usando una interfaz gráfica y sencilla que oculte las dificultades del protocolo CAN. El programa Bootloader sirve para actualizar el firmware de elemento de hardware seleccionado. Todo ello debe hacerse seleccionando la velocidad de transmisión adecuada y con las medidas de seguridad necesarias para abortar el proceso si se produce algún error o la moto no responde.