Arduino has been cheating on you. Part two

The “translator”

Carlos Aldea
3 min readJul 9, 2024
Photo by Sahand Babali on Unsplash

In this second chapter, I’ll continue depicting all the things Arduino is hiding from you (and takes you away from being a “professional” firmware developer).

The compiler

After knowing the CPU you have in your hands (as we saw in chapter one), the next natural step is getting the tooling to build SW on that CPU.

And the most important tool you will need is: The Compiler.
Indeed, you will meet a new friend called “cross compiler”.

But before talking about this, let’s get back to Arduino.

Click on “Build”

That is the only thing you must do to get your compiled binary ready to be flashed on your board.

But, as you may suspect, Arduino is hiding you what is being done under the hood.

And it’s nothing but invoking a compiler (a cross compiler) that converts all the .c (I mean, .ino) files into .o files and then put them all together, doing something called “linking”, to finally get the binary will run on your board.

Cross and non-cross compilers

We have talked about “compilers” and “cross-compilers” so far. I’ll try to explain what…

--

--

Carlos Aldea

I am an addict. But don't worry, my addiction is a good one. I love learning things. And I am going to try sharing my learnings.