Problem with using an AtMega328P - PU Chip as standalone Chip

Hello!

I have a problem with my atmega328p - pu chips. My problem is, I bought some atmega chips (amazon link: Amazon.com: Fii X3 Atmega328P-PU Bundle with Sockets : Industrial & Scientific ) And they work perfectly as far as I can tell. They have Arduino UNO bootloaders on them so I switched out the original chip that came in my Arduino UNO and they work like a charm, I uploaded Blink with no problems, and the led does in fact blink. However, when I remove the chip and follow a pin diagram for the atmega328p - pu in order to wire it up on a breadboard, I get nothing, no led blink. I will attach a picture of my wiring (in the picture I have no power source connected, but when I do connect 5v and GND from the UNO with no chip in the socket, it makes no difference, the chip on the breadboard just starts to become warm to the touch).

This is my first time using these microcontrollers so I'm hoping its just my lack of ability and not something wrong with the hardware.

If you need any more information just let me know :slight_smile:
Thanks so much!
~Blake

(p.s. if this is the wrong section, let me know and id be happy to move the post!)

20181029_154927-01[1].jpg

You’ve missed several necessary components, the most notable being the crystal and capacitors. Several links on how to do what you’re attempting:

https://www.jameco.com/jameco/workshop/jamecobuilds/arduinocircuit.html

https://www.arduino.cc/en/Main/Standalone

Edit ps: you can run without the crystal and two 22pf capacitors but you need a different bootloader, set up for 8 MHz and you need to reprogram the chip, changing both the bootloader and the clock fuse settings in order to make it work. In order to do this, you need to install “miniCore” which directly supports the 8 MHz internal clock.

Thanks for the information! I am indeed looking to run it at 8mhz, so I will look into that. I will see how that goes :slight_smile:

Thanks again,
~Blake

I think you’re stuck in a catch-22 situation. You cannot change the bootloader without an ISP (in circuit serial programmer). You’ll need one of these to be able to create an internal clock part:

  1. A second Uno to use as an ISP, using the original Uno for its crystal and caps.
  2. A USBASP ISP programmer (less than $5 on eBay)
  3. A 16MHz crystal and (2) 22pf capacitors
  4. A blank atMega328 (no bootloader) as they come defaulted to the internal 8 MHz clock.

For the breadboard processor, you’ll also need at least two 0.1uf (100nf) ceramic bypass capacitors and a 10k resistor for the reset line.

Once you have the above sorted out, you’ll find the miniCore here:

Scroll down on that page and look for the installation instruction. Use the “Boards Manager Installation” method if you not comfortable with directories and zip utilities. It’s really the preferred method these days though since it’s so easy.

Once you have an ISP and miniCore, you select the 328 with 8MHz internal clock and use the ISP to “burn bootloader” to the chip you want to use.

You also need a 0.1uf ceramic cap between vcc and gnd and between avcc and ground, as close to the chip as possible.

Is that yellow wire really meant to go from PD4 (pin 6) to AREF (21)?
Or was it meant to go from VCC (7) to AVCC (20)?

Good catch. Since the OP said he purchased chips with bootloaders installed, I stopped looking at the photo when I didn’t see a crystal or caps. A second look says it could never work.

Only the AREF pin connection is correct and the others are on port pins. The chip used in the breadboard might be damaged, might not, as I don’t see a ground path anywhere.

You can use the image in the MiniCode documentation for connections:

Op’s image:

bb381377e7327e70cf0863fb18b994fa992bba83.jpg

One last note: the resistor value is incorrect for a reset pin. It should be 10k ohm (brown-black-orange) and of course it needs 0.1uf bypass caps.

Ok, so let me get this straight...
If I am understanding you all correctly, I need 100% blank chips in order for them to work with their internal 8Mhz clock?

Also, I was trying to get the chip to work with the Blink sketch so the resistor is for the led, I wired everything according to the video below, though I may have stuck something in the wrong spot, I can't tell though.

