The All-New Arduino IDE 2.0: Introduction and Test

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
ten years of waiting has an end during the arduino day last week arduino officially released the beta version of its all-new ide which should give us all the features of a modern development environment without the hassle of a modern development environment too good to be true let's have a closer look great youtubers here is the guy with the swiss accent with a new episode and fresh ideas around sensors and microcontrollers remember if you subscribe you will always sit in the first row in 2005 the arduino project started the ide only supported their own products which were based on 80 mega chips when i got my first arduinos in 2013 the ide still was more or less the same and still only supported 80 mega chips then came the esp8266 and even grockhotkov he developed the support for this new chip in the arduino ide at first it was pretty clumsy but a few years later the arduino ide was adapted and could now support other mcus which was desperately needed also for the arduino company because they started to use all sorts of mcus in their own products all these changes were in the background the look and feel of the ide did not change because it was and still is easy to use and all the cheap china boards it was more popular than ever most other ides are proprietary and only support the chips of a particular supplier this is the reason why i still use the arduino ide on this channel many professional developers made fun of the arduino ide because of its limited capabilities and went on to more elaborated products like platform io visual micro and others but also fans like me want a more powerful arduino ide but what is a powerful ide according to wikipedia an ide should support syntax highlighting code completion refactoring version control debugging code search visual programming language support attitudes across different computing platforms i would prioritize the list and remove syntax highlighting visual programming and language support from priority one version control is also not too crucial for makers because most of us do not work in teams but i would add the support for different mcu families like atmega espressif or arm this list is not very long and the current ide already fulfills some points it runs on several platforms and supports different mcu families for example so let's download the new version and crank it up you find the download link just a little below the standard ide there are versions for windows linux and mac so we can already check the cross platform feature the installation is simple as always and it can be installed in parallel to the existing ide so no risk to check it out it uses the same libraries and sketch directory if you want i choose a different one to be safe for the test i will use the currently available version 2.0 beta four for a direct comparison we run both ides in parallel left is the current ide and right is the new one yes the new looks very similar the same color scheme the same menus and even the serial monitor is at the same place i assume the developers did not want to rock the boat three differences are visible here we have an additional menu bar they use a different font and the board selection is no more hidden if you do not like the colors you get the possibility to change them if you fear you will hurt your eyes with a bright screen as one of my young viewers wrote you can select a dark theme i keep the light theme for comparison and because when i was young my parents warned me that i would lose my sight if i read books with a torch instead of sleeping you see each generation has its fairy tales the syntax highlighting is more or less the same in both versions nothing to write home about other ides are more colorful but this feature is not essential for me the board selection is similar to what we know there is a significant difference though no boards are pre-installed if we want to use an arduino uno for example we first have to install it with the boards manager as well as all other boards we need as usual non-arduino boards need the addition of a json file in the preferences tab no changes here so let's program a little to see if we have other improvements to keep it simple stupid we modify our blink sketch and shift the pin toggling into a function by the way do you know who invented the kiss principle it was kelly johnson the leader of the famous skunk works department which created spy planes like the u2 the sr-71 blackbird and the first stealth bomber we start with typing void toggle pin parenthesis now you see the first difference the parenthesis is automatically closed cool but no proposal or autocompletion only automatic parenthesis closing disappointing this is what i thought before i discovered this little tick mark in the preferences tab pay attention it seems to get lost every time you restart the ide now it works as expected and proposes commands and variables very nice this for sure helps to gain speed and accuracy for my future programming there are still glitches for example serial print is not yet recognized also autoedent as well as autoformat usually do not work let's hope they will clean out these teething problems of this baby before the first official release and autocompletion behaves differently for different boards if we select an arduino leonardo or an esp32 it proposes in a different format for me the first format is more productive so we can tick another feature code completion exists but still needs some work let's check the renaming of variables or functions i add a variable called toggle now i want to change the variable name to change i search for toggle and hit this arrow to replace it with change unfortunately it proposes to change all lines with toggle not only the variable toggle if i press whole word only it only shows the occurrences of the variable and i can replace them one line after the other or hit replace all so renaming is somehow supported but not much different than in the old ide visual micro for example knows the context of the variable i want to rename so the chance you change something by accident is much smaller okay now we want to compile and upload the sketch the same buttons are still here but first we have to select the board and the com port because i already installed support for the esp32 we can select other port and port and select the esp32 dev module i do not know why it still is not happy and shows an exclamation mark though and we get another warning let built in is not declared this is expected because this variable should be declared in the boards file which is not done for the chosen esp32 dev board so we have to declare it here in the sketch after its definition the wiggly lines disappear but unfortunately many others appear all of them are wrong if we hit upload the sketch compiles without error uploads and the led blinks no need for wiggly lines let's quickly compile the sketch for the arduino uno the com port is shown and we can select the arduino uno we even can't comment led built-in because the boards.txt for the uno contains the definition hit upload and the led blinks you see we can easily switch between the two boards these definitions even remain intact after restart cool let's quickly check if the libraries work and install the bread and butter ssd 1306 library from adafruit unfortunately it does not work and creates an error message the library's directory structure was created but no files were added a disaster if i select the original arduino ide directory for the sketches and the libraries we can use all installed libraries but we still cannot install new ones did i forget something important serial console of course we add a few print statements to our sketch and hit upload and really we see the output as expected only if we hit upload when we use the serial monitor we get an error message just ignore it for several reasons it is too early for me to talk about the debugging feature only very few boards are supported for example the nano ble unfortunately this board has no swd pins to connect to the debugger you have to saw the wires to test pins not very professional not a lot of documentation for the debugging feature exists no esp-32 support arduino said they would not provide this support and leave it to the community to provide it if i extrapolate the many issues and the current state of the ide development i do not feel it would be a good usage of my time to try to use the debugger so let's check what we expected and what we got comparing all features there are only two main differences between the old and the new ide code completion and debugging both were on our wish list but unfortunately we still have to wait till they are ready for the esp32 debugger probably even longer in my professional life i have to assess projects when i'm asked for predictions for future performance i look at a team's past performance this ide project started in october 2019 as the pro ide and is now 1.5 years old so the chance we will get a stable and usable version where the promised features in the next half year is not very high and would be a pleasant surprise holidays in august in italy included but i love to be wrong in this respect still i like the idea that arduino invests time and money into this new ide and i donated my fifty dollars hoping that some of you will also support them after 15 years the arduino ide deserves a renewal and please if you start to use it report the box you discover this is the most valuable contribution during this phase of development this was all for today as always you find all the relevant links in the description i hope this video was useful or at least interesting for you if true please consider supporting the channel to secure its future existence thank you bye
Info
Channel: Andreas Spiess
Views: 170,238
Rating: 4.931695 out of 5
Keywords:
Id: nlI_5vxm3bk
Channel Id: undefined
Length: 13min 9sec (789 seconds)
Published: Sun Apr 11 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.