Issues uploading with TL866A Programmer

Background info here --> Trying to add a bit of functionality to someone else's code - Programming Questions - Arduino Forum

I, er, can't seem to upload my sketch. I'm trying to use my TL866A programmer to do it -- I have an Arduino Uno and breadboard and jumpers somewhere but trying to find it all would take... more time than I care to spend, anyhow.

I've followed the instructions at Minipro TL866CS Universal Programmer working with Arduino IDE - Installation & Troubleshooting - Arduino Forum -- he has the -CS version of the programmer; the only difference AFAICT appears to be that the -CS lacks the -A's port on one side for an ICSP cable. I have Linux, specifically Mint 18.2, and am using that set of instructions. I've installed all dependencies.

Alas, the programmer for some reason is not showing at all in the Arduino IDE, after I did updates. Before that it was showing, but would complain of a missing "program.param.quiet" somethingorother.

As said in your other thread, why don't you upload using USB directly to the board?

There is no spoon board. I have a bare chip, and a bit of perfboard that I've wired up with the buttons and diodes and other stuff for the maze interface, with a socket for the chip. (It looks an absolute mess, but I'm reasonably certain of my wiring, spaghetti though it is.) I've managed to program the bootloader to the ATTiny85 using the MiniPro software that came with the TL866A (boy, figuring out the fuses was a real adventure)... but I can't get it to program the actual code... mostly because I don't know where the bootloader is going to jump to in memory, to load said code. If I did, I could use the *.hex file I bumbled out of the Arduino IDE and I'd be all set.

I know Arduinos can program other Arduinos, but as I said -- it'd take me probably hours to locate all that stuff.

Sorry, the reference to Uno put me on the wrong foot.

Sorry for the misunderstanding.

Bedtime here, back around 10am Eastern US time.

Mornin' everybody. Would appreciate some help...

ARGH.

Found my UNO board, jumpers, and breadboard. Can't get ArduinoISP working, probably because the UNO board IDs to the PC as an "Arduino Mega ADK". (My fault for buying on eBay.) Is there a fix for this...?

starhawk:
ARGH.

Found my UNO board, jumpers, and breadboard. Can't get ArduinoISP working, probably because the UNO board IDs to the PC as an "Arduino Mega ADK". (My fault for buying on eBay.) Is there a fix for this...?

That's not a problem - if it detects as serial device and you can upload code to it, it's fine.

What do you have selected in Tools -> Programmer? You need to select Arduino as ISP, not ArduinoISP. The ArduinoISP is a different piece of hardware that was discontinued a while ago, and which was named very poorly.

What error do you get? Whenever you have any technical problem where you get an error message, you should always post the full text of any and all error messages.

Sorry, it's "Arduino as ISP" that is indeed selected.

Error --

Arduino: 1.8.5 (Linux), Board: "ATtiny25/45/85, Disabled, CPU, ATtiny85, 1 MHz (internal), EEPROM retained, B.O.D. Disabled"

/home/starhawk/Arduino/Secret_Maze_Expanded/Secret_Maze_Expanded.ino: In function 'void mazechoice()':
/home/starhawk/Arduino/Secret_Maze_Expanded/Secret_Maze_Expanded.ino:42:14: warning: invalid conversion from 'unsigned int*' to 'unsigned int' [-fpermissive]
Maze[16] = Maze1;
^
/home/starhawk/Arduino/Secret_Maze_Expanded/Secret_Maze_Expanded.ino:50:14: warning: invalid conversion from 'unsigned int*' to 'unsigned int' [-fpermissive]
Maze[16] = Maze2;
^
/home/starhawk/Arduino/Secret_Maze_Expanded/Secret_Maze_Expanded.ino:58:14: warning: invalid conversion from 'unsigned int*' to 'unsigned int' [-fpermissive]
Maze[16] = Maze3;
^
/home/starhawk/Arduino/Secret_Maze_Expanded/Secret_Maze_Expanded.ino:66:14: warning: invalid conversion from 'unsigned int*' to 'unsigned int' [-fpermissive]
Maze[16] = Maze4;
^
Sketch uses 1794 bytes (21%) of program storage space. Maximum is 8192 bytes.
Global variables use 59 bytes (11%) of dynamic memory, leaving 453 bytes for local variables. Maximum is 512 bytes.

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x01
avrdude: stk500_initialize(): (a) protocol error, expect=0x14, resp=0x10
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

avrdude: stk500_disable(): unknown response=0x12
the selected serial port avrdude: stk500_disable(): unknown response=0x12
does not exist or your board is not connected

