views:

303

answers:

9

Hello,

I've been thinking quite some time about 'moving on' to MCU programming, but the problem is I've never worked with any microcontrollers or similar. As I've been told, AVR and PIC are the most common microcontrollers among hobbyists, and apparently most people suggest AVR for newcomers like me, due to its 'C-friendly architecture' (whatever that means), its C compilers and its large hobbyist community. AVR or PIC or anything else, doesn't really matter to me, all I'd like, would to be able to write C code on Linux with a good compiler, and eventually to be able to add an LCD screen on my MCU (just for outputting basic ASCII characters, and perhaps draw a couple of pixels here and there, monochrome, nothing huge). I don't need anything complex or extremely fast or even big amounts on memory, as I love limited (but not too limited) things, where you need a bit of creativity to achieve goals. I've looked around on the Internet, but most of the pages I found were decades old and/or didn't suggest any good 'packs' I could buy (and that would support things mentioned above). That's why I'm asking you, hoping that you could help me a bit. :)

Thanks, Hoffa.

A: 

You may want to check out SparkFun's tutorials or LadyAda's tutorials. They have a really good Beginning Embedded Electronics tutorial that explains how to program Atmel AVRs in C using gcc, and have kits that follow along with their tutorial. You may also want to check out their website for lots of other microcontroller hobby items. Like LCDs, micro tracballs, EL lighting controllers, and lots of other good stuff.

Note: I am not affiliated with SparkFun. I find their tutorials to be well-done, that's all.

sheepsimulator
+5  A: 

I used the Arduino which is AVR. It's very beginner friendly and you can very quickly hook things up to use pure C rather than that wiring language thing they use.

I bought mine for like $38 USD and it has a builtin programmer and everything. I've heard there is an arduino starter kit or something with an LCD included.. but I'm not sure

edit: Oh, your in linux. All you should have to do to get running with the arduino is do a pkg_add avr-gcc (or build your own, which is quite simple) and pkg_add avrdude

I use OpenBSD and getting started with my Arduino was very simple and took just about 2 hours to get a hello world running(mainly cause of confusion with avrdude and having to compile an up-to-date version)

Earlz
A: 

I think it depends largely on your goals. If you are looking to do hobby work, I'd recommend a platform like Arduino. If, on the other hand, you are looking to productize something, the AVR is a great choice.

jheddings
+1  A: 

If you want something really fun and cheap, you can't go wrong with a STM32 Primer2 which you can find at DigKey for $59. It is based on the newest edition of the ARM cores (Cortex-M3) so it will have a lot of future ahead. It also comes with a user friendly (if limited to 32Kb of code when debugging) IDE. Try it out.

florin
A: 

As the others have said. Arduino boards are great. It makes getting started easy. After that I built a usb programmer so I dont have to use the arduino board anymore, but I still use it for prototyping.

The programmer I built is from http://www.ladyada.net/make/usbtinyisp/.

The sparkfun tutorial is excellent for understanding what is actually going on.

I have no affiliation to any company other than thinking their product/website is of good quality.

mfperzel
+2  A: 

You might try asking this question at chiphacker, a Stack Exchange site. No offense to the current viewing audience, but not many here have the experience you are looking for.

If this answer is down voted 300 times, it means 300 out of (currently) 110105 users (or .0027% of SO users) disagree with me, which illustrates the point I'm staking my current rep to illustrate.

Might be worth a try :)

The point is to provide a helpful answer, isn't it?

Tim Post
You got your math wrong. You might want to check out mathoverflow.
Zano
@tinkertim - thanks for posting this. Didn't know there was an embedded stack-community.
sheepsimulator
@Zano: Fixed. The 15 character limit sucks.
Tim Post
A: 

I had to use an AVR in a University course. I believe it was an AVR development board with an ATMega8 on it. It came with very good documentation and it had really nice libraries in C that exposed all of its features. SparkFun's website is where my prof bought all his supplies from and it has good resources to get your feet wet with it. I didn't play with LED displays, but the documentation made it seem really easy. From my own experience, working with lights, fans, and data transfer over serial connections was really nice. Have fun!

Sanjamal
A: 

If your are willing to learn a new (but easy) language, I recommend the Basic Stamp, made by Parallax. You program it in pBasic, which is really easy. I also love the Propeller, also made by parallax, as it is incredibly powerful, but unfortunately, requires learning a new (slightly less easy than pBasic) language called Spin.

Ed
A: 

Dwengo has a good starting kit for PIC 18F, and a lot of tutorials to get you started.

Wim