1 chip Arduino

Hello there!
Some days ago I got an Arduino Duemilanove.. You know you can't just have only one after some hours of tinkering with it! ;D

So.. I bought some ATMEGA168 to play with (not as Arduinos, but..). Can these little guys be "Arduinos" but WITHOUT any external component? Something like http://www.geocities.jp/arduino_diecimila/obaka/project-2/index_en.html, maybe?

I'm not asking for complete projects, tutorials etc, but for information like if I'll need a custom bootloader etc :wink:

It would be perfect, as I build everything on breadboards! Short lifes, but that's the game :smiley:

You pretty much can, yes, if you use the internal oscillator. Otherwise at the very least you need a crystal or resonator. You can check out this topic for how to run from the internal oscillator. However, there are some advantages to using a more complete unit, such as onboard programming header & reset button, onboard voltage regulation, onboard reset switch, all of which are optional but make things much easier, and you can get them in various combinations on breadboard-friendly units.

There's another person on this forum working on breadboard compatible arduino form factor: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1239733868

As well as a couple of commercially produced options:
http://www.ladyada.net/make/boarduino/
http://www.moderndevice.com/RBBB_revB.shtml

I'm partial to the RBBB myself, since it's a bit narrower than the Boarduino and you can cut off the power section to make it shorter (I use a regulated supply for breadboarding anyway, so it's not really necessary).

Note that some of the smaller units don't have USB onboard, so you need something like this as well: http://www.sparkfun.com/commerce/product_info.php?products_id=9115

A separate USB-Serial adapter is also useful if you want to build custom boards down the road and don't want to have to incorporate a USB converter onto each one.

As to the bootloader, you only need to mess with that if you depart drastically from the standard Arduino design (using a different AVR, different clock speed, IE). Otherwise, you can just pick up a pre-bootloaded 328 or 168 from any Arduino-friendly store and put it straight to use.

To be compatible with the Arduino IDE system the standalone 168 chip needs just a few external components. A pull up resistor for the reset pin and either a 16mhz resonator or a 16mhz crystal and two caps. It's also good to have a couple of .1mfd bypass caps for the +5vdc voltage pins.

Lefty

Thanks for the replies guys!

I don't really care if I blow them up, I'm just testing (& learning). All those "extra" components may be good for the Arduino, but all I see is a board-component-hell! :frowning: I'm learning though :stuck_out_tongue:

I also don't care for the power, I can feed the AVR 5volts directly from the USB. If that doesn't work, I can use the regulator on my old *stamp board :wink:

As for the USB to Serial, I have this one available, I think it works, doesn't it? http://www.m3-online.com/catalog/images/usb-to-serial-1.jpg

I can't go for "shopping" because it's a long trip from my home and I can't buy from abroad because I don't have a CC/DC yet. So that's why I'm trying to build it with what I have available :-[

EDIT: Tomorrow I think will be the big day (its 4:30 in the morning here).. :stuck_out_tongue: I'll try to flash this bootloader "ATmegaBOOT_168_pro_8MHz.hex"!

As for the USB to Serial, I have this one available, I think it works, doesn't it?

No, not directly. That converts USB serial to RS-232 serial voltages which are usually around +12 to -12 vdc or so. To use this converter with a AVR chip you would need like a MAX232 chip that converts RS-232 voltages to +5vdc and ground voltages that the AVR needs, that is called TTL voltages.

Lefty

Hmm.. I had zero luck with the parallel programmer. I programmed a ATMEGA168 only once, then it wouldn't respond.

This morning I modified my Duemilanove in order to make it a programmer. I succesfully flashed the ATMEGA168, works like a charm on the board! I have another problem now..

When I move the chip on a breadboard it won't work.. I power it correctly, I think.. I'm I missing something? :-[

P.S.: I tried with the Arduino bootloader and the Blink sketch and a blink.c program I compiled and flashed my self. No luck at all :frowning:

When I move the chip on a breadboard it won't work.. I power it correctly, I think.. I'm I missing something?

A drawing of how you wired your breadboard processor would be helpful. Are you using a 16mhz resonator or crystal?

Lefty

No, I don't have a crystal available.
Here's a picture. Thanks for the help :slight_smile:

EDIT: Forgot to tell that I'm using 5v from an old Basic Stamp board and not 3v like the picture! I also tried to power the AVR with my Arduino board but it does the same, nothing (in case it was a powering problem).

You need a crystal/resonator on pins 9 and 10, a pullup on pin 1, a current-limiting resistor on your led, and 5V on avcc (pin 20).

Why do I need a crystal? Doesn't it use the internal?

A pullup on pin 1? Haven't tried that yet..

My problem is that the AVR doesn't work on the breadboard, so I don't think the resistor on the LED will fix it :-/

Already tried +5 on AVCC.

The crystal sets the clock frequency. It's possible to use it without one, but not with the same bootloader and fuse settings that will work on the duemilanove board.

My problem is that the AVR doesn't work on the breadboard, so I don't think the resistor on the LED will fix it

He was listing ALL the problems with your layout. IF you were to get the layout working but not install a current limiting resistor for the LED you would burnout that output pin.

If you wish to be able to remove a programmed chip from your Arduino board and run it on your breadboard then it needs the same set-up it's programmed to run at, which means an external 16mhz resonator or crystal. You also do need a pull up resistor for the reset pin and you should add some decoupling capacitors to the +5vdc inputs on the chip.

Lefty

I tried burning an 8mhz bootloader, it worked on the board (with crazy timings, as it should be) but not on the breadboard :-[

My current problem is that the AVR (with and without the Arduino bootloader) doesn't work. I'll try adding a pullup on Pin 1 and see if that makes any difference!

Thank you everybody :slight_smile:

I uploaded a C program without delays (no need for crystal/resonator). Works
fine on the Arduino board but, again, not on the breaboard.
I've clicked every result on Google for "avr tutorial" but everyone talk about code and not the hardware :frowning:
Can someone point me to the right direction? What pins need power and what ground? :frowning:
Sorry if I'm getting boring :cry:

Oh well, I wired my Arduino's crystal and it worked :stuck_out_tongue:

http://www.mikrocontroller.net/articles/AVR

I found out that I need to change the Fuses. Hmm, that's easy but I don't know what to change to :stuck_out_tongue:

EDIT: Found this site http://www.engbedded.com/fusecalc

EDIT2: I made it work, thanks everyone!! :smiley: