Odds and Ends

Make:

So I was at a local electronics store yesterday. They happen to have a book section, and what did I notice but “Maker’s Notebook”. It is a cool blue, semi-hard covered notebook. It is blank for you to put all your project notes in. There is a table of contents, numbered project pages that are graph paper, a few pages with basic electronics information, and it has a back pocket with sheets of stickers. I like it because of the page numbering and table of contents. Now I can organize my ideas for the different projects I am working on. With the graph pages I can draw schematics, write notes, even come up with some mechanical design.

This cool little notebook measures about 5 3/4 inches by 8 3/4 inches. For those of you who use the metric system it measures approximately 14 1/2 cm by 23 cm. You can also purchase it from the Make magazine website by clicking the store tab.

Ordering Parts

It may seem like it would be too soon to order any parts for this project, but it is not. I have a good idea what parts I am going to be using, plus I have a list of parts for other projects. I will look over my list and the requirements for the robot brain and try to combine the common parts. This is so I can get a bigger discount on buying in bulk. Think of it this way, if 10 resistors cost me 10 cents and 100 resistors only cost 75 cents, I am going to buy the 100 resistors. I like to have spare parts and extras for other projects. Two of the biggest catalog suppliers are Digikey and Mouser. You can search their websites for all kinds of parts.

I am also planning a purchase from Sparkfun. I am going to get an Arduino Uno, the motor shield, and a prototyping shield. I have not messed around with the Arduino before so I am going to play with one. Later I will write-up posts on the Arduino from a newbies perspective.

Time

Time is fleeting as they say. Hopefully you will bear with me, because of time constraints I cannot post everyday. The reality is I need time to draw the project’s schematics (which can take days if not a week) and prototype/breadboard the circuits to check the functionality. After which comes the board layout (again it can take a week) and don’t get me started on the software. I have some software routines that I will be able to reuse from my first robot brain. I plan to be able to reuse most of the software I write as I try to code the interface to be generic. Then the specific robot implements the interface in its own way. So I just wanted to thank you for your patience.

What is next?

Like I have said before, my next post will be the final design. In reality I can change the design anytime until I have sent the files out to have circuit boards made. In addition I will talk about the schematic capture software I am using and show you the progress on the schematic. I will include a parts list with part numbers and Digikey/Mouser part numbers so you can follow along.

With the limitations of how much storage I am limited too with WordPress.com, I might start linking the pictures from my posts to pictures on a service like Flickr or Picasa Web Album. We will see. Until then have fun.

AVR Overview – Programmers/Debuggers

Programmers and Debuggers

Today I am going to talk about some of the options you have for programmers and debuggers. When I talk about programmers, I am talking about the devices used to download code into your microcontroller while it is still in circuit. There are production programmers that pre-program the device before it is put in the circuit. Debuggers on the other hand are designed with the idea that the chip is already in the circuit. The debugger helps you find what is wrong when your circuit does not work. So let’s get going.

Atmel

Atmel again you say, well they did design the chip. Atmel has several choices of programmers and debuggers. On the low-end you have the AVRISP mkII. This is a simple USB programmer that plugs into a 6 pin header on your board. Current pricing for this is $34 from Digikey. All this unit does is program your device in circuit.

Next is the AVR Dragon. This is a programmer and debugger all in one. It sells for the low price of $49, from Digikey. The Dragon can perform low voltage programming, high voltage parallel programming, JTAG and OneWire debugging. There are a few limitations. First and foremost is you will have to solder on your own headers to connect it to your target board.  The second limitation is it will only program up to 32K of flash memory. I have heard of people hacking the unit to handle larger files, but I have not researched it more than that. In addition to all of that, there is a second AVR on the board you can program with your own code. All of its pins are brought out to headers.

How about the old STK500. This is more an evaluation board that supports programming and debugging. This board was designed more with the through hole (DIP) parts in mind. This board has many I/O pins, LEDs, and buttons for simulating your application. Best place to learn more about the STK500 is Atmel’s web site. There you can find vendors and pricing.

The AVR JTAGICE mkIII is a more expensive programmer, debugger, and an in circuit emulator. It does many things, but the cool feature is the in circuit emulator (ICE). This allows you to exercise external circuits with the JTAGICE unit. Again I will refer you to the Atmel website.

Atmel has a new kid on the block called the AVR One!. Currently it only supports the AVR32 and Xmega devices. Atmel has said it will include support for the other devices in the future.

More to come…

Since the Atmel part was so large, I have decided to break this up into 2 parts. Next time I will finish up with programmers and debuggers. After which I will conclude this whole overview with the software side of the AVR.

AVR Overview – Hardware

Hardware

This time I am going to discuss hardware platforms, mainly where you can get them. There are many vendors where you can get board with an AVR micro on it. I am just going to mention a few that I have dealt with before. I am going to move quick, so I hope you can keep up.

Atmel

I am going to start with Atmel. Through Digikey, Atmel sells the AVR Butterfly. The Butterfly has a mega169V micro, a LCD, joystick, and tons of I/O. The board runs about $20 from Digikey. If you read the magazine Nuts & Volts, you might have seen the articles “Smiley’s Workshop”. He uses the Butterfly to teach C programming for the AVR. I recommend you check out the articles.

Pololu

Pololu is another vendor, and a great place to get robotic parts. They carry a line of sensors, motor drivers, motor controllers, and AVR microcontroller boards. Their Orangutan series of boards range from small 24 pin DIP modules to large multi-micro/multi-board designs. So take a look around Pololu’s web site, you won’t be disappointed.

Sparkfun

All I can say about Sparkfun is WOW! They have more electronic offerings than I can mention. They have a long list of AVR development boards along with other microcontrollers. You will just have to check out there site to see everything.

Wright Hobbies

Wright Hobbies is a smaller supplier of electronics. They have 2 different boards for sale. The first is the M32 DevBoard. It uses the mega32 micro. All of the pins are brought out to headers. The second board is the Chibots Controller board. This board was developed by the owner Eddy Wright for Chibots – the Chicago Area Robotics Group. The Chibot Controller carries a mega48 and a motor driver. The board was designed for some of the simpler robotic games held by Chibots. We will hear more about Wright Hobbies in later articles.

Megabitty

The Megabitty is a very small 1″ square microcontroller board with dual 500mA motor drivers. The chip is a mega8, but could be replaced with a mega48/88/168/328 as they all use the same pin out. You will have to check the Megabitty web site to see where to buy the kit.

Arduino/Freeduino

Un Arduino Diecimila

Image via Wikipedia

I decided to lump these together because they are similar boards. In fact there are many copies of the Arduino platform that you could buy, one of them being the Freeduino. First place to look up information on Arduino is the web site. The Arduino is supported by a very large community committed to the platform. Arduino is a board and a programming environment. The resources are too numerous to list here, so I just suggest doing a search in your favorite search engine, for Arduino.

Next Time…

There are many more options out there, but since I plan to build my own. I will leave the rest of the searching up to you. Next time I am going to talk about programmers and debuggers.