Go Down

Topic: 1 chip Arduino (Read 2829 times) previous topic - next topic

Abfahrt

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 ;)

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

ajb

#1
Jul 26, 2009, 03:15 am Last Edit: Jul 26, 2009, 03:20 am by ajb Reason: 1
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.

retrolefty

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

Abfahrt

#3
Jul 26, 2009, 03:29 am Last Edit: Jul 26, 2009, 03:32 am by giannoug Reason: 1
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! :( I'm learning though :P

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 ;)

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).. :P I'll try to flash this bootloader "ATmegaBOOT_168_pro_8MHz.hex"!

retrolefty

Quote
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

Abfahrt

#5
Jul 27, 2009, 04:06 pm Last Edit: Jul 27, 2009, 04:12 pm by giannoug Reason: 1
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 :(

retrolefty

Quote
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


Abfahrt

#7
Jul 27, 2009, 04:49 pm Last Edit: Jul 27, 2009, 04:51 pm by giannoug Reason: 1
No, I don't have a crystal available.
Here's a picture. Thanks for the help :)


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).

whosawhatsis

#8
Jul 27, 2009, 06:19 pm Last Edit: Jul 27, 2009, 06:23 pm by whosawhatsis Reason: 1
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).

Abfahrt

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.

whosawhatsis

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.

retrolefty

Quote
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

Abfahrt

#12
Jul 27, 2009, 07:31 pm Last Edit: Jul 27, 2009, 07:34 pm by giannoug Reason: 1
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 :)

Abfahrt

#13
Jul 28, 2009, 02:10 am Last Edit: Jul 28, 2009, 02:29 am by giannoug Reason: 1
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 :(

Can someone point me to the right direction? What pins need power and what ground? :(
Sorry if I'm getting boring :'(


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

madworm

http://www.mikrocontroller.net/articles/AVR
• Upload doesn't work? Do a loop-back test.
• There's absolutely NO excuse for not having an ISP!
• Your AVR needs a brain surgery? Use the online FUSE calculator.
My projects: RGB LED matrix, RGB LED ring, various ATtiny gadgets...
• Microsoft is not the answer. It is the question, and the answer is NO!

Go Up