4 ms·
I've dabbled with microcontrollers on and off. I started with the Basic STAMP, played around with things like the OOPic, tried my hand at PIC assembly on the 1
by Mister_Snuggles 9y ago
I've dabbled with microcontrollers on and off.
I started with the Basic STAMP, played around with things like the OOPic, tried my hand at PIC assembly on the 16F84 and 16F877, enjoyed the AVRs (ATmega328 and ATmega644) for a while, dabbled a bit with the ultra-low-power MSP430 (via the Launchpad), backed the MicroPython project and got a controller out of it, and have some ESP8266 boards that are just waiting to be played with.
All of that was self-taught via online tutorials and forums. While some of this stuff is obscure, there's a ton of information out there for anyone to learn it.
The biggest barrier to entry is money - developing for these platforms requires buying hardware, both the controllers themselves but also the programming tools (e.g., I use an AVRISP mkII to program ATmega chips). Many controller manufacturers make development boards that include a programmer, controller, and various peripherals to play with - this particular post focuses on the STM32FDISCOVERY board which seems to include the programming tool, a button, some LEDs, plus breaks out the controller's pins so that you can hook up whatever you need.
- jsolson 9y agoYou can get Arduino type boards for a few bucks on Amazon, which can be pretty easily turned into an ICSP programmer for arbitrary other microcontrollers. That helps a lot. Even just using it as an Arduino if you skip the "IDE" is a great way to start.
- Mister_Snuggles 9y agoYeah, the Arduino really opened up the world of microcontrollers to a lot of people. It's easy to get started and the price is reasonable. I've used an Arduino as a glorified breakout board thanks to the ICSP header (connected to an AVRISP mkII), and I've also used it with the Arduino IDE. It's a surprisingly versatile platform.
- ChristianGeek 9y agoYou can buy an Arduino for $10 and program it with a USB cable and any Windows/Mac/Linux computer.
- behohippy 9y agoThe esp8266/nodemcu stuff is super cheap to get into. AliExpress has the boards for $2-3 each and I bought a bunch of sensors (temp/humidity, accelerometer, magnetometer) for around the same price. For less than $100 you can have a bag full of this stuff for weekend projects.
- Mister_Snuggles 9y agoI've been really impressed with the esp8266. The only question is what I want to do with it!
- stevekemp 9y agoLikewise. It has been decades since I last touched a soldering-iron, but this year I've built a few fun & useful projects with ESP8266 boards. To make them attractive I've also started getting into 3D-printing, paying other people to make cases/boxes/shells for me.
- fuzzythinker 9y agoThe biggest barrier to entry is not money but time. Every year the boards get cheaper while being more powerful. A esp8266 costs just $5 now and it comes with wifi. A wifi board for older boards that don't come with wifi costs > $5. The biggest barrier to entry is time because unlike web or other higher level software stack, blogs and github resources are no where near the level you feel like you can figure out how to make something work other than Arduino and RPi platforms. Want to learn how to code Beaglebone's PRU with rproc and not the deprecated uio? Good luck. Want to learn how to configure TMC2130? Good luck. In order to drive the micro-controller space forward, the IC manufacturers really need to produce thorough tutorials that newbies can understand and get up to speed, and keep them up to date. Just take a look at Deep Learning, which became popular no sooner than micro-controller world did. I can easily list 5 top tutorials and MOOCs where a newbie like myself can follow and get some meaningful understanding or output from it. Deep Learning is arguably a much tougher and vast topic as well.
- IshKebab 9y agoThat's because basic deep learning is simpler than the advance microcontroller features you listed. There are plenty of Arduino courses too. Also microcontroller manufacturers don't really make their money from hobbyists.
- d21d3q 9y agoI would place arduino among higher-level programming. Since you are not touching registers and you don't know what is under the hood of Serial.print() (buffers? Circular one that can overflow? blocking? Interrupt driven?) It is more for playing around with prototype.