Just getting myself into microcontrollers with the goal of creating a mini-pinball machine and a hand-held video game system. Of course, at this point (1 hour in) I’ve only managed to breadboard an LED that turns on with a button, so I have a long way to go. If anyone has any tips, I’d love to hear them.
I don’t have any specific tips but I do a lot of embedded system programming.
These days mostly in Go on ARM devices but also sometimes in C on smaller microcontrollers like the atmega chips.
Funny hobby (that occasionally intersects with my day job).
At work they dumped an Alpha MCU prototyping board on my desk and said “have at it!”. I think Arduino is a bit easier to get into…
Have you taken a look at the Ada Fruit stuff yet? I’m just getting into Raspberry Pi, and its where I spend a lot of my time. http://learn.adafruit.com/category/learn-arduino
CCZ, how do you like Go on embedded systems programming? Better than C? I just started messing around with it at work too, and would have never thought to use it for embedded work, but now that you mention it, it seems like it’d be perfect.
Depending on what you know for programming, look at the Netduino as another option. Same exact hardware design, but runs the .NET Micro Framework. I love it. C# is way better than Processing.
Go is great on any platform you can get away with using it, in my experience. Way faster to write code in than C, the Go compiler is much faster than C compilers to the point where running the Go compiler right on the embedded device is often an option (and where it isn’t, it is really easy to cross-compile Go code).
The one caveat beyond the obvious one of increased memory/CPU needs (eg. you won’t be running Go code on an Arduino) is that it is easier to do general purpose bit-banging of memory locations in C (to do things like motor or other device control). You can do it in Go using the unsafe package, but it generally is a pain compared to C. On platforms like small Linux ARM systems where most of this stuff can be done through memory mapped files in /dev then Go works really, really well.
I’ve written some stuff about Go on the BeagleBone Black and rasppi in the past here:
Son (college, highly techie) won a Pi 3 and I’m thinking of getting him an Arduino to go with it. Turns out the Arduino world is confusing. Anyone here up on this enough to recommend between the 101 and the Uno R3? Is the 101 level-compatible with the Pi GPIO, or does it also need a 3.3v - 5v level translator? If it is 3.3v io, does that mean that kits full of gizmos intended for the Uno world will include some things that need 5v and so are incompatible with the 101?