Adrian Mango

#freemasterdash Create standalone Freemaster interactive MCU application with Electron

Discussion created by Adrian Mango on Jun 19, 2020
Latest reply on Jun 20, 2020 by Adrian Mango

The goal of this project is to provide examples and proof of concept on the integration of Freemaster JSON RPC javascript client library and Electron framework. Electron is an open source javascript framework built by Github that can bundle and compile standalone cross platform applications for Windows, Linux and Mac.

We already know that Freemaster Lite can be used with Chrome browser in the webinars. However, this requires user to install compatible Chrome browser and a browser is still being limited for what a browser can do.

 

With Electron, we can provide an installer to the user that has everything bundled, including its bundled Chrome instance. Hence, this approach will make it look more like native app. More over and unlike tradition browser, Electron exposes NodeJS APIs that allows more powerful operations on the host. Such as open and read a file from disk. Save log data extendedly directly to disk storage. Open sockets and make data available to the network. Access host hardware for instance serial, printer port, etc...

 

In this project, I plan to use bidirectional communication to the MIMXRT1020-EVK MCU target board. The host application will poll MCU sensor data and provide plot.ly charting for time series data. For extra visual candy, an 3-axis plot is provided for gyro data. Of course, data processing will be done from the host application. For MCU input, it may take uint16_t variable for LED color output. Logging data to disk can be switched on.

MIMXRT1020-EVK target board meets the needs of this project as it has various peripheral onboard as well as an Ethernet connection.

Outcomes