Hi, firstly I understand that there may be dozens of threads that may follow along the lines of this issue, but I feel I may get a quicker response and solution by posting rather than wasting time attempting dozens of other 'solutions'. So here it is:
Problem: I am unable to upload sketches to my homemade arduino.
Context: I have followed the Building an Arduino on a Breadboard guide completely (see
https://www.arduino.cc/en/main/standalone) except mine is soldered on a perfboard. I have checked connections with a multimeter and inspected all solder joints, everything appears to check out. When the device is powered, the standard blink operation begins. This tells me the Atmega328P chip has been programmed with the Blink sketch so it is to my understanding that it does not need the bootloader burned to it. The FTDI FT232 usb programmer that I am using is here: https://www.gearbest.com/power/pp_235844.html. I have hooked up the programmer to my arduino following the arduino link above. My computer recognizes the FTDI usb as COM 3. I can open the arduino IDE, go to tools and click on 'Get Board Info'. I have attached an image of the display.
BN: Unknown board //I expected this because it is a homemade board
VID: 0403 //no clue what this signifies
PID: 6001 //no clue what this signifies
SN: Upload any sketch to obtain it //so I should be able to upload to it, right?
From the image, you should be able to see that I am just trying to overwrite the Blink sketch with the Fade sketch. However, the problem persists and I am unable to upload anything new to the chip. I even tried the trick by holding down the reset button until it begins the upload. The error message is the standard:
avrdude: stk500_recv(): programmer is not responding
This repeats for 10 attempts and says 'not in sync: resp=0xal'
Take-Away:
-The board and its connections are good
-The computer and arduino IDE recognizes the USB as COM 3
-When powered, the board performs the Blink operation
-Still cannot override/upload anything
Conclusion: I have attempted searching through other sources for a solution, following along with guides that tell me roughly the same thing as what the arduino site shows for this diy build. I'm stuck scratching my head. If anyone has insight to this, please let me know. Thank you.
This tells me the Atmega328P chip has been programmed with the Blink sketch so it is to my understanding that it does not need the bootloader burned to it
How did you upload the Blink sketch?
The bootloader is essential for uploading via serial port (see the datasheet).
VID - Vendor, PID - product IDs. These values are default for FT232RL.
This particular chip had been used in a breadboard experiment by another party. They did not seem interested in keeping the supplies, so I picked them up. Now, I am attempting to make my own permanent arduino by soldering everything on perfboard. The fact that the chip outputs what appears as the Blink sketch when power is applied leads me to assume the chip is functionally normally. I've measured the other pins voltage using a multimeter, and the other I/O pins appear to be functioning as they should be. The reset button, when held, stops the blinking behavior; another indicator leading me to assume the chip is functioning normally. Again, any advice on what to probe or look into would be greatly appreciated. I just really hope I didn't spend time assembling the equivalent of a resistor, led, and 9V battery since all it does is blink at the moment.
What speed does the D13 LED blink at?
With a 16 MHz crystal, the blink is like once a second or something.
With no crystal, it could be much slower. Likr 1/2 that, or 1/8 that, maybe even 1/16 of that.
I've measured the other pins voltage using a multimeter, and the other I/O pins appear to be functioning as they should be.
What exactly you have measured? What leads you to believe that they are working properly?
Again, any advice on what to probe...
You have to have the bootloader uploaded. Have you? See the link you have posted (https://www.arduino.cc/en/main/standalone). Maybe it is not written so clear there but the bootloader must be, otherwise Arduino will not be responding. Serial programming rely on the bootloader. You will need ISP programmer or another Arduino (Arduino as ISP) for bootloading.
I am not going to doubt if it works. Yes it blinks, port is visible etc. so probably it is wired correctly. Let focus to the next step. From your previous post is not clear if the chip is bootloaded. It does not matter who used it previously or what is the history of parts you have used.
CrossRoads:
What speed does the D13 LED blink at?
With a 16 MHz crystal, the blink is like once a second or something.
With no crystal, it could be much slower. Likr 1/2 that, or 1/8 that, maybe even 1/16 of that.
The Blink operation is 1 second for each mode (i.e. 1 second the led is on, 1 second the led is off). The crystal being used is a 16MHz crystal.
Budvar10:
What exactly you have measured? What leads you to believe that they are working properly?
You have to have the bootloader uploaded. Have you? See the link you have posted (https://www.arduino.cc/en/main/standalone). Maybe it is not written so clear there but the bootloader must be, otherwise Arduino will not be responding. Serial programming rely on the bootloader. You will need ISP programmer or another Arduino (Arduino as ISP) for bootloading.
I am not going to doubt if it works. Yes it blinks, port is visible etc. so probably it is wired correctly. Let focus to the next step. From your previous post is not clear if the chip is bootloaded. It does not matter who used it previously or what is the history of parts you have used.
I have measured the pin voltage on all I/O pins to see if there were other pins that were outputting that shouldn't be according to the Blink sketch. I understand that a bootloader must be uploaded prior to any sketch if serial communication is to function, however, neither burning the bootloader or uploading the sketch operations have been successful in my attempts. But in order for Blink to work, in order for the Arduino IDE to recognize the device on a serial port, doesn't a bootloader need to have been burned prior? That's why I assume the chip must have had the bootloader burned, but I do not know why I cannot upload. I have tried burning the bootloader via ISP using Sparkfun's AVR Pocket Programmer, but have been unsuccessful.
I have tried burning the bootloader via ISP using Sparkfun's AVR Pocket Programmer, but have been unsuccessful.
So, you could post the log and schematics. Without these, hard to say why it was unsuccessful.
But in order for Blink to work, in order for the Arduino IDE to recognize the device on a serial port, doesn't a bootloader need to have been burned prior?
Bootloader is just for uploading via serial line. If nothing is on serial line after device reset, then the MCU starts normal program or if there is no bootloader it should jump directly into program after reset. Standard and generally used Arduino bootloader blinks 3x fast after reset before the Blink starts. Could you say if you can observe this? However, to be sure for certain it would be better to obtain dump of memory and fuses for analysis. Therefore it is much easier to overwrite the bootloader and that is it.
munchlax925:
I have measured the pin voltage on all I/O pins to see if there were other pins that were outputting that shouldn't be according to the Blink sketch. I understand that a bootloader must be uploaded prior to any sketch if serial communication is to function, however, neither burning the bootloader or uploading the sketch operations have been successful in my attempts. But in order for Blink to work, in order for the Arduino IDE to recognize the device on a serial port, doesn't a bootloader need to have been burned prior? That's why I assume the chip must have had the bootloader burned, but I do not know why I cannot upload. I have tried burning the bootloader via ISP using Sparkfun's AVR Pocket Programmer, but have been unsuccessful.
did you bootload it with or without the external oscillator???