Cookies op Tweakers

Tweakers is onderdeel van DPG Media en maakt gebruik van cookies, JavaScript en vergelijkbare technologie om je onder andere een optimale gebruikerservaring te bieden. Ook kan Tweakers hierdoor het gedrag van bezoekers vastleggen en analyseren. Door gebruik te maken van deze website, of door op 'Cookies accepteren' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt? Bekijk dan ons cookiebeleid.

Meer informatie

Bèta van Arduino IDE 2.0-programmeersoftware is beschikbaar

Arduino heeft een bèta van de tweede versie van zijn programmeersoftware Arduino IDE uitgebracht. Arduino IDE 2.0 heeft een uitgebreide code-editor met autocomplete en een live debugger. De bèta werkt op de meeste officiële en thirdparty-Arduino-boards.

Arduino Integrated Development Environment wordt gebruikt om programma's te schrijven en uploaden naar Arduino-hardware en werd in 2005 ontwikkeld. De IDE komt uit onder een GNU General Public License en is volledig open source. Arduino IDE ondersteunt inmiddels meer dan duizend officiële en niet-officiële Arduino-boards. De eerste versie van de IDE heeft een simpele interface die vooral gericht is op beginners, maar heeft beperkte editingmogelijkheden.

Arduino IDE 2.0 heeft naast een complete visuele make-over, een uitgebreidere editor gekregen, waardoor deze ook nuttig is voor gevorderde gebruikers. De editor is responsive, heeft code indentation, block folding, auto-closing brackets, expression search and replace en comment toggling. Ook heeft de nieuwe versie autocomplete van variabelen en functies.

De autocomplete-functie van IDE 2.0

De andere feature van Arduino IDE 2.0 is dat deze een live debugger heeft, waarmee makkelijker fouten kunnen worden gevonden in stukjes code. In het debugpanel kunnen breakpoints ingesteld worden, zodat fouten opgespoord worden in een specifiek stuk code en variabelen kunnen aangepast worden tijdens het debuggen. De debugger ondersteunt alle Arduino-boards die draaien op SAMN en Mbed-platforms. Voor andere thirdpartyboards volgt nog een technische handleiding om de debugger in te stellen.

Volgens Arduino is de ontwikkeling van Arduino IDE 2.0 mogelijk gemaakt door donaties en het aanschaffen van originele Arduino-boards. Daarvan zijn de developers betaald om aan de opensourcesoftware te werken. De bèta is te downloaden voor x86-64bit-Windows, Linux of macOS, al noemt Arduino de software wel nog experimenteel en waarschuwt het voor mogelijke bugs.

In 2019 liet Arduino al weten te werken aan een pro-versie van de Arduino IDE-programmeersoftware. De alfaversie was op dat moment te downloaden. Die pro-versie gaf gebruikers onder andere een nieuwe boardmanager, waarmee aangesloten apparaten konden worden beheerd en een librarymanager voor het beheren van geïnstalleerde codebibliotheken, evenals de features die nu in Arduino IDE 2.0 zitten. Arduino Pro IDE is nu omgedoopt tot Arduino IDE 2.0. De website van Arduino Pro IDE verwijst naar Arduino IDE 2.0.

Wat vind je van dit artikel?

Geef je mening in het Geachte Redactie-forum.

Door Stephan Vegelien

Redacteur

03-03-2021 • 14:16

31 Linkedin

Submitter: Tim_the_Toolman

Reacties (31)

Wijzig sortering
Ben benieuwd, gebruik eigenlijk al tijden de Arduino plugin voor VSCode, simpelweg omdat de Arduino IDE een aantal prettige functionaliteiten mist.
Vanuit de screenshots lijkt het erop dat het in ieder geval gebaseerd is op hetzelfde platform als VS Code. Hoeveel verschil er dan is tussen de plugin en de editor kan ik zo niet zeggen.
Het is inderdaad gebaseerd op Eclipse Theia (wat weer gebaseerd is op VS Code). Denk dat de UI dus wel flink anders is, maar zoals je in het repo kan zien is het in essentie ook gewoon een extension die draait.

https://github.com/arduin...ain/arduino-ide-extension

