Stories
Slash Boxes
Comments

SoylentNews is people

posted by janrinok on Friday September 16 2022, @12:14PM   Printer-friendly

Arduino IDE:

The new major release of the Arduino IDE is faster and even more powerful. In addition to a more modern editor and a more responsive interface it features autocompletion, code navigation, and even a live debugger. The Arduino IDE 2.0 features a new sidebar, making the most commonly used tools more accessible.

Tutorials and guides for the Arduino IDE 2.0 can be found here.

If you haven't already given the new IDE 2.0 a try, here are just a few of the key features...

  • Autocomplete during sketch editing

  • Dark Mode

  • Never lose a sketch keeping them safely at Arduino Cloud

  • Serial Plotter

  • In-app updates

There is lots more information in the quoted link. [JR] If you are an Arduino user, or any other single board computer, what do you use them for? Care to share some of your stories?


Original Submission

This discussion was created by janrinok (52) for logged-in users only, but now has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
(1)
  • (Score: 2) by lars on Friday September 16 2022, @05:12PM (1 child)

    by lars (4376) on Friday September 16 2022, @05:12PM (#1272001)

    Wow, I love that. The cloud upload is a big one for me since I barely use it and don't want to hunt for files and redo configuration every time I want to use it on a new system.

    • (Score: 2) by MostCynical on Saturday September 17 2022, @07:01AM

      by MostCynical (2589) on Saturday September 17 2022, @07:01AM (#1272081) Journal

      is it your cloud, or theirs? Can you replicate your files back to your local drive? Can you do it automatically? Can you keep versioning when moving from cloud to local?

      If not, then this is not 'helpful', it is a 'chargeable opportunity"

      --
      "I guess once you start doubting, there's no end to it." -Batou, Ghost in the Shell: Stand Alone Complex
  • (Score: 4, Informative) by lentilla on Friday September 16 2022, @09:57PM (7 children)

    by lentilla (1770) on Friday September 16 2022, @09:57PM (#1272014)

    What I insist on is a development toolchain that is guaranteed to build today's project tomorrow, or in a decade. This means command-line tools and Makefiles.

    What I do not want to do is learn to use yet another GUI. I use Emacs. I don't mind what other people use, just don't make my life difficult. That also means I get to decide where my files go, not the GUI, so I can back them up, move them around, or keep them in version control.

    I realise that GUIs have their uses, but they tend to hide what is going on. A "sketch" is just a text file, that gets compiled, and then uploaded. A "programmer" who can't use the command-line (or understand what is going on behind the scenes) is as sorry as a "carpenter" that can't do basic joinery with just a hand-saw and a chisel. Nothing wrong with using power tools but you need to understand the basics really early in your journey.

    For what it's worth, I use ardunio-mk [fsf.org] (available in the official Debian repositories) to build my projects.

    At some point, I'd love to segue to programming the ATmega microprocessors directly (basically an Arduino without the Arduino bootloader). Still have to work out how to make that happen - but that's a project for another day.

    • (Score: 2) by stormwyrm on Saturday September 17 2022, @08:16AM

      by stormwyrm (717) on Saturday September 17 2022, @08:16AM (#1272087) Journal
      The process is probably not so substantially different from the way it's done with the ATtiny85, which I've built circuits to even do high voltage programming for. Except that you can get ATtiny85's for less than US$1, while an ATmega328p is somewhere in the $5 range. I used an Arduino Nano to control the programming process but I imagine that it should not be too difficult to build up a similar system from scratch to get yourself entirely away from the Arduino bootlo
      --
      Numquam ponenda est pluralitas sine necessitate.
    • (Score: 4, Interesting) by Rich on Saturday September 17 2022, @09:35AM (1 child)

      by Rich (945) on Saturday September 17 2022, @09:35AM (#1272094) Journal

      The Arduino IDE contains the full command line toolchain, including avr-gcc, avrdude, and what-not.

      I have a rather large (maxing out one 328 and half occupying another 1284) project going on that I work on in XCode, where XCode runs external Makefiles, which in turn use the built-in Arduino IDE Toolchain. I can't stand the IDE's editor (at least 1.x) but it's incredibly simple to quickly rig up something with it. The IDE itself doesn't "scale" past a few hundred lines, but if that's enough, you're done with some small one-off thing before the competition even has their toolchain running. Beyond that, the IDE is still the most convenient way to get a current and reliable binary toolchain.

      For the no-bootloader thing, use "Arduino-as-ISP" and hook up the chip to be programmed through its SPI port. Build your binary with entry points defined as in the bootloader and shove it down with avrdude. Probably would even work from within the IDE with proper settings and directives in the code. I have built two shields for a Uno-as-ISP with ZIF sockets (and that extra crystal) for 328 and 1284, so I can flash the bootloaders on blank ICs. I have a custom bootloader for the 1284 and haven't seen the need to do away with them, because it's easiest for me to flash the complete device through the debug-console-port.

       

      • (Score: 2) by TheGratefulNet on Sunday September 18 2022, @03:32AM

        by TheGratefulNet (659) on Sunday September 18 2022, @03:32AM (#1272229)

        I wrote some very large projects with the old arduino ide, maxing out the 328 chip and having thousands of lines of code. once you write code that works, it works and you dont have to LOOK at it. its in a 'tab' but until you need to touch it, its just there in a tab on the editor. dumb, but it works for large projects.

        nested dirs - not so much.

        but if you keep it flat, which is a PITA, it scales ok enough to fill a full 328p chip. that's a lot of code.

        --
        "It is now safe to switch off your computer."
    • (Score: 2) by corey on Sunday September 18 2022, @12:22AM (3 children)

      by corey (2202) on Sunday September 18 2022, @12:22AM (#1272206)

      Interesting argument. I’m old school too, having grown and developed with vim for a couple of decades now. But though I’m more of a hardware engineer, I still question the guys at work who sit in Visual Studio Code or Eclipse day in day out. They are very quick to defend/justify them and that’s fair enough but for me, it actually seems like a bit of a learning curve to learn these GUIs. Does it speed up development?

      • (Score: 2) by TheGratefulNet on Sunday September 18 2022, @03:37AM (2 children)

        by TheGratefulNet (659) on Sunday September 18 2022, @03:37AM (#1272230)

        I started programming in the late 70s and learned emacs in the 80's. used it ever since. dont buy into the gui stuff. if you are ok with cli and old style tools (which I am) then you dont need vs code or eclipse or that stuff. and for python, I still use emacs and vi. screw that pycharm thing. dont really need to have a diff editor for each language. good grief, no!

        I dont think I'm the best programmer around, but I rarely need to get to the gdb debug level, I write code and its now a 'software chip' and I'm not sure why the world has such problems with coding. maybe I've been at it too long and its just not fun or interesting anymore. its work and it pays the bills, but stopped being 'fun and a challenge' years ago. still, I like getting results and the old aduino ide just plain works, works on all systems and I dont have to configure a single thing to get useful work done.

        learning curve on vs code or eclipse is HUGE. trust me. I'm like you and I'm telling you, you dont go into that lightly. we have years of emacs training and its a complete loss to convert to 'code' or other fancy ides. its like starting all over and that is too big a drag for me.

        all the chillens at work use the fancy ides. and guess what? when the network is slow, they cant get their work done. or when they are remote over a serial link and they need to do a patch. they cant do it. and yet, I can. fwiw.

        --
        "It is now safe to switch off your computer."
        • (Score: 0) by Anonymous Coward on Sunday September 18 2022, @04:15PM (1 child)

          by Anonymous Coward on Sunday September 18 2022, @04:15PM (#1272282)

          Are you able to manage the git setup with emacs? I'm like you, I prefer to program in a text editor, but I've recently been pulled into a project where they do their software management in git. It is a bit intimidating for me because of all the structure that is built around the code for running tests and building and compiling it. The IDE handles all of that seamlessly, which my young colleagues love and extol the virtues to me, but I don't understand what the hell is going on under the hood. The IDE gets starts doing things and upgrading things and it is all a mystery to me. I suppose if I just write my code and throw it into the hopper and it works, then what I don't know won't hurt me, but coming at it from "the old days," this is uncomfortable to me. Maybe I should just try to think of it all as really really complicated Makefiles.

          I also thought it would be fun to play with some open source code and learn some Java along the way. I pulled down a project from Github and it had all of that unfamiliar structure to me. I tried to compile it and it was complaining about Gradle or Maven and Groovy and whatnot, so I downloaded IntellIJ and it wanted to "fix" a bunch of stuff. I kept hitting "Y" when it wanted to upgrade something, and it eventually worked. Great, I can now play with the code, but I feel like I'm standing on a shaky stool. What do I do if I hit a Groovy or Gradle error that the IDE doesn't automagically fix? Now I have to learn those things just to play with source code?

              -- old guy yelling at DevOps clouds

          • (Score: 2) by lentilla on Monday September 26 2022, @12:42AM

            by lentilla (1770) on Monday September 26 2022, @12:42AM (#1273663)

            Are you able to manage the git setup with emacs?

            Use magit.

            If you are new to git, you would greatly benefit from working through a tutorial. It is conceptually different from other version control systems and is well worth learning. Time spent understanding git is time well spent - it is very good at its job and (for once) everybody seems to agree.

            around the code for running tests and building and compiling it

            Sounds like a Continuous Integration (CI) framework. So caveats to the above: magit doesn't do magic, it is simply a front-end to git. You would have to understand how the codebase implements CI, but; since you have mentioned git; that's probably about 90% of the solution - push your code and there are likely hooks that run the build and validation.

            Worst case - to hit the ground running - use your favoured text editor to write code, and then use the fancy IDE to do the required magic. Eventually you'll work out what the magic is... and then your colleagues will be coming to you with the questions :-)

            and learn some Java along the way

            Whoa! One thing at a time!

            Now I have to learn those things just to play with source code?

            Yes.

  • (Score: 1) by ShovelOperator1 on Saturday September 17 2022, @05:23PM (2 children)

    by ShovelOperator1 (18058) on Saturday September 17 2022, @05:23PM (#1272154)

    Finally a good autocompletion, and finally serial monitor which does not collide with avrdude. This is the good side. Plotter is not a must-go, but was absent and now it looks like it is back, so even better. The keybindings are nuts, but it is still quite OK. They also fixed a freezing programmer problem.
    It looks like they removed or well hidden the option to generate hex files without bootloader, so hello again Make.

    But more warning signs come. First: The "Cloud". OK, so they shove another "Cloud" in our mouths.
    Does it store data encrypted it on their site? No.
    Can I replace it with my self-hosted repository? No.
    Are connections secure? No! My ISP and quite anyone interested still sees source/target IP, and from payload size can deduce that I have this software. Even which version. I was stuffed with it when it connected to "update boards" database and sent a request with a very specific data with very specific length in one computer, and totally different in the other PC. Hello! We're in 21st century! If you buy too many match boxes you are automatically suspected as terrorist building a bomb. This is not a "telemetry" anymore, this is putting users at a big risk.
    And of course the intellectual property of more complex code will be sold here and there, it's a matter of time when such company faces bankrupt and tries to sell everything they collected.
    And the ridiculous rules like "we don't ..." have no sense. Any bandit with law article in hand can break this. Or any shareholder. Or advertisers who don't like specific content.
    So I hope that anti-spyware patches will go released somewhere.

    • (Score: 4, Informative) by ShovelOperator1 on Saturday September 17 2022, @05:34PM (1 child)

      by ShovelOperator1 (18058) on Saturday September 17 2022, @05:34PM (#1272159)

      A correction of my previous statement: I tested it with trickled and it worked, but now I tested it with unshare to cut it from the network. This does not even want to run without Internet access!

      • (Score: 2) by Rich on Sunday September 18 2022, @07:39PM

        by Rich (945) on Sunday September 18 2022, @07:39PM (#1272300) Journal

        Etiquette aside, moderated informative and replying, too. I can confirm that on a Mac: The Arduino IDE 2.0.0 does nothing if launched without internet. Looked around the app package contents: I couldn't see a toolchain at all, just 590 MB of piled up web framework junk. To be blunt (and people here know that I usually choose my wording more carefully): It's a piece of shit, and they can shove it up their asses. Arduino is basically dead with that, they can sell the shop to Microsoft right away.

(1)