Dumping firmware/software...and/or reflashing??

Try cleaning the top of the chip using a paper towel dipped in rubbing alcohol.

bag06a: ...the only hints he gave were that he completely rewrote the software...

I figured as much. I've started writing my own software for this as well. Right now it's a series of blinking LED's in the simulator ;)

Also, I was able to confirm that VCC was 5v. (finally found my multimeter :D)

I figure that since I have the pinouts and a pretty good idea how the platform is supposed to operate (pull trigger => fire gun), I have a good chance in writing something that works. If you'd like to collaborate on this adventure please send me a private message and I'll give you my email address.

I think we've exhausted the Arduino nature of this topic, so this forum is probably not the best place to proceed.

mikedehaan: I think we've exhausted the Arduino nature of this topic, so this forum is probably not the best place to proceed.

That is only possibly true if the processor is an ATtiny20. SPI programmable ATtiny processors (e.g. ATtiny84) are very popular in the Arduino world. They can be programmed easily using any Arduino compatible board. There is even a forum section dedicated to the pursuit... Microcontrollers.

Yea, I'd like to Collaborate on this adventure. It'd be great learning experience. I'll send you a pm when I get home so I don't have to do it on my phone.

Also, coding badly, data sheet for attiny20 says its ISP. Does that dramatically change things?


bag06a: Also, coding badly, data sheet for attiny20

You've determined that it is an ATtiny20?

says its ISP. Does that dramatically change things?

ISP = In System Programming. It's a generic term meaning the processor can be programmed after being installed on a board. Atmel processors have several flavours of ISP: Serial (the most Arduino friendly), Parallel, debugWIRE, etcetera.

One of those ISP flavours is "TPI". As far as I can tell, the ATtiny20 only allows TPI programming. The other flavours are not supported. TPI programming has been rarely if ever discussed here.

The processor is essentially a stripped down ATmega328. The folks here have lots of experience with the 328 so I suspect you can get help here regarding low-level hardware questions. But probably not much help regarding uploading the new software via TPI.

Have not concluded that it is the tiny20. Just checking out the data sheet based on speculation and this discussion so far.

Do you have a way to connect probes / wires to the processor?

Connect how? to have a good seat for programming it or just for probing like with a multimeter??

BTW I tried rubbing alcohol and it didn't work. The T20 is pretty much etched in I believe. I did also make a mistake in trying nail polish remover/acetone....big noob mistake ha.it got rid of the shiny part of the casing and now you cant even read the atmel or the 20sso. Chip/board still works, just now the only thing (from me) we have for studying is the pics haha. Lessons learned :)

bag06a: Connect how? to have a good seat for programming it or just for probing like with a multimeter??

Programming. But, if you're convinced it's a t20 processor, there is no point in running the experiment I had in mind.

I tried to take a picture of my board as well. I'm actually now thinking that it's a ATTINY44 versus the ATTINY20.

Update: I've added another picture so you can see where I think the numbers are.



In that top picture it does look like a "44".


• It is an SPI programmable processor (like an ATtiny44) • You can get some connections to it • RESET has not been disabled • SPI programming has not been disabled

...you can determine exactly which processor it is by reading the signature bytes. With the exception of the physical connections, making the attempt is very unlikely to damage anything. Just include series resistors; 220 ohms works well.

Good find. I do agree with you on the ATtiny44 branding. You must have had some good lights and a good magnifier or good camera (maybe with macro lens). Your text below T20Ver2 is clearer as well. Instead of 20SSO it looks more like 20SSU. From what I've seen on the Atmel site that number doesn't refer to a specific Package or anything like that, it refers to the ordering code. In the case of the ATTiny44 that ordering code links to one with the package of "SOIC (150mil) 14S1 14". Power supply for this chip is 2.7-5.5V and is 20MHz.

You probably have already seen the information, but at least I feel like i'm contributing lol.

For programming an ATTiny44 checkout this webpage as well http://hlt.media.mit.edu/?p=1695

Ok, I’m willing to give that a shot.

What do I need to connect? Do I connect the programmer’s Vcc (5v), MOSI, Reset, SCK, MISO, and Gnd to the respective pins on the ATTINY44? You mentioned 220 ohm resistors, where whould I put them? I see plenty of examples online how to program a chip in isolation, but I can’t find anything about programming a chip that’s soldered into a production board. I assumed that’s what was meant by In-System Programming, but I can’t find any good examples.

How is the target (the ATtiny84) normally powered? At what voltage?

What else is in the circuit? Is the total current less than about 350 milliamps?

The target circuit board is powered via a 9v battery, though Vcc for the ATtiny44 is +5v. The only other noteable part of the board would be the 3055L MOFET which I'm guessing is used to drive the Solenoid.

I would guess that the main draw is the solenoid, so as long as the trigger (which activates the Solenoid) is never fired, I'm pretty sure the draw is under 350mA.

Argh! Stupid brain! Pay attention!

Sorry about that. You had stated earlier that the processor runs at 5V. Apparently, my brain had gone on walkabout.

What will you be using as a programmer? An Arduino Uno?

:) No worries. I'm only pretending to know what I'm talking about. :astonished:

At the moment, I have a LcSoft USBasp programmer.

Have you used it to program an AVR processor? Are you familiar with AVRDUDE?

Do you have a link to a schematic for the programmer? It may already include series resistors. They are nothing more than a resistor connected between the programmer and the target in series. There would be three or four resistors and they are very likely the same values. 1K ohms seems to be a popular choice.

Speak of the devil..while I was typing my response, the doorbell rang to deliver my Atmel AVRISP mkII. I don't have the schematic for this one, but I think the schematic of the USBasp is here:


No for the series resistor question. I'll assume you're familiar with AVRDUDE and have used the USBASP programmer.

The first phase is to get the target to respond; no programming. I suggest powering the target using it's normal power source (the 9V battery) (but don't power the target until the end). I suggest having the programmer schematic accessiable and the ATtiny84 (44 is in the family) datasheet open to the 1. Pin Configurations section while connecting the programmer to the target. In other words, carefully review my instructions. With all the power off, connect...

• GND to GND. From the programmer schematic either pin 8 or pin 10 will work. This is connected to pin 14 (upper-right corner) on the target.

• VCC is not connected. Pin 2 on the programmer should not be connected.

• MOSI is connected to MOSI with a series resistor (220 ohms or higher). Pin 1 on the programmer is connected to a resistor which is then connected to pin 7 on the target (lower-left corner).

• MISO is connected to MISO with a series resistor (220 ohms or higher). Pin 9 on the programmer is connected to a resistor which is then connected to pin 8 on the target (lower-right corner).

• SCK is connected to SCK with a series resistor (220 ohms or higher). Pin 7 on the programmer is connected to a resistor which is then connected to pin 9 on the target (lower-right corner just above MISO).

• SS to RESET with a series resistor (220 ohms or higher). Pin 5 on the programmer is connected to a resistor which is then connected to pin 4 on the target (left side in the middle).

At this point I suggest connecting the programmer to the computer and building up an AVRDUDE command. AVRDUDE will be able to communicate with the programmer but the programmer will not yet be able to communicate with the target (no power). Include extra verbose mode (-v -v -v -v) when running AVRDUDE.

When you are content you have the command you want to run (feel free to ask on the forum for an opinion; I'm sure someone will have one) power the target and then run the command.

If all goes well AVRDUDE will read the signature bytes (it always does this) and then output the signature byte (that's the purpose of extra verbose). If that works, you are in business!