Embedded JavaScript at FOSDEM 2023

Moddable was honored to exhibit at FOSDEM 2023 in Brussels, Belgium. FOSDEM is the preeminent open source software event in Europe. We were very fortunate to have a stand dedicated to open source Embedded JavaScript because lingering pandemic concerns limited the number of exhibitors. Our stand was in the IoT area, which was busy throughout the weekend event.

If you've attended FOSDEM, you know it is unlike any other trade-show, operated entirely in the spirit of free and open source software. It is held on a university campus and run by volunteers with no cost to exhibit or attend. There's not even registration of attendees. Attendees are primarily hardcore open source developers who aren't afraid to ask pointed questions and are eager to share their own projects.

Why JavaScript for Embedded Systems

Our objective for FOSDEM was to show developers the benefits of building their embedded projects using JavaScript. The vast majority of attendees work in C/C++, so we first had to address the myth that using JavaScript would prevent them from also using C/C++. The Moddable SDK provides an API to bridge between C/C++ and JavaScript. Instead of removing C/C++, embedded JavaScript adds a powerful tool to the developer's toolkit.

From there, questions centered around the benefits of embedded JavaScript. There was consensus, even among those that prefer other languages, that developing in JavaScript is faster and easier than C/C++ for much of the code that goes into embedded projects. And because JavaScript is one of the most popular programming languages in the world, embedded JavaScript opens the door to many more developers to contribute to projects for embedded systems.

Many developers were pleasantly surprised to learn about the benefits of standardization. Each chip manufacturer has their own embedded APIs. To work on that chip, developers have to learn those APIs. This locks developers into a specific chip family. By contrast, the Moddable SDK has embraced standard JavaScript, providing the same standard APIs across chip families so developers can more easily bring their experience and code to the chip that best suits their latest project.

If that's not enough reasons, there's security. Developers who've delivered secure projects in C/C++ understood the challenge of securing their code and the third-party libraries they incorporate. Because JavaScript provides secure execution by design, common security vulnerabilities are eliminated. Review and testing by many independent contributors has hardened the open source embedded JavaScript engine in the Moddable SDK.

Embedded JavaScript demos ready to go

Automation with Node-RED

We showcased a relatively new embedded JavaScript project at FOSDEM: Node-RED MCU Edition. This open source project brings the popular "low-code programming for event-driven applications" to embedded systems. Node-RED usually runs on computers like the Raspberry Pi, but we've been able to adapt it to run on embedded systems in standard JavaScript.

Node-RED is extremely popular for home, lab, and commercial automation projects because its visual editor lets developers quickly wire together APIs, network services, and hardware components. Because it's implemented in JavaScript, developers always have the option to use JavaScript to customize their projects. The result is an environment that is accessible to novice developers with all the power demanded by experienced developers. We're excited about the potential for Node-RED MCU Edition to let more developers take control of their IoT devices.

A key part of Node-RED's success is its excellent visual editor that makes creating projects easy and reliable. At FOSDEM, we showed the Node-RED MCU plug-in that builds and deploys embedded projects in the standard Node-RED editor. It dramatically simplifies embedded development. This ambitious project was created by Ralph Wetzel, who generously drove to FOSDEM from Germany to show his work. Visitors were blown away by the power and simplicity of Ralph's demonstrations.

Ralph Wetzel demonstrating the Node-RED MCU plug-in

It's a wrap

Our team worked two very busy days at FOSDEM, with a break for traditional Belgian moules-frites Saturday night. We had fun sharing our work with a deeply technical audience and did our best to answer the many tough questions from skeptical developers about the benefits of embedded JavaScript. We were pleased that so many of them were open, even enthusiastic, about the potential for embedded JavaScript in their future projects.

Peter Hoddie, Patrick Soquet, and Ralph Wetzel