Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Learning about microcontrollers

  1. Mar 8, 2010 #1
    I need to learn about micro controllers and micro processors. Coming from a Physics background I need a starter kit that is intended for non-Electrical Engineers. What is the best kit that I can get that will give me a basic understanding of micro processor through actual experimentation to learn things like SCA, SDA, etc?
  2. jcsd
  3. Mar 8, 2010 #2
    Arduino, though I'm not sure what SCA/SDA is.
  4. Mar 8, 2010 #3
  5. Mar 8, 2010 #4


    User Avatar

    Staff: Mentor

    Microcontroller (uC) kits are also available from Microchip (PIC uC), and other uC vendors. You can probably do a search in this EE forum for threads with microcontroller in the title, and get a wide variety of information.
  6. Mar 8, 2010 #5


    User Avatar

    Staff: Mentor

  7. Mar 8, 2010 #6
    And the AVR (the actual microcontroller used on the Arduino) does have I2C, though it's called TWI on the AVRs. I don't know if it's brought out to a header on the Arduino board.

    The Arduino is just an Atmel AVR microcontroller with a particular bootloader, stuck on a particular board with power and some other stuff on it, usually programmed in a sort of heavily customized C++ called Wiring, together with some libraries which heavily abstract the actual hardware. You may get going faster in the Arduino environment, but you won't learn nearly as much in doing so, and you'll be limited in what you can do by the capabilities of that environment.

    That's the software. I've never seen much advantage to the hardware, either. There's a stupid hardware bug, a misaligned header that makes it impossible to plug the Arduino into a breadboard or standard perfboard, which has been carried over the stack-on "shields" and become a permanent feature. Aside from that, the Arduino is much more expensive than a bare AVR chip and doesn't have any notable features, other than the aforementioned shields. And you won't learn much by stacking on a shield and linking a library for it.

    The same basic objections apply to the Parallax BASIC Stamp. It is really not harder to learn to do the things you can do in BASIC in C, and there's no shortage of howtos and getting-started guides. You just severely limit yourself, while spending time and energy on something that won't teach you as much and paying a premium for the hardware.

    That said, I do strongly prefer the AVR over the PIC. It's a cleaner design, it supports the C language well, and there's decent free tools for it as well as a strong online community...look at http://avrfreaks.net. I would suggest an ATmega32 or something (make sure to get it in the DIP package), a breadboard, and Atmel's AVRISP MkII programmer...it's cheap and well supported, but there's also guides out there on how to build parallel port or other programmers.

    There's other microcontrollers out there, but many are only available in surface mount packages, or are harder to get tools and support for. I do suggest looking around to see what's available.
  8. Mar 17, 2010 #7
    I would (and did) start with the picaxe range of microprocessors. These are programmed in Basic and hence very easy to get started. They can interface through Serial or USB and there are a range of hobbyist boards available.
    Best of all the forums are absolutely brilliant and easily used by novices

  9. Mar 18, 2010 #8
    sparkfun.com has some good tutorials to get you up and started with microcontrollers. keep in mind this is for the extreme novice... like me.
  10. Jun 14, 2010 #9
    I am just going to enter engineering college in 2 months for B.TECH 1st year. Before that I wanna learn every single detail about microcontrollers from basics.

    Plz help from where to start and how????
    Thanx in advance for ur kindness...................
  11. Jun 15, 2010 #10
    I prefer the PIC series. You have lots of choices and lots of online sources to learn from. The harvard architechture is a slight pain but if you use an 18 series IC there's a C compiler.
  12. Jun 17, 2010 #11
    I'd say there's little reason to inflict the PIC on yourself unless you're getting paid for it. Expensive, proprietary tools and an ugly architecture.

    There seems to have been an implicit assumption of 8-bit microcontrollers. The ARM Cortex microcontrollers are another possible choice...cortex M3s are really about as easy to get going as 8-bit micros. They're pretty much universally surface mount, but there are boards that break the pins out to useful headers.

    The Stellaris MCUs have some good, low-cost eval kits with a few peripherals like buttons and OLED displays and places to solder on wires or header connectors, and on-board JTAG hardware for programming and debugging over USB: http://www.luminarymicro.com/products/stellaris_811_evaluation_kits.html

    Those boards come with various time-limited and size-limited evaluation development environments, but it's not too hard to get them going with open source tools.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook