Homemade Arduino only uploads sketch after burning bootloader

Here is my problem: Using a homemade Arduino based on a MintDuino: http://makezine.com/projects/build-a-mintronics-mintduino/

The schematic and picture of the board are provided. I also built an Arduino based on this Instructable: http://www.instructables.com/id/YABBAS-Yet-Another-Bare-Bones-Arduino-on-Stripb/?ALLSTEPS

If I can get help with the first board that would be great.

Problem description: 1) Upload Arduino ISP sketch to UNO (as per Arduino site example: http://arduino.cc/en/Tutorial/ArduinoISP - using first diagram on page), 2) Connect Uno to target board. Target board is a Duemilanove with a 168 (smaller homemade board is targeted as an Arduino Pro or Mini, 168, 5 V, 16 MHz), 3) Burn bootloader to target board, 4) Upload Blink sketch with blink rate different than what bootloader has, 5) Upload Blink sketch with a newer blink rate - fails most of time. When it does succeed, the IDE says it failed but the blink rate changes.

Here is the error message when it fails completely: "avrdude: verification error, first mismatch at byte 0x0105 0xe6 != 0xef avrdude: verification error; content mismatch"

By the way, I did put in a chip in that larger board.

Later in the day: same setup as above but using an Arduino Duemilanove with an Atmega168 as the ISP. Error message in IDE after 2nd upload of Blink sketch: “avrdude: verification error, first mismatch at byte 0x0104 0x60 != 0x64 avrdude: verification error; content mismatch”

The schematic and picture of the board are provided

Where? I'd like to see your board.

You are probably better off getting an FTDI cable rather than using your Uno as ISP.

I have various posts about making bare-bones boards.

Or if you can't afford a known good FTDI the CH340 based ones work quite well too.

Have a look at the fuses - if the Bootloader is not locked it will be deleted when you upload your first sketch.

Proto-Pic has the answer. You must set the fuses after you burn the boot loader to a virgin 328. If you are re-flashing it, no need to change the fuses IF nothing else changes.

Factory settings for fuses will not work in the Arduino.

Ray

Let us try again. Pics of boards and the schematic for the MintDuino. Sorry, just the schematic. As before, I am having problems uploading some files even though they are well below the 1 MB limit, even when more than one file is to be uploaded.

Here is my post on Facebook where you can see both the schematic and the photo of both boards:

For the smaller board, based on the YABBAS Instructable, I added a Reset button to the board to allow for programming using another Arduino (that has a UART attached). Other things that might seem odd: there is a mystery part under that piece of black electrical tape - a crystal that I wanted to make sure did not touch the capacitors near it.

Thank you very much to the other people who responded to my post. While it did not immediately solve my problem, it did provide some very interesting information. I took the time to look up checking fuses on the Arduino and came across this site:

I took the 168 from the YABBAS board and put it in the socket of an older Duemilanove, 168 version, and used the avrdude command in the Heliosoph tutorial. It provides a lot of info which I did not know about or how to use but interesting all the same. I then checked the IC from the MintDuino homemade board and it provided the same info. I also checked the IC from the Duemilanove that was originally connected and the info was the same.

The conclusion I draw from this is that the UART chip makes all the difference when programming the Arduino. BTW, I took the time to have a look at the boards.txt file in the Arduino folder to see what its settings were. Interesting as well although I cannot use the info yet.

This page is used to connect the programmer Arduino to the target Arduino using the section called “Uploading Using an Arduino Board.” Even though the diagram is from an Arduino to a breadboard, it still works with my YABBAS board with a couple of modifications.
Modification 1) The jumper wire going from programmer Arduino does not go to the target Arduino.
Modification 2) There is a jumper from programmer Arduino Reset to GND.
I was told this method disables the programmer Arduino’s mcu IC and allows the signals normally target for the programmer Arduino’s mcu (as opposed to UART IC) to be routed to the target mcu IC.

In the end, I still ordered an FTDI Basic to do the job of programming as it is much easier. The alternate method does the job in a pinch. I will have to see if I can use the Serial Terminal for the target board using this method.

Sorry, just the schematic. As before, I am having problems uploading some files even though they are well below the 1 MB limit, even when more than one file is to be uploaded.

Even though the diagram is from an Arduino to a breadboard


fut 15 coins