Let's Make Robots!

Beginner Questions

So i've always been very interested in Electronics, but eventually ended up pursuing a career in Computer Science. Anyways I have the programming portion down pretty well.....but my problem is , is that I want to get into the hardware of microcontrollers.

I've done some research on some kits and such, but.....how would I go about "building my own".

Like not purchasing a pre-built board kit, but actually getting the microcontroller.....soddering it in...and it's components or is that probably not a smart thing to do?


BTW any suggestions as a good MC to start out with? I've heard alot about the TI ARM processors among various others but I don't know whats good. I would preferably like to start with one that uses straight Assembly, I can deal with a C compiled one....but i'd rather not lol



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Any good websites for buying these kinda things? (wires/LEDS/microprocessors/etc)


I tend to use mouser.com to find components and findchips.com to find stock or good pricing


  • pololu.com
  • sparkfun.com
  • robotshop.com
  • solarbotics.com
  • jameco.com/Jameco/robot/robotstore.html
  • parallax.com
  • dealextreme.com (for good deals on miscellaneous stuff)
  • or see a large list of others

SparkFun rocks, IMO. 

I suggest getting started with an Atmega328p or similar ATtiny or ATmega 8-bit microcontroller.  Many of these come in a Dual Inline Package (DIP) so you can use them on a solderless breadboard.  They also have free tools - GCC (C compiler) or assembly, AVR Studio IDE.  I recommend the following for getting started:

  1. Solderless breadboard
  2. Different colors of 22 AWG solid wire (I use red, black, green, and white)
  3. wire cutters/strippers
  4. battery pack, DC power supply, or other power source
  5. microcontroller (ie ATmega328p)
  6. AVR programmer (I use an AVRISP MK-II, you can consider cheaper, non-OEM alternatives such as from pololu.com)
  7. long headers for easy programmer connections (these are pictured in the link below)
  8. Cheap digital multimeter (You can get one on dealextreme.com shipped for around $13)

I highly recommend the following tutorial for getting started from scratch, which has a C example. 


avrfreaks.net has support for assembly and C.  Also take a look at the ATmega328 datasheet which has some assembly examples.  Note that a typical Arduino circuit uses an ATmega328!

Thanks everyone for all the answers! Helped me alot

Regardless of what processor you end up using start with a breadboard.
I'ts cheaper than a development board and more flexible.

I started with picaxe (PIC) and a bread board. Then went to arduino (ATmega).

 I have used both Atmel and Pic controllers, and find that I like the Pics a little better. As far as getting started on the hardware end of thing, get a breadboard! Once you have your circuits working, then think about doing some soldering. I would also recommend trying out a lower level processor to begin with. I use the Pic 16F series. It is easy to program i assembler, and I think you can get a C compiler for it as well.


top of the page, click on START HERE  

I think thats everything you want to know and everything you want to do.

I started with a few pic chips and a cheap programmer. Then I bought 3 arduinos, then I bought 10 more PICs. In the end they are both very very nice. I never had any issues with either one. I think PICs are great if you really want to build circuits from scratch, they have a lot of chips with varying prices and features, and they are almost always available. I would recommend the arduino for higher level projects which include a computer. Arduino's main strength is it's flexibility and convenience. It's much much easier to go from idea to prototype using an Arduino. For example, I wanted to be notified of incoming emails and instant messages while I was away from the keyboard. I took out an arduino, hooked up a RGB led and wrote a short program to wait for values on the serial port and change the color. I then wrote a windows program that hooks FlashWindowEx and sends rgb commands on the serial port where the arduino listens. I can now spend more time around the watercooler without missing out on all the funny video links that my friends send me on IM. Now... the problem is I want my arduino back for robot brain duty... and my friends want one of the cool glowing gizmos too. The problem is ... finding the arduino com port can be tricky to do automatically. This is where a PIC like the PIC18F13K50 can save the day. Since it's usb capable, I can make a much cheaper, smaller device for my friends, and it will be more reliable and user friendly.

Can I build my own development board to what language should I use. To answer your question yes you can. But it would be better if you start with a system like arduino or picaxe or basic stamp and use them to learn what is involved in designing them. What the pins are used for and what layout would be best for your own design. These tools are very good for that. Once you understand the particular micro used in those systems you could go on to design your own board with a pic or avr. I think thats pretty much how most people have started. Well I know I did at least.