Originally published at: https://boingboing.net/2020/07/02/791863.html
…
“currently unavailable”
“We don’t know when or if this item will be back in stock.”
Very cheap, since no money will be able to be spent on it…
Typo in the title: “Arudiuno”
The Arduino has been both a wonderful and horrible thing. On one hand it’s what got me started in the world of AVR microcontrollers a decade ago, but on the other it encourages the use of a pretty cringe worthy programming environment, as accessible as it may be. It also for some reason introduced some unnecessary terminology that took me several years to finally conclude that it wasn’t anything new, in that a “sketch” was in fact just a program and nothing else, and that the Arduino programming language was just a C/C++ framework that encouraged some bad programming practices.
Despite that, I do appreciate the doors it opened to embedded software development for so many people, including myself.
If you’re still cringing about the arduino environment, may I recommend you take a look at PlatformIO? It’s a VSCode plugin that enables you to use Arduino, including the features we usually expect like serial monitoring, autocompiling, debugging, etc…
I started using it for ESP8266 because I always felt it was a bit tacked on -on the arduino IDE- and moved all my coding there. Only snag I found was compiling for ATTINY85 using Arduino-as-ISP, that forced me to look at quite some obscure flags to enable it. For all other things works better (IMO) than the Arduino IDE.
The reason the Arudiuno IDE calls programs “sketches” is that it originated as a spin-off of (what was then called) Proce55ing, which was a tool for generating artwork using code (and still is, in a different form; the original used a dialect of Java).
Both tools, and especially Arudiunio, almost immediately become a limitation on the kind of programming they encourage you to do. Hackaday and Instructables are flooded with projects that use an Arundiondio when other approaches would be cheaper, simpler, more powerful, smaller, less power-hungry etc., because people don’t move beyond it.
But IMO this isn’t a criticism of Ardundundiduno at all; The existence of all those projects shows what a success it is, and the fact that people don’t move beyond it shows how far the embedded development toolchain industry has its head jammed up its ass. Because it’s clear that there is a huge population of makers with the desire and ability to do this stuff, and the only thing holding them back is wilfully arcane, frictionful, user-hostile tools designed to repel anyone who isn’t an EE professional. In other words, the problem is the lack of similarly frictionless tools for people who are ready to move beyond Arduino.
This is also a big issue for programming tools in general – engineering types take pride in their tools being arcane, which, fine, be like that, but it’s like, if your toolchain is successfully keeping away dilettantes by requiring hundreds of hours of gratuitous manual-reading, it’s almost certainly not doing your productivity much good.
In addition, when the grumpy engineering types are getting old and tired and ready to retire, they won’t be able to, because there’s no one willing to deal with the crap toolchains.
Being indispensable is actually kind of crappy, because you never get a moment’s peace.
VSCode with PlatformIO is exactly what I use now when programming in C++ for AVRs. And the ESP8266 platform is also my go to now, especially when I can utilize MicroPython on it (using PyCharm or Thonny). Between that and the Raspberry Pi, I haven’t had much need for the Arduino anymore. We’ve come a long way in the past decade.
I have to say I have an irrational hate of Python, but yeah, C/C++ for AVRs and Espressivs for the win
Yes, I’m hesitant to criticize it for all that it has become, for the exactly the reasons you pointed out. At this point I think the Raspberry Pi has become the platform of choice for people new to embedded development and there are more programming environment choices available now.
And still, the number of times I’ve seen a Raspberry Pi project that is using an Arduino to interface with an analog sensor because that’s what they know, rather than just adding an ADC is perplexing.
Maybe it’s deliberate, like you can buy a “Rollex”" watch cheap.
Especially when there are plenty of how-to articles.
Or why not just use the Arduino altogether instead of using the Raspberry Pi with the Arduino? Unless your project requires something specific in the Raspberry. Or even better, look into other integrated ICs that have the interfaces you require and are easy to code? I’ll looking at TI components as an example.
Or just use a bunch of 555s.
Funny =)
I remember I once tore an old 80s blinking hat thinking there might be a spare 555 I could salvage. It’s a hat you might buy in a concert that’s over priced, but anyways, it had a two strings of LEDs that would blink one after another and it’s powered by a 9v battery. At the time I was salvaging junk and thought this thing used a 555. Turns out it’s just two unmarked transistors, no caps or resistors.
I didn’t think anyone would go cheaper since a 555 with no caps or resistors was considered common and cheap already.
This topic was automatically closed after 5 days. New replies are no longer allowed.