14 ms·
Arduino IDE 2.0
- tehwebguy 4y agoOh this is cool. I would probably rather just have even better tooling for VS Code but this rules. Super glad Teensy support is on the way too.
- sieabah 4y agoThere shouldn't be any reason an open source hardware company should support something like vscode themselves. It takes one update from vscode to break everything and your SOL.
- supernovae 4y agovs code is open source and it works perfectly fine and there are tons of plugins for micro controller programming and support. still, happy to see this update.
- lostgame 4y agoVScode...is open source? :/
- funnym0nk3y 4y agoIs there any advantage in using this over using vscode with platform.io?
- jon-wood 4y agoIf 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.
- pjmlp 4y agoNo for professional coders, yes for beginners.
- t0mas88 4y agoI 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.
- BoorishBears 4y agoI feel like the complexity is being oversold a bit here, I agree Arduino is very beginner friendly, but PlatformIO is very much a "Click and Play" development experience For an absolute beginner PlatformIO is off the beaten path so I'd say skip it to start, but if you have any familiarity with traditional IDEs, PlatformIO is probably 90% as beginner friendly while being more of a traditional development environment. 2.0 being based on Monaco will help bridge the gap, but it's clear that they're still going for a very pared down experience in the Arduino IDE. Other comments comparing it to Notepad are about right... it's very easy to get into Notepad but can be limiting once you get past the initial hump
- skybrian 4y agoI'm using PlatformIO now, but in my experience the installation experience is hit and miss, due to lack of feedback while downloading and installing things. It just hangs, and you don't know if it failed. A workaround is to not follow their suggestion to install from the VS Code plugin and install the command line tools instead. Also, serial monitoring and plotting isn't very good. I ended up writing my own: https://serialviz.skybrian.com/ https://serialviz.skybrian.com/ That said, package management is more sane. Having a platformio.ini file that you can check in helps with reproducibility.
- dang 4y agoRelated: The Arduino IDE 2.0 beta - https://news.ycombinator.com/item?id=27123410 https://news.ycombinator.com/item?id=27123410 - May 2021 (120 comments)
- marcodiego 4y agoMaybe unrelated, but I must say it again: we need an arduino for the fpga world.
- worldsayshi 4y agoThis feels like a dump question but what is stopping the Arduino from being used as a fgpa?
- eric__cartman 4y agoYou can't emulate a real FPGA with a microcontroller
- guhidalg 4y agoThat’s true but I think that’s not the only reason. Programming an FPGA isn’t as simple as writing and deploying compiled code, you have to write in a hardware specification language. Actually you can get the same experience with an FPGA if you pay for the FPGA development tools, maybe what you’re asking for is a low cost version of Quartus or similar tools. I would like it if that existed but I fear FPGA makers deliberately want to keep their tooling expensive and hard-to-learn to promote lock-in.
- rowanG077 4y agoYosys and nextpnr exists and work pretty well for a lot of use cases. Only some FPGAs and vendors are supported but the experience is literally light years ahead of vendor tooling.
- marcodiego 4y agoI think it is possible since you could load an sketch that emulates a fpga. Nevertheless it would surely be inconvenient. Probably performance would be sub-par.
- sgtnoodle 4y agoYou can emulate anything on a microcontroller if you're determined enough. It just won't run as fast as you might want. You could certainly use a microcontroller to implement arbitrary digital (or even analog) logic within a circuit. You'll be limited by the CPU speed. The trick is to avoid interrupts, and spin the CPU in a tight poll loop instead. An Arduino Uno's MCU can run an instruction perhaps every 150ns on average. You could implement some simple logic that runs upwards of 1Mhz. If you use a cortex-m CPU, you could do fairly complex logic at several Mhz. That's a silly way to use an MCU, though. You're supposed to use the peripherals to offload enough complexity from the CPU that you have plenty of cycles to implement your application logic in a straightforward, maintainable way.
- babypuncher 4y agoI 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.
- syntaxing 4y agoWhoa that serial plotter looks pretty damn awesome
- debdut 4y agothey could have just created a good vscode extension :(
- hoistbypetard 4y ago[PlatformIO](https://platformio.org 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?
- analog31 4y agoI struggle with VSCode because of the visual clutter. I know that I can set it up to my preferences, but haven't figured out how to make all the extra stuff go away. Also, IDE's seem to have an insatiable appetite for "improving" the UI elements rather than using standard elements from each platform, like scroll bars. I still can't use the scroll bars in VSCode or Spyder on a touch screen. But with that said, PlatformIO is super impressive.
- joshka 4y agoThis tracks. I recall being surprised by the behavior of the Cmd+W keyboard shortcut in the new IDE that closed the window rather than the tab[1]. Keeping it simple seemed to be the main factor driving the way UX choices were made. [1]: https://github.com/arduino/arduino-ide/issues/275 https://github.com/arduino/arduino-ide/issues/275
- ASalazarMX 4y agoI 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." A VS Code plugin might have been better indeed.
- pjmlp 4y agoA VSCode plugin doesn't mean being lighter, the Java tooling from Red-Hat/Microsoft basically runs Eclipse headless, at which point I rather keep using Eclipse anyway.
- sircastor 4y agoI’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.
- andyfilms1 4y agoLots 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.
- IshKebab 4y agoWhy would anyone want that though? Masochistic challenge? "If you're the kind of person who likes to wash their clothes by hand..."
- jrockway 4y agoI like Arduino IDE as kind of a living reminder of "how the other half lives". I'm sitting here with Tinygo and my J-Link pushing several revisions of my code per minute (not to mention fucking goroutines and channels on an ARM M0 core), and other people are fiddling for hours trying to get Arduino IDE to compile code for 45 minutes only to be told COM69 is no longer connected (because Windows decided that it's now COM123). I really think that professional software engineers are trolling "normal people" with stuff like this. Oh, you want to be a programmer? Jump through these 8 million flaming hoops suspended over man-eating sharks, and you'll see just how hard it is to make an LED blink. After failing, you will dedicate a new national holiday to our sacrifices; we do this for a living and you should be grateful that literal human garbage like you are even allowed to THINK about monitoring the water level of your potted plants. But behind the scenes, we don't do this for a living. When we press TAB, our IDE knows exactly which level to indent the text too. When we want to reflash our microcontroller, it does a diff of the last binary we pushed and updates only the 3 flash cells that actually changed and updates it in microseconds. When we want the documentation for some library function, it pops up in a web browser hovering above our cursor. Our life is nothing like this. We just use our skills to give you tools to make you think programming sucks. It's all a scam.
- analog31 4y agoThis 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.
- bee_rider 4y agoWork stuff, or hobby stuff? If work, what industry? An environment where you are able to do ad-hoc replacements like that sounds cool as heck!
- analog31 4y agoWork stuff, but in an R&D environment where nothing goes into large scale production. If something threatens to be useful, it gets handed over to the dev team. The devs are actually very good engineers, but they do use the traditional methods. Moving across platforms is a headache -- perhaps the biggest problem is that the contract shops also have their own chosen platforms, so it's hard to outsource even minor work when a little bit of extra capacity is needed. Every platform is an island.
- franga2000 4y agoYes! 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.
- brokenmachine 4y agoCan you have Arduino 1.8.5 and this working concurrently? I'm hesitant to change for fear of breaking my working install.
- sgtnoodle 4y agoArduino works in a "portable" configuration, where it works entirely out of a directory of your choosing. https://docs.arduino.cc/software/ide-v1/tutorials/PortableIDE https://docs.arduino.cc/software/ide-v1/tutorials/PortableID...
- thamer 4y agoYes. I've had both installed while 2.0 was in beta, and can confirm that the portable installation mode that a sibling comment mentioned does keep the two separate.
- keyle 4y agoThe IDE reminds me a lot of the old Proce55ing IDE. Is it based on SCiTE?
- qbasic_forever 4y agoArduino's original IDE forked processings java IDE. The similarities are intentional.
- speps 4y agoNo it's based on the Processing IDE...
- tejtm 4y agoPSA: there is also the "arduino-cli" which lets us use other, everyday tools. https://arduino.github.io/arduino-cli https://arduino.github.io/arduino-cli
- Cloudef 4y agoYes, 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.
- sixstringtheory 4y agoAs always, there’s are emacs options built on top of that: https://www.emacswiki.org/emacs/ArduinoSupport https://www.emacswiki.org/emacs/ArduinoSupport
- morelisp 4y agoHaving lost several hours once trying to set up Arduino.mk properly, I would strongly recommend not using anything suggested there and opting for a Makefile calling arduino-cli and normal c++-mode, alongside arduino-language-server.
- sixstringtheory 4y agoYeah I’d personally start by just wrapping common arduino cli commands in elisp functions with key bindings for easy execution and go from there.
- morelisp 4y agoIn case it wasn't clear the first time: I would not even do that. Write a makefile, use your regular M-x recompile etc. bindings. Configure `make install` to upload it, so e.g `projectile-install-project` does the right thing. The more you treat "Arduino project" differently from any other project, the less sense it makes to be using Emacs instead of the Arduino IDE.
- fny 4y agoIs 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."
- solarkraft 4y agoThe 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.
- smegsicle 4y agowhat was that thing where they invited open source dotnet projects to join a curation club on github, and proceeded to take over those projects?
- pjmlp 4y agoOriginally there wasn't even source code to look into at all, VSCode started as an Web IDE for Azure.
- nisegami 4y agoI thought VSCode was a fork of Atom. Did I just make that up?
- colejohnson66 4y agoYou did ;) Its design was clearly inspired by Atom, but it was written from the ground up
- pjmlp 4y agoYes, it used to be called Monaco initially. https://microsoft.github.io/monaco-editor/ https://microsoft.github.io/monaco-editor/ Also Erich Gamma from Eclipse fame, and GOF book, is the main architect. "VS Code an Overnight Success… 10 years in the making" https://www.youtube.com/watch?v=hilznKQij7A https://www.youtube.com/watch?v=hilznKQij7A VSCode remote editing on Github is it returning back to its roots.
- greycodee 4y agolike vscode ui
- micheljansen 4y agoElectron is the new Java. In this case literally, since the old IDE was built in Java.
- qwery 4y ago> 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.
- nipperkinfeet 4y agoI'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.