Dus die zou zomaar in grote delen overeen kunnen komen voor de code editor gerelateerde functies.
De arduino plugin kan ik zeer erg aanraden. Persoonlijk vind ik dat deze veel fijner werkt dan de officiele Arduino IDE. Functionaliteiten van VS Code, zoals auto completion, zijn wat mij betreft veel beter dan de officiele IDE.
Je zou ook PlatformIO (https://platformio.org/) kunnen proberen. Hiervoor is ook een VS code plugin beschikbaar en werkt wat mij betreft ook zeer goed.
Ik vond voor embedded development het PlatformIO plugin voor VS Code heel nuttig. Makkelijk om libraries om uit te zoeken en heeft support voor verschillende bordjes.
En PlatformIO kan je ook makkelijk in een CI pipeline integreren. Ook niet onbelangrijk als je je ontwikkeling wat serieus neemt.
Ik gebruik PlatformIO met CLion. Het beste van twee werelden voor mij!
Nu lijkt de https://www.raspberrypi.org/products/raspberry-pi-pico/ ineens weer minder interessant te worden. In tegenstelling tot arduino's werkt deze op (micro)python, maar als de IDE van arduino ineens beter wordt dan...
Die vergelijking gaat niet helemaal op. De Pi Pico is een compleet ander bord dan de 8 bit AVR arduinos. Er zijn natuurlijk wel andere arduino's gebaseerd op bijvoorbeeld ARM die beter zijn te vergelijken, maar de IDE is hier denk ik niet de reden om voor een Pi Pico of Arduino te kiezen. Arduino gaat de RP2040 overigens ook gebruiken voor een eigen board.

Microphyton is een heel ander soort taal. De code loopt bovenop de de "firmware" in de Pi Pico. Je kan de Pi Pico ook in C profgrammeren via verschillende programma's. Dat is min of meer hetzelfde als je in de Arduino IDE gebruikt. Het grote verschil is dat een compiler deze C taal optimaliseert en omzet naar "machine language"

De code gemaakt door de compiler in de arduino IDE of een ander programma is daarom vaak veel efficiënter. Sommige zaken gaan wel meer dan 1000x sneller. In andere gevallen kan microphyton best dicht in de buurt komen. Microphyton is echter wel een redelijk makkelijke taal vergeleken met C, en je kan live de programmatuur in je microcontroller aanpassen ipv dat je eerst moet compileren.

2 hele verschillende manieren van programmeren, en ook 2 hele verschillende microcontrollers dus. De Pico is veeeeeeeeeel geavanceerder zeker door de aanwezigheid van de relatief geavanceerde PIO.
Hoe is de Pico geavanceerder? Ik zie voor de GPIO van de pico geen grote verschillen met andere ARM gebaseerde uC's. En gezien het een M0 is heeft het ook geen FPU, wat voor mij een uC op een "geavanceerde" positie zet. De dual core is het enige wat interessant is mits dit goed gebruikt kan worden in een RTOS. Maar ik zal altijd een FPU verkiezen boven dual-core. Dit laatste wordt ook vaak wel evenaart met Dual Issue Superscaler Architecture op de M7 bijvoorbeeld.
Ik vergelijk de Pico dan ook vooral met 8 bit AVR. Ook doel ik op de PIO van de pi. Een programmable Input Output dus. Deze kan zelfstandig taken uitvoeren zonder de processor te gebruiken. Denk aan dingen zoals het aansturen van een stappen motor, het emuleren van een interface, of bit banging in het algemeen. Dat kan een mega krachtige tool zijn.

In hoeverre die dingen ook mogelijk zijn op STM32 en ESP weet ik eigenlijk niet zo goed. De pico is echter zeer krachtig zeker als je de prijs en potentie naar de DIY community meerekent. Daarmee zit hij echt op een ander niveau dan Arduinos.
Je kunt voor de Pico ook in C/C++ programmeren, maar ik kan me voorstellen dat je dan wat minder keus hebt qua libraries?
In het algemeen bestaan er en hele boel libraries voor C/C++, voor allerhande sensoren e.d., die reeds voorzien zijn voor Arduino Uno. Zie bv de vele Adafruit bordjes. Die libraries zouden niet zo heel moeilijk te porteren zijn naar de Pico. Het is misschien niet allemaal zo plug-'n-play als je zou willen, dat klopt.
Ja, ik denk dat dat iets is dat, als de Pico momentum kan krijgen, wel zal gebeuren maar op dit moment neem ik aan dat MicroPython wat dat betreft nog een streepje voor heeft bij sommigen.
De grote voorraad kant en klare oplossingen is nog steeds een niet te onderschatten voordeel van de Arduino familie. Vraag google om een 'willekeurige sensor Arduino hookup' en succes is vrijwel verzekerd. De esp286 en esp32 zijn wat dat betreft ook erg goed vertegenwoordigd. De meer exotische bordjes (vooralsnog reken ik de Pico daar onder) zijn theoretisch redelijk uitwisselbaar maar vragen behoorlijk wat meer kennis en ervaring.

[Reactie gewijzigd door akooijman op 5 maart 2021 12:02]

maar als de IDE van arduino ineens beter wordt dan...
Dan gebruik je die gewoon voor de Pi Pico... want Arduino is bezig met de ondersteuning voor de RP2040, en dus de Pico.
De meeste ontwikkelbordjes hebben een "gratis" gelimiteerde/gelicentieerde versie van J-link, zoals een OpenSDA bridge, aan boord. Er moet namelijk een manier zijn om het ding te programmeren. Daar heb je niet per se een pod zoals diegene die jij linkt voor nodig.

Met OpenSDA kun je ook prima debuggen, weet ik uit ervaring.

[Reactie gewijzigd door CykoByte op 3 maart 2021 16:50]

Nice, dit is zeer prettig lijkt mij! Ik kan m'n huidige projectje niet makkelijk overzetten naar PlatformIO. Dus dit is een hele uitkomst :)
Misschien is Eclipse met de Sloeber plugin iets voor je. Ik had eerst ook PlatformIO maar vond het toch niet prettig.
Met Eclipse werkt het voor mij beter, al moet ik wel zeggen dat het soms wat quirky is. Bijvoorbeeld lange namen voor de paden kan niet, dus heb ik maar subst gebruikt.
Heb net IDE 2.0 even gedownload en geinstalleerd. Lijkt gewoon op VS Code wat ze in hun eigen jasje hebben gestoken. Aangezien ik daar minimaal 8 uur per dag mee werk, vind ik de keuze voor deze beta niet zo gek, maar hartstikke bedankt voor je aanraders! :)
Ik probeerde twee bestaande projectjes te compileren in beide gevallen een 'error code 2' zonder enige bruikbare uitleg.
Ik wacht eerst op de release.
Gebruikt zo te zien dezelfde onderliggende technologie als VS code
Als een van de developers van grbl_esp32 kan ik zeggen dat de arduino ide een regelrechte ramp is. Je verwacht een normale c++ omgeving, maar helaas is dat het niet... In de praktijk worden ino files samengevoegd met wat extra code en dan pas gecompileerd (wie die ino ellende heeft bedacht moeten ze opknopen). Als je je project verkeerd structureert, worden zelfs alle files op een hoop gegooid. Custom code in custom folders (omdat je ze niet altijd wilt meelinken) kan je niet incrementeel compileren - en in plaats daarvan lijkt het te werken, maar krijg je de oude binaries. Builds zijn traag. Build flags zijn... lastig. De lijst gaat gewoon maar door...

We ondersteunen beiden, maar alle devs in het project gebruiken platformio samen met vscode. Dat werkt praktisch altijd sneller en beter.
Wel verbazingwekkend dat die Java IDE zolang al meegeleverd wordt. Mocht je afvragen waarom die IDE zo een ramp is voor het programmeren van uC's, het is een kloon van de p5 omgeving van begin 2000. 8)7
Dit is verre van de same shit..
Ooit gewerkt met de eerste 'IDE' van Arduino? Was meer een text editor, met compile functies.
Arduino Pro IDE heb ik het over.
shit? jammer dat je in zo'n interessante leuke ontwikkeling iets negatiefs ziet.

Op dit item kan niet meer gereageerd worden.


Apple iPhone 12 Microsoft Xbox Series X LG CX Google Pixel 5 Sony XH90 / XH92 Samsung Galaxy S21 5G Sony PlayStation 5 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True