Introduction: HITIPanel Software and Arduino in Industrial Prospect

About: Electronics Researcher, Developer, Designer, Trainer, Writer

A third-party Arduino development software promises to develop, control and monitor professionals projects. Let's dive into the tool to see what HITIPanel software promises and how much it succeed to develop industry-grade projects.

Step 1: An Introduction

A few months back!

A couple of months back I wrote one blog warming up discussion over a bare-metal microcontroller programmer and an Arduino developer. Blinking an LED on any microcontroller requires a dozen of lines and its 2 lines cakewalk on any Arduino series board. In your eyes who is an embedded system developer? What do you think a microcontroller-based project is more reliable and industry compliance or an Arduino one? I know you are doing some brainstorming and would end up giving both guys equal marks! But I am not convinced it is like comparing a homemade pan maggie cooked by your mom and a 2-minute oven cooked!

A few days back!

A few days back I came across one pushed advertisement on a social media platform promising to develop professional Arduino projects. And they claim it is being used by top engineers and developers. This is HITIPanel Software.

What is HITIPanel?

"HITIPanel is a software that allows you to control and monitor your Arduino through the customizable control interface. Moreover, HITIPanel is a great development tool that helps you develop your Arduino projects faster", this is what the manager Mr.Christophe Landret says in his post.

Step 2: Road Testing

Road Testing

So, then I decided to install the trial version of HITIPanel to give it a try and make a comprehensive analysis.

After installation and doing some settings I was ready to go. As it uses propriety protocol so you have to add its library "HITIComm" and some required functions. See image 1, showing my setup and HITIPanel.

Control, Monitor, and Debug

There are "Panels" and inbuilt "Libraries" to control and monitor different hardware sections to see what is happening behind the curtain.

As for my setup, we will use the "Digital I/O Control Panel" to:

Monitor digital input(a SWITCH on pin 3) Control a digital output(the on-board LED on pin 13) You can bind a name with the pin number like LED, Switch to address it by name in any other panel. To turn on the LED press the "IO" button in the command window and the inbuilt LED turns on, again pressing it you turn the LED off. See in image 1 and the Video.

This is the reverse of the above process here we toggle the switch from the breadboard and you can see toggling of the color dot in the command window.

Step 3: Code

#include <HITIComm.h>
// pins assignment
const int pin_Switch = 3;
const int pin_LED    = LED_BUILTIN;


// run once at power on
void setup()
{
    // initialize library
    HC_begin(); 
   
    // pins mode
    pinMode(pin_Switch,  INPUT);  // pin 3  -> INPUT
    pinMode(pin_LED,     OUTPUT); // pin 13 -> OUTPUT
    
    // switch ON the on-board LED
    digitalWrite(pin_LED, HIGH);
}


// run repeatedly after setup()
void loop()
{
    // communicate with HITIPanel
    HC_communicate(); 
}

Step 4: Charting

So, in this simple example, we saw to control and monitor input-output ports that can help in the debugging process also.

You can use the "chart" feature to plot up to 12 data versus time, to visualize the working and timing. I plotted one chart between time and 2 data, LED state and Switch State. You can also export all these recorded data into an excel file for later analysis. See Image time and switch plot.

Step 5: More Features

You can also monitor SRAM's occupied memory used to run your program. Stack for interrupts and function calls, Heap for dynamically allocated data. This helps to debug the program it has a memory issue. See SRAM Panel IOne feature I liked most it to measure loop cycle timing as all of the repeating code is dumped into the loop! Here are some readings:

Minimum Value, when no communication occurs: 20uS

Maximum Value, when peak communication occurs: 2024uS

This can be very useful in debugging and optimizing long programs.

Step 6: Features Contiue

There is an EEPROM Panel that displays the Global Space and User Space (Boolean, Byte, Integer, Float, String). See image.

There are more panels, libraries, and examples to explore. Like "Keyboard Panel" using that you can make a virtual switch.

Apart from the base library, there are libraries for Timing, Motor Control, and Signal Processing.

Step 7: My Review

In my perception, HITIPanel is more of a debugging software tool to see what's happening inside hardware and watch variables and values. This can be used as a quality control software while the product development cycle as there are many vital parameters to analyze like loop cycle time, chart plots, data logging.

This could be fine for very big programs where execution time and memory could be a serious concern in an industrial environment. For small and medium sketches it does not make any sense at all.

So, getting back to my maggie example there are more things to, cook, see and control like SRAM to see a shortage of RAM, EEPROM library enables management. But at the end of the day, it does not give you finer control over hardware as the microcontroller gives. Moreover, in the era of FOSS, this is a paid a maker license cost 49 bucks and a pro 99. It's not my cup of tea or maggie maybe in the context of my example. I would not make one a professional embedded system developer and a professional Arduino developer is only fun! Keep my words.

Step 8: The Bottom Line

If you develop embedded solutions for industry using Arduino series of boards you may consider it if the trial version gives you productive results like increased reliability, stability, speed, performance, lesser bugs, and increased life span of the product. Here is the download link https://hitisoftware.com/hitipanel/

Kindly do give a try to this software and post it in the comment box, what others see is also important as the Arduino community is very large.

Thanks

Rajeev Mehndiratta

👾