Skip to main content Skip to local navigation

What’s next for Firmata

[work in progress, Summer 2023]

In the Winter of 2022 and 2023 we used Firmata and Firmata4j in the EECS 1021 class. It provides a great deal of functionality while also allowing students to focus on the development of the client on the computer rather than both the client and the Arduino server code.

At it’s core, Firmata allows a PC-based program to access sensors and actuators on the Arduino board without having to manually program the Arduino. This is great for basic telemetry and control.

Firmata is very popular and many people have looked to extend it. One really interesting way to do this is with FirmataBuilder:

The FirmataBuilder website.

There are other custom firmwares including:

  1. ConfigurableFirmata.
  2. Firmata Express (Mr Y)
  3. Extensions for CircuitPython (microphones, NeoPixel, accelerometer, etc.)

Firmata4j (updating on GitHub)

The latest branch, as of May 2023, is version 2.3.9. It includes a shift to jSerialComm. The pre-release version can be found here: https://github.com/kurbatov/firmata4j/tree/feat/one-wire.

Note that there are instructions at the bottom of that page on how to participate in updates. It is not currently on Maven Central.

Python

Java

C++

OpenFrameworks. GitHub page shows firmata 2.5.0 inside.

Elements to incorporate in 2023 and onwards

  • Ultrasonics
  • Realtime clock.
  • temperature and humidity sensors
  • General I2C

The FirmataPlus / Firmata-Express approach.