I’m a sufficiently advanced programmer, and I still use the Arduino IDE rather than anything else for my electronics projects (though mostly non-Arduino boards these days)
My VSCode setup is already crowded with Development tools for other platforms and the Arduino IDE reliably works, with the libraries. I’ve been using the 2.0 beta for awhile And it is really nice. I’m pleased it’s made it out of beta.
I'm the exact opposite.
I find the Arduino ide totally unusable. It takes forever to start up. Every operation is slow.
It can take over ten seconds to open a small file and display it on an top of the line 12th gen Intel laptop
It literally recompiles all code on every verify or upload (because "we don't want lots of machine objects littering hard disks")
So on any of the mbed based boards compiles are like a minute or two for anything. On platformio and other compatible ways, it is instant.
So even for basic messing around I don't use the Arduino ide because it makes it not fun
Lots of people swear by PlatformIO on VSCode, and that's totally fine. But if you're the kind of programmer that just wants "notepad, but with an 'upload' button" the Arduino IDE is hard to beat.
Interesting I found platform.io and a like a Makefile approach so I can continue using vim… but it’s a little frustrating when the esp32 s3 came out and support lagged behind… maybe I should use the more native approach for these or maybe just use the IDE… I just can’t bring myself to learn a user interface that will not be the same in 10 years… vim and bash have not really changed in 20 years …
Yeah, I'm the same way. I battle build systems, cross compilers and version control all day for work. I have specific company owned laptops set up for all that. When I just want to mess around with a microcontroller, I fire up the Arduino IDE, and use Google drive for versioning...
Yes, arduino-cli is very nice. You get the convenience of arduino ecosystem (prebuilt cross-compilers, board files, libraries), without the downsides of using full blown IDE.
This is an aside, but Arduino has saved my butt during the chip shortage. It's often possible to port code from one chip platform to another with relative impunity. I've ported mundane apps to lower performance chips, to free up the fancy boards when new boards become unavailable. Also, sharing code across platforms has resulted in a much larger developer community.
Nothings perfect, sometimes you need chip specific functions, but I have so far been pretty lucky.
Yes! This is exactly why I continue to use Arduino for both personal and "work" (various non-industrial one-off widgets), despite having been literally laughed out of the room by embedded software and hardware engineers for even suggesting it.
Like for one project as a student, we had to make a dozen or so units of a custom data logging thingy. The plan was to use STM boards, but I suggested using Arduino software/libs because all the hardware was supported and we didn't really need anything STM-specific. Eyes were rolled, something to the extent of "Arduino is for amateurs and children" was said, so I volunteered to work on the server side instead and let them have their fun with STM32 HAL. They ended up having to interface with most things manually because libs just don't exist or aren't publicly available. Half a year later, they needed to set up a more of these units, but it was in the middle of the supply chain issues and basically no affordable STM boards were in stock. Meanwhile, the local electronics store had more than a hundred Arduinos in the warehouse. My screenshot and winking emoji were not appreciated in the team chat. The new generation now uses various Arduino (Atmel) and ESP boards with software now fully written on top of the Arduino stack with only one or two board-specific sections in the code.
For work, I had to program on a industrial Atmel board. I was baffled by the crappy librairies Atmel provived with the board. Stuff like the I2C lib was broken and I had to patch some code that was checking interrupts flags and such.
I spent days to do something I could have done in days at home, and the board was still unstable.
That's why companies with non-critical sytems don't bother with 'industrial' developement boards, when it's cheaper to buy Arduino compatible boards. Oh, and the documentation and knowledge available online is gold, when compared to the crappy docs from a big tech firm,
I always felt the Arduino IDE was lacking some features I would consider "basic" for any IDE. I'm glad to see they seem to be putting a lot more work into it lately. I think these features will improve usability tremendously.
When I was doing a lot more Arduino programming ~5 years ago I ended up using Visual Studio with some pretty good extensions. The Arduino "IDE" really felt more like a basic text editor with an upload button at the time.
Is anyone else terrified that Microsoft is slowly taking over the entire development stack? I love the new Microsoft, but I'm generally worried about what tomorrow's Microsoft could look like.
I have a particularly hard time forgetting "Linux is a cancer."
The new new Microsoft is the old Microsoft. They're already attempting to extinguish open source VSCode (much more "open core" nowadays). However most of the cool projects based on "VScode"are actually based on its open core which Microsoft won't be able to take it away.
In my first years as design student I spent quite some time programming in the Arduino IDE because it worked pretty much out of the box plug-n-play.
Happy to see an integrated rich serial data plotter. One of my tricks used to be to do a: Serial.print(inputVal * 100 * "-") to get a basic visual 'chart' stream going to test sensor inputs and the like.
Maybe it depends on your preferences. As someone who enjoys "suckless" tools on Linux, it makes me happy when I can avoid VS Code, however, many embedded projects out there just default to Platform IO. A simpler Arduino IDE is an advantage for me. With a more capable Arduino IDE, maybe there will be less VS Code dependence.
I think this is more targeted at beginners or at hardware/electronics people that have little software experience. In those cases vscode + platform.io is probably more daunting than a simple arduino editor with a button to flash your code to the chip.
For one it's a single install, so you don't need to install VSCode, add the extension, restart, make some changes in the project config .ini... This is a huge deal for hobbyists who are often not computer power users or even fully computer-literate (often children who are just learning this stuff).
Otherwise, you can do anything Arduino 2 can do with VSCode+PIO, it'll just take some setup.
If you’re comfortable using platform.io, probably not, you’re not the target audience for the Arduino IDE, which I think is much more focused on people who are just picking up electronics and embedded development.
It's simpler, so if you only want a really quick program, like something you can knock out in 5 minutes, the Arduino IDE is faster to get going. But that's the only advantage I have found.
Well, there's an Arduino FPGA board : the MKR Vidor 4000[0]
However I'm not sure how much people use it and if it really has the simplicity that Arduino brought to tinkering with microcontrollers. I read and hear a lot that the FPGA dev tooling is usually not really great to use and very vendor-specific, but it's something I haven't tinkered with yet so I don't really know much !
In what way? The hard part of using FPGAs is all the computer engineering background necessary to design and debug circuits. The janky IDEs are really the least of the hobbyist's problems and cheap student/hobbyist boards (e.g. Digilent Arty series) have been available for years.
i think what you mean here is, we need a better IDE for the fpga world.
building a simple hardware dev board is a straightforward exercise.
building an IDE that lets a novice do anything useful on an fpga, outside of a very basic state machine, is an entirely different problem in both scope and structure.
The vast majority of HDL blocks you'd need to make such a thing more useful than a $4 microcontroller are closed source, nontrivial to build, and require careful thought in terms of integrating them into a workable system, not to mention very specific and application dependent PHYs: Things like HDMI, ethernet, USB, etc.
I think what most people would prefer is a fast general purpose CPU with pluggable, low-latency memory mapped peripherals without the hassle of having to know linux systems programming to make it work.
We need sane open source fpga tool chains that can generalize building bitstreams for multiple vendor fpga's. As it stands the idea of programming them isn't that hard (well, to me), it's the damn tooling that is an ugly vendor created and maintained barrier to entry.
I want a gcc or LLVM like compiler ecosystem that can handle multiple vendor backends and language front ends so we can use vhdl, verilog or a new hdl in a project. Let me write portable modularized logic files that let me abstract the underlying hardware so I can target different vendors and devices. Decouple layout and let the community create as many textual or graphical layout tools as needed. Then let me write a makefile to handle the build process. I don't want to worry about switching gigabytes of tooling so I can move from a Xilinx to Lattice or Microchip FPGA or SoC. These tools will be a boon to devs using those awesome FPGA SoC's as you can self-host the toolchain on the SoC itself.
I did a bunch of fpga self learning around 2012 and spent a lot of time fighting with getting ISE to run on Linux. I then tried Altera and then fought with fought with Quartus (though from memory I think it was easier to setup). Then ISE was replaced by vivaldo and I felt discouraged by having to adopt a new IDE contraption with more licensing woes. Then my hard drive died and I've never bothered with wrestling fpgas since. The two fpga boards, a Digilent Nexus 3 and Terasic de0 nano collect dust. I gave up because the tools sucked and i wasnt using them to make money.
I found the open-soruce toolchain to be a good first step into that direction, that is, not having to jump through hoops to get the vendor toolchain to work.
It's only a first step though. Still needed: an Arduino-like IDE where you can click-and-run your design; examples that match the board you are using; examples to use peripherals(1) without having to resort to vendor IP blackboxes.
We're also eternally stuck with HDLs that are either crappy, niche-only, or add loads of complexity -- but I'm not really sure how bad this is for a beginner. Getting Verilog syntax right is probably only half bad if you have good IDE support.
(1) talking to an SDRAM is easy, getting DDR3 timing right on an ECP5 isn't. A simple "this is how you do it" example would be priceless, not being stuck between blackboxes from Lattice and Migen exception stacktraces.
Rather than Arduino, something by the raspberry pi foundation might hit the spot and make this sort of thing ubiquitous. Perhaps call it the "Raspberry Phi"?
I was going to reply that maybe they wanted a light application to develop for Arduino, but...
"The new IDE is based on the Eclipse Theia framework, which is an open source project based on the same architecture as VS Code (language server protocol, extensions, debugger). The front-end is written in TypeScript, while most of the backend is written in Golang."
[PlatformIO](https://platformio.org) has taken care of that so thoroughly for them, maybe they only think their IDE is worthwhile for people who don't want to use VS Code?
This is used extensively in classrooms. Providing this standalone editor that "just works" is more appealing in such scenarios than asking students to use vscode with extensions
> If your eyes are feeling the strain you can quickly change settings and switch to Dark Mode ... our design team has reworked the entire Dark Theme to make it more consistent, beautiful and easy on the eye.
If your eyes are feeling strained/sore, stop using your computer for a while.
If reading black/dark text on a white/light background is regularly causing you discomfort, consider improving the lighting around your display. Ideally, get regular sleep and go outside (in the sun) every day.
Light text on a dark background ("dark mode") takes more work to focus on because more dilated pupils let more light in. Your eye muscles doing work causes eye strain.
I'm never going to use an Electron app, so rest in peace Arduino IDE. To upload sketches to my ESP8266, I solely used the Arduino IDE. I use Notepad2-zufuliu completely to code. If only there was a quicker method of compiling and uploading sketches that didn't require the Arduino IDE.
[+] [-] sircastor|3 years ago|reply
My VSCode setup is already crowded with Development tools for other platforms and the Arduino IDE reliably works, with the libraries. I’ve been using the 2.0 beta for awhile And it is really nice. I’m pleased it’s made it out of beta.
[+] [-] DannyBee|3 years ago|reply
It literally recompiles all code on every verify or upload (because "we don't want lots of machine objects littering hard disks")
So on any of the mbed based boards compiles are like a minute or two for anything. On platformio and other compatible ways, it is instant.
So even for basic messing around I don't use the Arduino ide because it makes it not fun
[+] [-] andyfilms1|3 years ago|reply
[+] [-] taf2|3 years ago|reply
[+] [-] sgtnoodle|3 years ago|reply
[+] [-] wejick|3 years ago|reply
[+] [-] unknown|3 years ago|reply
[deleted]
[+] [-] tejtm|3 years ago|reply
https://arduino.github.io/arduino-cli
[+] [-] sixstringtheory|3 years ago|reply
[+] [-] Cloudef|3 years ago|reply
[+] [-] analog31|3 years ago|reply
Nothings perfect, sometimes you need chip specific functions, but I have so far been pretty lucky.
[+] [-] franga2000|3 years ago|reply
Like for one project as a student, we had to make a dozen or so units of a custom data logging thingy. The plan was to use STM boards, but I suggested using Arduino software/libs because all the hardware was supported and we didn't really need anything STM-specific. Eyes were rolled, something to the extent of "Arduino is for amateurs and children" was said, so I volunteered to work on the server side instead and let them have their fun with STM32 HAL. They ended up having to interface with most things manually because libs just don't exist or aren't publicly available. Half a year later, they needed to set up a more of these units, but it was in the middle of the supply chain issues and basically no affordable STM boards were in stock. Meanwhile, the local electronics store had more than a hundred Arduinos in the warehouse. My screenshot and winking emoji were not appreciated in the team chat. The new generation now uses various Arduino (Atmel) and ESP boards with software now fully written on top of the Arduino stack with only one or two board-specific sections in the code.
[+] [-] olabyne|3 years ago|reply
[+] [-] bee_rider|3 years ago|reply
[+] [-] babypuncher|3 years ago|reply
When I was doing a lot more Arduino programming ~5 years ago I ended up using Visual Studio with some pretty good extensions. The Arduino "IDE" really felt more like a basic text editor with an upload button at the time.
[+] [-] fny|3 years ago|reply
I have a particularly hard time forgetting "Linux is a cancer."
[+] [-] solarkraft|3 years ago|reply
[+] [-] unknown|3 years ago|reply
[deleted]
[+] [-] funnym0nk3y|3 years ago|reply
[+] [-] erwinh|3 years ago|reply
Happy to see an integrated rich serial data plotter. One of my tricks used to be to do a: Serial.print(inputVal * 100 * "-") to get a basic visual 'chart' stream going to test sensor inputs and the like.
[+] [-] 1MachineElf|3 years ago|reply
[+] [-] t0mas88|3 years ago|reply
[+] [-] franga2000|3 years ago|reply
Otherwise, you can do anything Arduino 2 can do with VSCode+PIO, it'll just take some setup.
[+] [-] Saris|3 years ago|reply
[+] [-] jon-wood|3 years ago|reply
[+] [-] HeyLaughingBoy|3 years ago|reply
[+] [-] pjmlp|3 years ago|reply
[+] [-] marcodiego|3 years ago|reply
[+] [-] trotFunky|3 years ago|reply
However I'm not sure how much people use it and if it really has the simplicity that Arduino brought to tinkering with microcontrollers. I read and hear a lot that the FPGA dev tooling is usually not really great to use and very vendor-specific, but it's something I haven't tinkered with yet so I don't really know much !
[0]: https://store.arduino.cc/products/arduino-mkr-vidor-4000
[+] [-] ThrowawayR2|3 years ago|reply
[+] [-] jmole|3 years ago|reply
building a simple hardware dev board is a straightforward exercise.
building an IDE that lets a novice do anything useful on an fpga, outside of a very basic state machine, is an entirely different problem in both scope and structure.
The vast majority of HDL blocks you'd need to make such a thing more useful than a $4 microcontroller are closed source, nontrivial to build, and require careful thought in terms of integrating them into a workable system, not to mention very specific and application dependent PHYs: Things like HDMI, ethernet, USB, etc.
I think what most people would prefer is a fast general purpose CPU with pluggable, low-latency memory mapped peripherals without the hassle of having to know linux systems programming to make it work.
[+] [-] MisterTea|3 years ago|reply
I want a gcc or LLVM like compiler ecosystem that can handle multiple vendor backends and language front ends so we can use vhdl, verilog or a new hdl in a project. Let me write portable modularized logic files that let me abstract the underlying hardware so I can target different vendors and devices. Decouple layout and let the community create as many textual or graphical layout tools as needed. Then let me write a makefile to handle the build process. I don't want to worry about switching gigabytes of tooling so I can move from a Xilinx to Lattice or Microchip FPGA or SoC. These tools will be a boon to devs using those awesome FPGA SoC's as you can self-host the toolchain on the SoC itself.
I did a bunch of fpga self learning around 2012 and spent a lot of time fighting with getting ISE to run on Linux. I then tried Altera and then fought with fought with Quartus (though from memory I think it was easier to setup). Then ISE was replaced by vivaldo and I felt discouraged by having to adopt a new IDE contraption with more licensing woes. Then my hard drive died and I've never bothered with wrestling fpgas since. The two fpga boards, a Digilent Nexus 3 and Terasic de0 nano collect dust. I gave up because the tools sucked and i wasnt using them to make money.
[+] [-] moring|3 years ago|reply
It's only a first step though. Still needed: an Arduino-like IDE where you can click-and-run your design; examples that match the board you are using; examples to use peripherals(1) without having to resort to vendor IP blackboxes.
We're also eternally stuck with HDLs that are either crappy, niche-only, or add loads of complexity -- but I'm not really sure how bad this is for a beginner. Getting Verilog syntax right is probably only half bad if you have good IDE support.
(1) talking to an SDRAM is easy, getting DDR3 timing right on an ECP5 isn't. A simple "this is how you do it" example would be priceless, not being stuck between blackboxes from Lattice and Migen exception stacktraces.
[+] [-] joshka|3 years ago|reply
[+] [-] worldsayshi|3 years ago|reply
[+] [-] dang|3 years ago|reply
The Arduino IDE 2.0 beta - https://news.ycombinator.com/item?id=27123410 - May 2021 (120 comments)
[+] [-] debdut|3 years ago|reply
[+] [-] ASalazarMX|3 years ago|reply
"The new IDE is based on the Eclipse Theia framework, which is an open source project based on the same architecture as VS Code (language server protocol, extensions, debugger). The front-end is written in TypeScript, while most of the backend is written in Golang."
A VS Code plugin might have been better indeed.
[+] [-] hoistbypetard|3 years ago|reply
[+] [-] bigfoot675|3 years ago|reply
[+] [-] iamcreasy|3 years ago|reply
[+] [-] qwery|3 years ago|reply
If your eyes are feeling strained/sore, stop using your computer for a while.
If reading black/dark text on a white/light background is regularly causing you discomfort, consider improving the lighting around your display. Ideally, get regular sleep and go outside (in the sun) every day.
Light text on a dark background ("dark mode") takes more work to focus on because more dilated pupils let more light in. Your eye muscles doing work causes eye strain.
[+] [-] tehwebguy|3 years ago|reply
[+] [-] sieabah|3 years ago|reply
It takes one update from vscode to break everything and your SOL.
[+] [-] nipperkinfeet|3 years ago|reply
[+] [-] micheljansen|3 years ago|reply
[+] [-] brokenmachine|3 years ago|reply
I'm hesitant to change for fear of breaking my working install.
[+] [-] keyle|3 years ago|reply
[+] [-] syntaxing|3 years ago|reply
[+] [-] greycodee|3 years ago|reply