Sandboxed scripting on embedded systems

Title Sandboxed scripting on embedded systems
Summary Sandboxed scripting on embedded systems
TimeFrame Fall 2021
Supervisor TBD, please contact Slawomir and Hans-Erik Eldemark
Level Master
Status Open

Scripting can be used to enable custom behavior in applications that is difficult to express in the form of configuration parameters. It is common to support scripting in desktop applications, but less common on microcontrollers with limited memory.

The VESC motor controller is a versatile open source motor controller that is used by a wide variety of applications. Examples are electric bicycles, electric motorcycles, radio-controlled cars, robots, electric skateboards and self-balancing unicycles. There is configuration support for a wide variety of applications, but in several cases custom code is required. Currently the custom code can be incorporated by 1) modifying the firmware on the VESC, which requires a build system, programming hardware and knowledge about the source code structure; or 2) running the code on an external processor that communicates over UART, USB or CAN-bus.

This projects aims at investigating and implementing a scripting language on the VESC motor controller. This would allow defining custom behavior in VESC Tool that can run directly on the VESC motor controller in a sandboxed environment. A good candidate for this is the Lua programming language, but other implementations are also possible.