I came across a kit for the Micro:bit which I purchased as a Christmas gift for my young daughter. It's really captured that delight in working with technology for me again. Even starting with the LED "Hello World" examples, as described in the post here, led (haha, whata pun) me down a rabbit hole when I noticed blue lights were flickering, while red ones were fine. I thought it was a defective LED, but it turns out power requirements vary depending on wavelength of light being generated.
I never would have considered that in a million years, but then of course you get deeper into the physics of all this, and it's just fascinating. All thanks to a kids electronics starter kit.
I've purchased a few other bits and bobs now, and discovered simulators so you can build out your breadboard circuits without fear of frying components (luckily the kits include a few LEDs as I learnt the hard way!) I'm now onto trying to build out a magic wand for my daughter to control the house smart lights with gestures as she's just got into Harry Potter. I love how there's a whole hobby community around this stuff too, and the basic websites with datasheets and descriptions of the various gizmos and archaic "warnings". It reminds me of learning 3d graphics development back in the day, when openGL was the goto, and building things up from the math concepts without layer upon layer of abstractions and opinions getting in the way.
[pedantic]
It's actually because of the different forward voltages of the blue LED vs red, not the overall power
[/pedantic]
Clearly, I knew what you were getting at, but I made that comment because it's useful to understand that LEDs are primarily current controlled devices, not voltage controlled. Had you driven both LEDs with e.g., a 10mA constant-current driver, they would both be solidly visible.
For a regular indicator LED, this isn't really an issue (other than a too-low voltage will cause the flickering you observed), but for high-power illumination LEDs, or especially laser diodes, current management can be the difference between reliable operation or letting the smoke get out.
I'm not a huge fan of simulation for cases like this. The arduino forums are full of "it worked in simulation, but not on my breadboard..." complaints.
Also, simulation won't teach you not to connect a 10ohm resistor across a 12V supply and then touch it. Or that capacitors may explode when connected in reverse polarity, or just how to be careful in general. There's a lot of stuff that should become second nature, but you'll only learn by connecting physical circuits.
There may be better ones out there, I just found this quite accessible to get started with.
I browsed maybe 50 of the most viewed project on arduino website to get inspired. There are may be 1 or 2 that somewhat interest me.
Based on impression coming from secondhand marketplace listings, my very uninformed guess is that 70% of Arduino kits and raspberry pi units purchased by amateurs are sitting in their home gathering dust, including mine.
I'm not sure what it would take to make these kits more exciting, because I find them ABSOLUTELY AMAZING.
I could rattle off 100 cool projects to make with these dev kits, especially coupled with a 3d printer.
This very much depends on your initial skill level. Have you ever held a resistor? Do you know which side of the LED is the minus? How many terminals does a hobby servo have and what do they connect to? These are the sorts of questions the kits are meant to answer. You're not really learning "an arduino", you're learning a new tool to make the projects you actually want to make. To "use all the parts" isn't what I usually want out of something.
The kits themselves usually carry too wide of a selection of components to have enough of any one part for a good project anyway, but if you need more, go on Amazon and search for "<insert component> arduino" and buy them by the 10 pack.
If you decide it's not for you, then the kits were always a collection of cheap parts to begin with; not a big loss.
My current project just ties in my doorbell to Home Assistant. I could have built it only using what came with my old Raspberry Pi kit. Once I finish that, I'll be tying in my garage door, another project that uses simple parts. These projects are way simpler than what I do for work (currently writing PLC code for the Navy), but they're still fun.
I'm not doing audio work on the Pi, though, just supporting the platform for those (?) who do (?).
I would love to come up with cool things to do with Arduinos etc: I hacked high sample rate support into Eurorack modules that ran on Teensy, and then the Teensy that had the raw audio output pin which supported this use, hit end of life so those modules cannot be replaced now, and what I have is all I'll ever have.
The world of tiny computers is lovely but doesn't always stay accessible. For instance, I never got into hardware synth making that much, but these days all the oscillator chips etc. you'd want to hack with require robotic installation: they're too tiny for someone who grew up on DIP.
A tea-making robot you made at your home is boring. A tea-making robot you made during class which participated in end-of-class competition and got 3rd place? Much more interesting.
And if you are in CA, there is Robogames which has (or at least had in the past) categories such as "art bot" (any Arduino project which has a moving part can participate) and even "static bot" (for projects without moving parts). You get to demo your project to few hundred participants, and maybe even get a prize!
The Wled project is another amazing implementation. It allows the creation of all sorts of light fixtures, there’s some insane setups on YouTube.
I'm not saying don't buy this kit, what I am saying is if you find yourself needing or wanting a second dev board, consider purchasing an official Ardiuno from https://store.arduino.cc to support the folks that made all of this happen in the first place.
Every major microcontroller vendor now has development boards that have the standard Arduino Uno pinout so you can add cheap "shields" for prototyping. There are entire companies like M5Stack, SeeedStudio and LilyGo whose business model is providing high-integration platforms (CPU, touchscreen, I/O and sometimes an enclosure) that use the arduino framework but run on 32-bit chips instead. And so on.
These days, when you say "arduino" you're almost always referring to a framework and a hardware abstraction layer, instead of the Arduino company itself (sorry, mbanzi).
I think C++ is a terrible programming language to give to people with potentially no prior programming or at last no prior C++ experience. And for people who _do_ know C++, it's just a weird environment full of strange hacks (may as well just go straight for bare metal).
EE's complain that Arduino doesn't teach correct electronic circuit design principles. Which is also not one of its goals.
The point of Arduino is to learn how--with nothing but a cheap microcontroller and some wires--to make lights blink, sensors sense, and servos serve. It's a starting point for easy and cheap experimentation, not a well-structured curriculum.
If I teach you to weld and don't explain welding gloves, long sleeves, or welding helmets, is that still okay or is it crossing a line because someone's safety is at stake?
What if someone takes their arduino learning's and starts controlling dangerous things like heating elements for pressure vessels? Would you agree now that its irresponsible? (Actual real world cases of exactly this.)
Or if someone who used arduino thinks their C++ is great and writes network facing software which controls a heated pressure vessel (again, actual real world cases of exactly this).
When I did my electronics technical diploma at CEGEP, we lost point if our wires were not perfect, they had to be of exact length, use only right angle, bus had to be color coded... I used to find that petty, my boards where on the messy side (but compared to the one from the article they were neat) but when I saw those horror that have more in common with an eurorack patch I understood what the teachers were trying to instill in us.
Wires placement are like properly formatted code, it helps with readability and even with debugability. Sorry for the rant, i an back to yelling at the clouds!
The article even touches on that in the first hello world
> This simple exercise it by itself incredibly interesting that opened a series of questions:
> Q: Why is a resistor needed? A: High current and increased temperature damage its delicate heterojunction structures, which eventually cause it to burnout > Q: What happens if the polarity is inverted? A: Similar to a normal diode, current will not flow and the LED will not light up. As long as this reverse power is not high, the LED will not burn and can still be used with correct polarity afterwards > Q: How to interpret its data sheet? A: There are several interesting aspects its datasheet, like the LED’s wavelength curve, operating current and voltage, etc
The fact that the author uses the word heterojunction that is at the same time not useful at the first level for a beginner and not used or explained in the document shows that he was either already knowledgeable or spent a lot of time with other ressources to learn.
I'm not saying that these kits are bad, or that nowaday you cannot do many great thing with just an arduino and plug and play components, but they don't teach electronics.
It was not until I tried buying extra transistors that I realized I didn’t understand anything—-and this was after taking the Georgia Tech introduction to electronics free online course. Suddenly there were data sheets and graphs, and not to mention prices. The Build Your PCB course I found myself similarly in over my head, as it felt geared towards EE’s. But I learned about KiCAD. Maybe I will give Ben Eater another try
e.g., when I started my EE career, if you wanted to light up a red LED from 5V, you'd put a 330ohm resistor in series. If it was driven from 12V, then you'd use a 1kohm. Standard values that everyone has in inventory and you don't need to think about it. Similar "rules" would apply if you wanted to use an NPN transistor as a switch and so on.
Actual calculations would only come into play if I needed to e.g., make sure that the LED always had a constant 15mA through it whether the drive voltage was 5V or 24V.
e.g. I want to build a cool robot with my kid -> oh why can't you just wire the motors directly to arduino output pins -> oh motors need a lot of current to run ...
(btw have never heard voltage be called tension, TIL)
It's the main word for voltage in french and I checked wiki before posting. It was listed as an alternative to voltage so I kept it, but I should have realized it wasn't common