/sigh

I did what was asked of me... where did everyone go...?

I know I'm basically talking to myself here... but...

A pity these chips can't do TTL serial. (Or can they?) I have CP2102 boards, that'd solve this real quick like.

/sigh

Do you have a hoot loader on the 328? If so, you can use TTL serial.

I'm using an ATTiny85. This is what the project originally called for, and I assume that, since you don't already know that I'm using that chip, you didn't bother to click the link in my first post of my first thread on issues with this project, to read up on what exactly I was doing.

I really don't understand why reading seems to be such a challenge these days. This is not the first time this has happened, by a long shot -- obviously, you can't help me very well if you don't know what I'm doing! But that seems to be the rule, that any additional reading is deemed unnecessary to the task and ignored. I often have trouble getting people to even read the thread in which I'm requesting help, so that they know what I want, what's been tried, and what's still needing to be addressed. It's unbelievably frustrating.

Here, for the sake of simplicity, is the link (again) to the original project. It's a blog post, not a novel, so it shouldn't be that arduous a task to go read it -- please do so at your earliest convenience.

http://www.technoblogy.com/show?20IY

Really..! You ask for free help and then Jump on the one person, who knows enough to help you.
Good luck on getting spoon fed.

Forgive me for asking, but how does "asking someone to do reading they will need to do to understand my issue" translate, exactly, to "jumping on" that person? I will admit I expressed some frustration, but when you have this sort of thing happen regularly and repeatedly, it's going to do that.

EDIT: I'm also not asking to be "spoonfed" anything. I just want my project to work. Is that somehow unreasonable?

Most of the time you should show and tell what you have done.

I have been reading your posts and at the present time I don't know what board you are using for a 'Arduino as ISP".
I am pretty sure you don't have it set up right though.

Without any leads hooked to the chip being programmed your Arduino as ISP, should at least get something like this.

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x000000 (retrying)

Get to this point and then you can worry about hooking up your ATTiny85.

I am using an eBay-issue Arduino Uno as my Arduino-as-ISP board. I also have an Arduino Mega 2560 that I could use, if that would be better.

This particular Uno has an Atmel chip (I forget the part number, but it's the chip that's on the official boards) handling serial, rather than the CH341 that so often is on such boards when they arrive from eBay. I have attached jumper wires to the ATTiny, on a breadboard, as per the diagram here, where it says, "Using Arduino as ICSP Programmer...". I am powering the ATTiny from the Uno, and the Uno is powered from the USB cable.

I have previously uploaded the ArduinoISP sketch to the Uno, and, at least according to the IDE, that upload was successful.

I also have the components specified on the ATTinyCore github page installed, which is as follows --
A 100nF / 0.1uF capacitor across power and ground
A 100nF / 0.1uF capacitor between the Uno's pin D10 and the ATTiny's reset pin
A diode between the ATTiny's reset pin and VCC, with the black stripe towards VCC.
A 10k resistor in parallel with the diode.

I can provide photos, but I am a very bad photographer, so that may not be as useful as it would seem otherwise.

Throw or place a 10uF Capacitor across Reset and GND , stripe towards ground on the Uno.

This is a pet peeve of mine. I can go for months with a board used as Arduino as ISP without using the capacitor between reset and ground. I tried to load your sketch today and couldn't get it to go using my Uno. The Usbasp worked every time.
Finally , I tried the capacitor, which I haven't ever had to use on this wired up setup and it worked.

On the Linux netbook (which I've been using), it threw enough Java errors (?!) to exceed the forum character limit I've attached the log as a text file. Before you ask -- Mint 18dotsomething and I've never ever done anything with my Java config.

Since it's all handwavium and hoodoo to me anyways -- I'm more used to solving problems in glue logic -- I tried it on my Win10 box. It threw a "Yikes! Invalid device signature." instead. I'm inclined to go get my Arduino Mega...

log_1.txt (45.4 KB)

Boy do I feel stupid.

In the Arduino IDE --> Sketch>Export File As Binary

In the MiniPro programmer software -- open the *.ino.hex file, set fuses appropriately (!), and flash to chip.

You don't need a bootloader.
You don't need any sort of reset carp.
You don't need anything other than the chip, your circuit, a 100nF decoupling cap, and a power source.
You don't need to do anything other than burn a hex file to a chip.

William of Ockham had it right -- what is now commonly known as "Occam's Razor" -- "the simplest solution is often the best".

Chip programmed, wiring has faults (none of the LEDs light, but the piezo sounds off) but I can trace and fix that.