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