Any Advice?

Discussion in 'Embedded Systems and Microcontrollers' started by arios0, Apr 7, 2010.

  1. arios0

    Thread Starter New Member

    Apr 7, 2010
    I am a Computer Science student and have knowledge in C and asm. I want to start toying with Microcontrollers. However, I only have a very basic knowledge of electronics. I know things like ohms law, truth tables, etc. That is only very basic electronic knowledge. Would I need to study electronics in more detail before I could make anything useful with a microcontroller?

    I am sorry for the newbish question.
  2. Markd77

    Senior Member

    Sep 7, 2009
    I'd just go for it. A lot of the time microcontrollers are used to replace complex circuits and anything you need you can learn as you go along.
  3. PRS

    Well-Known Member

    Aug 24, 2008
    Take a class in Microprocessor Systems Design. I've noticed certain books written for amateurs that focus on one set of chips. These books are probably the fastest way to get started on it. There is one chip called the BASIC STAMP that looks easy to learn and use. It's capabilities are more limited than PICS; but then, Rome wasn't built in a day either. Good luck! :)
  4. arios0

    Thread Starter New Member

    Apr 7, 2010
    Thanks for the advice so far. I would rather not program in basic. I am pretty well versed in C and have a good knowledge of x86 assembler I don't want to be limited with what I want to do because of an easier programming language. The things that kind of concern me is the ability to connect a pic to things other than a pre built development board.
  5. rjenkins

    AAC Fanatic!

    Nov 6, 2005
    Look at the 'Pickit 2' programmer.

    That connects to a six pin header you add to whatever PIC gadget you build and allows in circuit programming, single stepping of programs, watching registers and memory etc. all from within the (free) MPLab programming software.

    There are a few C compilers you can get that integrate with MPLab, varying from free to moderate prices.
  6. hgmjr

    Retired Moderator

    Jan 28, 2005
    You need to get your hands on some basic electronics tutorial material. AAC's ebook is a good place to familiarize yourself with the basics. You can always turn to the members here at AAC for clarifications on the concepts that are not clear to you.

  7. arios0

    Thread Starter New Member

    Apr 7, 2010
    Yea I have read most of the DC circuits part a few years ago and am reading through it again. I have also been skimming the schematics of a few simple pic projects. I believe I wont really learn till I dig into something I really am interested in doing.
  8. Art

    AAC Fanatic!

    Sep 10, 2007
    If you got get an experimenter's board you'll
    probably find programming microcontrollers will teach you some electronics.
  9. BenjaminSweet

    New Member

    Jun 4, 2010
    As a practicing embedded software engineer, I found the following books to be quite impressive.

    Valvano has the "right" mix of hardware and software:
    "Embedded Microcomputer Systems: Real Time Interfacing", 2nd Edition, Jonathan W. Valvano
    © 2006, Thompson/Cengage Learning ISBN-10: 0-534-55162-9 | ISBN-13: 978-0-534-55162-9

    "Introduction to Embedded Systems: Interfacing to the Freescale 9S12", 1st Edition, Jonathan W. Valvano, © 2010, Thompson/Cengage Learning
    ISBN-10: 049541137X , ISBN-13: 9780495411376

    Chuck Hellebuyck ("Helle-buck") also has some very good books with a good mix of software and hardware:
    "Beginners Guide to Embedded C Programming" and "Beginners Guide to Embedded C Programming Volume 2", Chuck Hellebuyck

    I also agree with Art that hands-on work with an evaluation board is the best way to really learn (be prepared to dig-in though.) There is nothing quite like the thrill of seeing an LED blink on and off under YOUR software control for the very first time. (Like "Hello, World" all over again...)

    Freescale, Microchip, TI, and most other microcontroller providers have "evaluation" boards for in the $100 range. Some have prototyping areas, switches, potentiometers, LCD displays, etc.
  10. Vaughanabe13

    Active Member

    May 4, 2009
    Don't worry too much about designing the hardware until after you've done some basic projects. Get a Microchip PIC development board and a PICKit2 programmer and do a few simple things with LED's. Then you can learn about how the development board is put together and use that to design your own projects.

    AAC Fanatic!

    May 26, 2009
    I have recently embarked on an endeavor to learn abou uCs as well, particularly PICs. All I did was purchase a PICKit2, learned binary and hex, then I started experimenting with LEDs.

    Here's an excellent website that helped tremendously:

    As a subset of that link, this individual tutorial assisted me for blinking my first LED:

    As you may have noticed, the tutorial uses the PIC18F1320, which I highly recommend for starting out. It has served me well over the past few months.

    Good Luck!