Why I’m switching over from the awesome Arduino IDE to Atmel Studio.


In this video I would like to explain why I’m switching over from the Atmel IDE to Atmel studio for my personal projects. And let’s explain it with a simple code example and an in-depth explanation of the workings of the Arduino IDE.

Please don’t get me wrong, the Arduino platform is absolutely amazing to get acquainted with microcontrollers. It’s very user friendly and easy to learn. So I highly recommend it to anybody who would like to start with microcontrollers.

The link to the Arduino quadcopter project:

And more information about the bitwise operators:



  1. I've been saying the same thing since Arduino appeared. And, any serious embedded systems engineer will have known this all along.

    Arduino is great for learning something about embedded design, but fails to inform its users of its limitations. The result is an entire ecosystem of 'good enough', instead of doing it right.

    Fortunately, it results in 'thinning the herd', because the average digital nomad, instant gratification, self-appointed nerd will not take the time to dig out the information and learn the techniques needed to design accurate and reliable embedded systems.

    I have used Atmel Studio occasionally for the past 20 years or so, and watched it evolve to the bloated beast the current version has become. I now use a simple programming IDE, and makefiles with gcc under Linux to write my code. I'm trying to get a debugger running, too, because I find the one in Atmel Studio (older versions) so helpful, but I still rely on debug statements and an oscilloscope to get things done.

    So, 3D print THAT, kids! And get off my lawn!

  2. Great example description, as to why it maybe necessary to move from Arduino IDE to Atmel Studio. Thank you for taking the time to put this video together and the depth of information was great. Brilliant work.

  3. You don't have to disable timer register, you can eliminate the whole timer setting up code and free up some space.

    Using setup and loop lets the Arduino do its thing in setting timer and all that, you can avoid that by adding:

    int main() {
    for(;;) loop();

  4. Arduino is good for kids and those with a non electronic engineer background, however 1% of people are producing code and 99% are "sharing" it without understanding how it works.

  5. Joop, prima video. Arduino is een goed platform maar heeft ook zijn beperkingen, die weinigen echt begrijpen. Ik verzorg het vak "inleiding microcontrollers" bij de opleiding Embedded Systems Engineering van de HAN Hogeschool. Wij gebruiken Atmel Studio en zetten poorten en timer outputs op de door jou aangegeven manier, en niet de Arduino IDE.
    Mvg ir drs E.J Boks, HAN Arnhem

  6. Joop's videos are alwasy so instructive, thanks you are the man 😀
    So I went to check the Atmel Studio web page… Windows only, no way.
    I do have a Win10 installation and Win10's bugs are so unbelievably evident that it's just plain irritating, plus it starts doing unscheduled "house management" at any moment without asking for permission and imposes not to switch off the machine, you might be in a great hurry but no, it has been decided by Bill that you are going to be stuck for a while, it couldn't happen while you are going to eat etc., nope, right then when you are so much in a hurry.

    Besides, I love the Linux shell bash, I have plenty of scripts to make things easier, including searching for regular expressions in source files or headers only. But thanks anyway, maybe some project in the future will require the Atmel Studio (but I'll do my best for that not to happen… notice that I also have some expensive software I bought in the past which is Windows-only, aaaand the same I ended up using it veeeery seldom, alas… Bill Gates should stop forwarding the depopulation agenda with his vaccine-disguised sterilizers and go back to take care of Microsoft's products… not that there were no awful bug before, too).

  7. these details are very informative and valuable. I am wondering whether its possible to program the STM32 or Teensy 32 with Atmel Studio or Visual Studio (without Ardiuno IDE / Visual micro)

  8. You project is amazing!. The best that ive see. My problem with my project radicate in how send a modified PPM signal to the flight controller from arduino code.

  9. Very good video and exposes important Arduino timing information. In addition to the software solutions proposed here, one should also consider using (and taking direct control of) the internal devices of the processor device (i.e. Timers). I have had much better luck making pulse width measurements this way.

  10. One of the big headaches with Arduino code is how header files are scattered over a dozen directories, which makes it harder to find out what code is doing.

  11. This video made me start programming microcontrollers and switch from Arduino. Its been more than 2 years since I saw this video and I already have experiences with AVR, PIC, ARM and ESP microcontrollers. Since I saw this video, I never wanted to program "arduino compatible" boards in Arduino IDE and always tried to program it in its "natural" IDE/IDF. I always aimed to write my own libraries especially using the registers. Your video caused my hobby to jump to a whole new level. Saying only thank you felt so simple, so I wrote my story 🙂

  12. As a general rule, always use the dev enviro from the manufacturer. As an opinion, work in a C variant and be able to understand in-line assembly code. Those two things are required to solve all timing issues.

  13. Thank you for the introduction to this new tool to me, Atmel Studio. It will come in handy for precision coding.
    I'm wondering, since several years have gone by, if there isn't anything newer and better? Thanks.

  14. Great video, thank you for sharing your experience.
    I wouldn't call an IDE with no debugger/simulator "awesome", though…
    Actually I wouldn't call it an IDE at all: indeed, I'd probably rather write a firmware in assembly using a good IDE than writing it in C/C++ using Arduino IDE.
    Atmel Studio is great (it's based on Microsoft Visual Studio): I just find it quite slow when simulating cycles.

  15. That was good, but reading your enormous high resolution monitor on my third rate one, doesn't work at all.

    If you zoomed the font size by a factor of 4 or more, it would be a lot more readable.


Please enter your comment!
Please enter your name here