Hacker News new | past | comments | ask | show | jobs | submit login

If you learn how to implement a PIC you've basically learned how to implement all PICs, so those giant parametric charts of on board device tradeoffs are all open to you. Need 3 CANBUS and 12 bit A/D, just swap a chip. Also lets be realistic, some families are weirder than others and there are always gotchas but if you can make a 68hc11 work you can make a AVR work or any other microcontroller ever made in the past or future.

Or you can buy someone elses product and play within that timid little silo and never, ever, think of expanding outside that rigid narrow little silo, always suffering under someone elses tradeoff decisions. And if all you ever do is blink a LED you'll never know the difference.

Its like the difference between learning to be a carpenter who can make any shape of wood out of any species of wood and any wood finish, although maybe its a lot of work and takes awhile and the end result of the first hundred tries is best utilized as woodstove fuel, vs playing with a purchased bucket of lincoln logs and deluding yourself that you're now a woodworker just like the old time woodworkers, because, hey, I'm a maker, making wood stuff! "Hey look, I made a cabin using lincoln logs! A whole cabin in less time than old time apprentices took to learn how to nail together a little wooden box. Isn't progress great?"




To be fair, I think there is a place for stuff like the Arduino, RPi, &c.; for example, I've got a couple of projects prototyped on my breadboard Pi right now, before I reimplement them on an MSP430 as I2C-connected peripherals, and even that's an intermediate step on the road to my (very eventual) ultimate goal of making them operable via USB.

Now, as fancy as all that sounds, I'm basically a software guy who can just about use a soldering iron without putting himself in the hospital. If I had to start at the end, implementing a USB interface I as yet know next to nothing about, it'd be a very long time, if ever, before I managed to achieve anything.

If I had to start in the middle, with a simple-minded little 16-bit MCU and an I2C interface, I'd have almost as hard a time, not least because I'd have to find some way to bridge the devices I'm building and the software that drives them. (Off the top, I guess I could dig up an old USB-to-parallel adapter somewhere, then bit-bang I2C on the data lines or something, but I wouldn't be delighted at having to go so far out of my way.)

Being able to start with an RPi, where I can address GPIO pins with `cat` and `echo`, and validate my idea before I start working my way up the complexity curve, is a great aid to actually being able to accomplish something. If I had EE training, that'd be one thing, of course, but I am, as mentioned, a software guy, picking up a new hobby in my spare time. Not having to learn everything all at once makes that worlds easier to achieve.

And, hey, if there are people who figure the answer to everything hardware is "buy an Arduino and some shields", is that even necessarily so bad? They're not looking to get into electrical engineering work, or at least I hope they're not; they're just excited to be able to do things they couldn't do before, because the necessary degree of complexity was beyond their capabilities. Isn't that more or less the whole point of technology?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: