Close
0%
0%

Software Stack : Embedded to GUI

MSP sdk allows microcontrollers to be remotely accessed from a HTML/Javascrpt end point

Public Chat
Similar projects worth following
0 followers
SDK developped as MSP project includes the embedded side and high level application.
The Application runs on a computer (Windows/Linux) and runs HTML/JS code.

The software on client side connects to the embedded board using a standard serial communication port.

Embedded side responds to a unifomrly speced protocol which allows to receive commands and properly respond such as configuration and read/write commands.

Good day to all,

A couple months ago, and back from much longer even, I had the idea to mutualize the application software and embedded software by using building blocks.

As the idea matured, early this year, i began porting old code from a PIC16 (PIC16F886) microcontroller to a project that connected it to the computer through a Web GUI running HTML/JS.

This worked quite well and ended up in a GUI Lab that showed the GPUI, allowed to toggle them, put them into different mode (input, output), and read-back the values.

From this point on and as the work included a clean exchange specification, it was possible and easy to extend the project so as to make it a platform for application design.

Just yesterdat, the 6 decembre 2025, i put my hands into developping the basic firmware for Arduino R4 Minima, and the resut was this project being released on Github including the Windows software and Arduino firmware INO file, in just a couple hours.

The application i built is a very simple Analog read so the Analog pins can be monitored from a computer.

That enables a lot of simple applications to be done, for example charts/curves, a multi channel DC-Voltmeter, and a Data logger that connects to instruments and records the values, with a simple Breadboard circuit including Voltage Resistor bridge to adjust to the MCU level and mentionned Software stack.

As the project grows on, many possibilities are offered for it, for example, real world applications can be developped fairly fast provided the MCU with firmware is available, which as of today only includes the PIC16F628 and Renesas MCU used in the Arduino R4 Minima.

Compiling the code for other Arduino boards, or porting the PIC16F to custom MCU is not a very difficult work and potentially allows one to build high level applications running in JS/HTML and uniformly running on any hardware platform that's supported without need to recompile anything, as the way this project & SDK is designed, makes it agnostic to the hardware platform, as the commands go through the computer software, a console executable that provides a local HTTP server for GUI to run on top of, and a bridge to a standard COM port with a target that supports the MSP exchange specification on the other side.

Regards,

Jean-François

Howto_Arduino_R4_Minima.txt

plain - 890.00 bytes - 12/07/2025 at 16:34

Download

Arduino_R4_Analog_Example_v1.0.pdf

Adobe Portable Document Format - 86.02 kB - 12/07/2025 at 16:34

Preview

251207_Uno_R4_Arduino-main.zip

x-zip-compressed - 136.02 kB - 12/07/2025 at 16:33

Download

msp_251207.zip

x-zip-compressed - 287.85 kB - 12/07/2025 at 16:32

Download

  • 1
    Arduino Uno Firmware

    These are the V1.0 instructions.

    As the project matures and simplifications & fixes are published, some of it may vanish to become more straightforward.

    As of 7.12.25 v1.0 of the Firmware, a few steps are needed to connect to the boards:

    Github code : https://github.com/Micro-StudioPLC/Arduino
    Windows application : https://micro-studioplc.com/downloads/msp_251207.zip

    Howto:

    * Flash Ino (only first time)

    Below steps always needed at the moment to perperly init CDC:

    * Open Serial Monitor in Arduino IDE

    * Reboot board and check the serial output should be
    14:11:27.269 -> 
    14:11:27.269 -> CLV-DIY-V1:1.0

    * Close Serial monitor window in Arduino IDE

    * Start StudioPLC_v1.exe
    It should display the available Serial ports eg
    Port: COM1 - Port de communication (COM1)
    Port: COM8 - WCH-Link SERIAL (COM8)
    Port: COM3 - Périphérique série USB (COM3)

    * Connect to Arduino
    For example if COM3 is the board, type "co com3"
    You should then be connected. If
    [COM3] [Arduino:Uno_R4_Minima] [Server] [0] >

    * Open Web Page
    In Chrome Firefox Edge ...
    http://localhost:8088/analog.html

    Edit mode in the terminal (mouse text selection) can pause the software
    -> hit enter or right click to get in running again

View all instructions

Enjoy this project?

Share

Discussions

Does this project spark your interest?

Become a member to follow this project and never miss any updates