WattsThat:
One last note: the resistor value is incorrect for a reset pin. It should be 10k ohm (brown-black-orange) and of course, it needs 0.1uf bypass caps.

If it helps this is the video that I was originally following for this project:
($2 Arduino The ATMEGA328 as a stand alone Easy, cheap and very small A complete guide - YouTube)

Thanks for your patience!

Your breadboard photo: The resistor in pin 19 (Arduino digital pin 13) is correct. The red wire in pin 23 and both yellow jumpers ends (pins 6 & 21) are on the wrong pins of the ic. You’re missing power connections, jumper from VCC to AVCC, reset line pull-up and bypass caps.

You need a ‘328 with its fuses* set to use the internal rc 8MHz clock. A blank, factory fresh chip is programmed that way.

The only way to change an exsisting chip is with with avrdude in command line mode (somewhat complex and perhaps risky for a newbie) or using an ISP programmer (using a Usbasp or an Arduino with the “Arduino as isp” sketch loaded).

An existing chip, with the fuses set for a crystal oscillator, would need to be plugged into an Uno board, which provides the crystal and load caps, or in a breadboard that has the crystal and caps installed. Without the crystal and caps, there is no clock and the chip appears dead. You can inject a clock signal into the part so that you can reprogram the fuses but this too is difficult for a newbie.

The absolute easiest and most predicable way to change fuses is to buy a Usbasp, which is just an Atmel atmega8, the same processor as the Uno with 8k rather than 32k of memory. It has been flashed with a program that turns it into a dedicated in circuit serial programming tool for any AVR family part. $5 or so on eBay, a very worthwhile purchase if you’re planning on using bare chips.

  • “fuse” is an Atmel term for a programmable flash memory cell in a special location that is used to configure the operation of the micro controller. It can be erased and reprogrammed with the correct tools and software.

I see...
Is there any possibility that I could -with the proper guidance- make the three chips I have useable? And or, would buying blank chips and then following the tutorial I previously mentioned work?

If you’re comfortable with command line operation, you might be able to do it with avrdude.

What OS are you running?

I'm using Windows 10 Home, version 1803. I have some, albeit limited knowledge of command lines, I'm willing to try just about anything, never learn anything if you don't eh. :slight_smile:

Just so you know, it is late in my time zone, and I have work tomorrow. So I may not reply for 12 hours or so.

Cheers!
~Blake

WattsThat:
An existing chip, with the fuses set for a crystal oscillator, would need to be plugged into an Uno board, which provides the crystal and load caps, or in a breadboard that has the crystal and caps installed.

Nope. There are at least two publicly available versions of the ArduinoISP sketch that provide the necessary clock. A single extra wire is the only additional connection.

Coding Badly: Thank you for the memory jog, forgot those versions where out there. It saves the day as my testing with avrdude command line mode failed, you cannot set fuses when using a serial connection.

Blake-Cobalt: Here is a link to how to use one of the bootloaded chips in a breadboard and download a program into it and set the clock for 8MHz internal:

http://www.gammon.com.au/forum/?id=11637

and scroll down to the heading "Alternate clock source". Program using the MiniCore selection for the internal clock selection.

Thank you, gentlemen! (or gentlewomen)

With this information in mind, I have purchased some cap's and some resistors, as well as a couple attiney85's that I will use on a smaller project I have brewing. My current chips will be put on the back burner until those parts arrive as I have some other projects to focus on.

Thank you a ton for the help and information!
I will update the post when I get them working, and or if I need further assistance.

Best wishes,
~Blake Cobalt

You’ll want Dr Azzy’s (a regular here) core for the attiny85.

There is a multitude of good info in his github repo. Read up before jumping into the deep end so you know what limitations the part has. The most notable is no hardware based I2C, SPI or uart serial so using any of these features incurs a user memory size reduction.