What is the ArduinoJson Assistant?

The ArduinoJson Assistant is an online tool available on this website that helps you write code for the ArduinoJson library.

Its main features are:

  1. Compute JsonDocument’s capacity
  2. Design filters for deserializeJson()
  3. Write scaffolding code

For more information, please watch this video:

What took you so long?

I created the ArduinoJson Assistant in 2016 for version 5 of the library. At that time, it could only build the capacity expression and compute the result on AVR and ESP8266. The original code fitted in a 140 lines <script> block.

Later on, as I added features, I extracted several JavaScript files and wrote unit tests. The project was still in “quick prototype” mode, so I didn’t want to make it open source at this point.

In 2019, I upgraded the Assistant for ArduinoJson 6, but the code was mostly the same.

In 2021, I redesigned the interface to include the four-step wizard we have today. This new interface was based on Vue.js version 2. The code was still not ready for public viewing because it was using an archaic method for bundling (using Jekyll’s {% include %} statements).

Earlier this year, I decided to extract these JavaScript files into a dedicated repository so I could set up a proper JavaScript compilation suite. I took this opportunity to upgrade to Vue.js 3 with Vite.

Where can I find the code?

The code for the ArduinoJson Assistant is hosted on GitHub here: github.com/bblanchon/ArduinoJsonAssistant

The project follows a classic Vue.js structure, so you should be able to find your way into the files. It uses vue-router to navigate between the steps, Pinia for state management, and Vitest for unit tests.

Contributions are welcome, but please open an issue so we can discuss first. There is nothing more frustrating that getting your Pull Request turned down because it’s not align with the vision, so please contact me before investing a lot of time on this.

Stay informed!

...or subscribe to the RSS feed