Interview with last year's YH4F winner, Davide Rorato
After six months of programming there are only a few days left until the
end of Youth Hacking 4 Freedom 2024. We are very excited to see this
year's projects and to learn more about the participants and their work
during the past months. Before we dive into the new projects, let us
take a deeper look at last year's winner, Davide Rorato.
Davide presenting his winning project, 'ArduPlot', at the Award ceremony in Brussels, October 2023
Davide programmed the tool "ArduPlot", a real-time
serial plotter that automatically adjusts itself to your use
case. ArduPlot provides a nice graphical overview of the sensor data
from any Arduino board. But let us hear all about ArduPlot from its
developer.
FSFE: Hi Davide, thank you very much for your time.
Before we learn more about "ArduPlot" we want to learn more about you
and your skills. What was your first experience with programming, and
how did you start learning to write code?
Davide: My first ever experience with programming was
creating Automator scripts. Automator is an application that lets you
create a sequence of actions such as keyboard presses and mouse
movements that can be recorded and then played back without the need to
write any code (it’s actually a lot more powerful but I used it in a
very basic way).
The next thing I started to experiment with was coding on an Arduino UNO
that I borrowed from my older brother. When it wasn't in use I would
write simple programs by copying them from a book of ready-made projects
and adapting them to suit my needs. This gradually evolved into me
wanting to know more about programming and electronics, and a couple of
years later, during summer vacation, I thought it would be fun to
actually learn how to code, so I opened up YouTube and followed the
first C++ tutorial I could find.
After getting accustomed to the basics, when I got an idea for a
project, I would start coding until I found a problem I didn't know how
to tackle. I then googled and tried every way possible to make the
program work until it did.
FSFE: Can you remember when you first used Free Software?
Davide: I think my first contact with Free Software was
with the OpenOffice suite, followed by the Arduino IDE. Of course at
first I didn't realise what Free Software meant, and I was simply glad I
could use the software for free, but as years passed I came to really
appreciate the ethical principles of Free Software.
FSFE: How did you find out about this contest?
Davide: It was thanks to my IT teacher, who told my
class about this contest when the first edition of YH4F started. I
actually participated in the first edition of YH4F as well, but I didn’t
manage to win, and seeing the quality of the projects
that did it was clear why, they were amazing!
FSFE: Why did you decide to join YH4F?
Davide: The first year I decided to join because I
thought it would be an excellent opportunity to do a bigger project, and
in turn learn a lot of new things that I didn't have an opportunity to
before. Had I not participated in the first edition, I wouldn’t have
been able to create ArduPlot the following year.
For the second edition of the contest, I actually didn't have any plans
to submit a project, but incidentally I had been working on ArduPlot to
help with the debugging of a robot for a school project, so the day of
the submission deadline I thought: “Well, I got nothing to lose so I
might as well submit this!”. I can safely say I did not regret that
decision!
ArduPlot graphical output of the input from an Arduino board
FSFE: And before we talk a bit more about
ArduPlot, what did you enjoy the most about this contest?
Davide: The thing I enjoyed the most was the open-ended
nature of the contest. Any type of Free Software can be created and
submitted, with no restriction to a specific type or theme, letting
everyone work on something they are passionate about at the moment.
FSFE:This is nice to hear, however we
also know that this can be quite a challenge for some to find "their
perfect project". Here as you said it is very important to find
something you are passionate about, or a problem you want to fix. And
of course, the YH4F team is there to help you to come up with an idea.
Now for some more detailed questions about ArduPlot. Can you explain
how ArduPlot works and how you came up with the idea?
Davide: I created ArduPlot from a need to analyse
different types of data coming from a microcontroller for an autonomous
robotics project one of my classmates and I were developing.
The robot had all kinds of sensors on it, and we needed to split fast
paced data from the sensors, that required a specific visualisation
(line graph, heatmap), from the less frequent text logs.
If these two things are mixed together in a single text console, it’s
much harder to see what’s happening at a glance.
What ArduPlot does is split this data in two: when it recognises a data
packet, it gets analysed and displayed as a visualisation. For any other
case the data gets redirected to a text console.
FSFE: What was the biggest challenge or
problem you faced when developing your idea?
Davide: The main challenge I faced was reading data
from the microcontroller reliably, which meant reading, parsing and
displaying it faster than the data coming in, which isn’t a problem with
low data rates, but as they get higher issues start to appear if
everything isn’t properly implemented.
FSFE:It sounds like you were already
somehow familiar with microcontrollers before you started ArduPlot.
Have you worked with the data from microcontrollers before?
Davide: Yes, but in past projects I didn’t need this
type of detailed visual feedback. The Serial Plotter in the Arduino IDE
sufficed most of the time, because I had a couple of sensors at most
attached to the microcontroller.
FSFE: Are there any problems that
ArduPlot has solved for you when working with this kind of data?
Davide: ArduPlot made it possible to see through the
'eyes' of the robot in real time and discover and fix bugs faster. For
example, if a sensor got slightly moved and suddenly the robot started to
work badly, we instantly knew what went wrong at a glance by looking at the data.
FSFE: What motivated you to keep working
on ArduPlot during the programming period?
Davide: The main motivation was the fact that I
actually needed the program I was developing, and without ArduPlot,
debugging the code of the robot would have been much more time-consuming.
FSFE: Have you continued to work on your
project in recent months?
Davide: Yes, but not as much as I wanted to. I have
lots of ideas for features I want to implement (and bugs that need to be
fixed) but during the past months I have been busy with other projects,
and most importantly university, which I have prioritised.
Nevertheless, since the contest ended I’ve added Windows support, I
fixed a couple of critical bugs, optimised heatmap rendering, added
friendly USB device names alongside the serial device’s location on
Linux and added serial output, which was the last thing keeping ArduPlot
from reaching feature parity with the Arduino integrated serial
terminal/plotter, but with the addition of other quality of life
improvements, such as auto reconnect and, of course, the ability to plot
graphs on demand!
FSFE:
And last but not least, is there anything you would tell new participants to do or not to do?
Davide: Build something you are passionate about and
that other people would find useful or cool, but most importantly have
fun doing it!
FSFE:Thank you Davide for your time, it
was a pleasure to meet you in the Youth Hacking 4 Freedom contest.
The 2024 edition of Youth
Hacking 4 Freedom is still going on now! The coding period ends on 30
June. The next edition will start on 01.01.2025. You can already
register now. Check out the YH4F website to find out all the details of
this competition or feel free to reach out to the organisers via mail!
Support FSFE