Beyond that, PlatformIO can be run not only on commonly used desktops/laptops but also on the servers without X Window System. While Platform IO itself is a console application, it can be used in combination with one’s favorite Cloud & Desktop IDE or text editor such as PlatformIO IDE for Atom, CLion, Eclipse, Emacs, NetBeans, Qt Creator. Arduino = Arduino IDE mbed = mbed.org ARM = IAR, gcc, Keil ESP8266 = SDK + Editor, Arduino IDE AVR = AVR Studio, gcc 6. C/C Intelligent Code Completion and Smart Code Linter. Built-in Terminal with PlatformIO CLI tool and powerful Serial Port Monitor. Colourful command-line output. Hi, I am new to PlatformIO running on WIN7. I complied and uploaded a sketch using Serial.println(“Hello World”) on an Aduino UNO board. The serial monitor window does not display any output. The serial monitor setup detects the correct comm port and the baud rate is also set correct. Compiling and uploading the same sketch in the Arduino IDE shows the Arduino serial monitor working fine. I installed 'Arduino - Support' plugin in my CLion and it's work very well!!! Now, I have a professional IDE for development of Arduino software. I have autocomplete code, auto adding #include section when I write my program code, and 'Serial Monitor' tool!
The official Arduino Desktop IDE is fantastic at what it was made for. After downloading, opening your first sketch (say, blink.ino) and flashing this to your connected Arduino hardware takes all of 3 seconds.
However, once your sketches become a little more complex, a more sophisticated IDE with code navigation, documentation and context-sensitive completion can be a great help.
Currently, one of the better solutions is the Arduino extension for Visual Studio Code. You can be up and running quite quickly, and after adding the necessary include directories to your config, the built-in IntelliSense C++ helps immensely with code completion, navigation and inline documentation.
However, this post is about getting CLion working with your Arduino projects, without using any additional software besides the Arduino IDE and CLion.
It’s slightly less straight-forward than with Visual Studio Code, but could be worth it, as CLion is arguably a better C++ and general programming IDE than Visual Studio Code.
The core of the solution is to create a cmake toolchain file for the Arduino, based on compilation parameters extracted from a verbose run of the Arduino Desktop IDE 1.8.5 in command-line mode.
Furthermore, it is important that all sketch code is moved out into .cpp files, and the necessary includes (importantly Arduino.h) and function prototypes are added. The main .ino (sketch) file has to be maintained with the same name as the containing directory, but it can be empty, which is what I usually do.
There are CLion arduino plugins which you could try (I could not get any of them working completely), but with this minimal example, you get to know exactly what is going on behind the scenes.
To get you started, I have converted the minimal stock Arduino blink sketch to a CLion-compatible project, including toolchain files for the AVR-based Uno and for the ARM-based M0 boards, and made it available on github as arduino-clion-minimal. You can easily modify your existing projects by just copying and modifying the CMakeLists.txt and the relevant toolchain file.
To try out CLionized blink, clone this repo, then open it with CLion.
Importantly, go to Preferences | build, execution, deployment | CMake
and then add -DCMAKE_TOOLCHAIN_FILE=arduino-uno-toolchain.cmake
or -DCMAKE_TOOLCHAIN_FILE=arduino-m0plus-toolchain.cmake
(my current favourite Arduino hardware!) depending on your hardware platform.
After opening, you should now have three build (Ctrl-F9 – the button to the left of the target selection, NOT run) targets at the top right of the CLion UI: arduino-clion-minimal
for quick compile-only checks, verify
for full arduino building, and upload
for full arduino building and uploading:
Before you upload, make sure that you’ve selected the correct board type and port with the Arduino desktop IDE.
With this simple setup, you should have access to all of CLion’s programming facilities during the development of your Arduino sketches.
Furthermore, Dmitry Cherkas’s Serial Port Monitor plugin can be used as Arduino serial port monitor for a more fully integrated experience.
Clion Platformio Serial Monitor Software
Let me know in the comments how it went!
Comments are closed.