Very Bricked ATtiny2313

Go To Last Post
10 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi, I have been playing around with ATtiny microcontrollers for a little while now and still consider myself very much a beginner.  I received an ATtiny2313 a while back which was never able to upload a program.  I think my first time experience got the better of me and I somehow bricked it in a bad way.

 

Recently I decided to revisit this chip and see if I could resurrect it using high voltage parallel programming using my Arduino.  I can read the fuses but can not write them.  I think the chip is dead.  Can someone please confirm this for me.  The fuse values are,

LOW FUSE: 0X0C

HIGH FUSE: 0X0E

EXT FUSE: 0X0F

LOCK BITS: 0X0E

 

Yes they are a funny bunch of numbers and have no idea how this happened.  I have learnt a lot since my first program but still feel I just a beginner. 

 

I hope someone can shed some light on my mess.

Thanks in advanced, 

M.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0


The chips is REALLY MESSED UP if the fuses are read correctly which I doubt very much. A REAL STK 500 may be able to bring it back to life.

 

 

John Samperi

Ampertronics Pty. Ltd.

https://www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

From the dark places of my mind.....

As Js shows the lockbits are set such that further programming is not allowed....

It might be that the first thing you need to do is to do a full chip erase before doing anything else.

IIRC you need to do a full chip erase first in order to lift the lock bits blockage.

Then the next step would be to get usefull fuse values into the device.

after that you might be able to connect again using a non High voltage connection.

you did remove the device from the board first right? as high voltgae programming might fry other parts on your board.......

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I think the fuse values are not read correctly anyway.

John Samperi

Ampertronics Pty. Ltd.

https://www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The time it took to write your email cost more than the cost of a new AVR!!

 

When in the dark remember-the future looks brighter than ever.   I look forward to being able to predict the future!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

But what a learning experience. wink

John Samperi

Ampertronics Pty. Ltd.

https://www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

avrcandies wrote:

The time it took to write your email cost more than the cost of a new AVR!!

 

Yes, they could even get a more modern AVR too, at the same time :)

It's a good idea to never use a single chip or board, and to treat them as somewhat disposable.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thankyou everyone for their responses.

Unfortunately, I don't think I will buy a STK500 for one cheap chip.  Just not cost effective.  JS thanks for the simulator jpegs.  I did find some fuse bit calculators on the web, but found the high fuse bit order to be incorrect when compared to the datasheet I downloaded.  So its great to see a response that confirms the datasheet I have, as I found various versions on the web.
To read the fuse bits using high voltage programming mode I modified my own code using the ATtiny2313 datasheet and an arduino uno.  To develope this code I used an ATmega328p code I found on the web as a base point and verified it with the ATmega328p datasheet.

 

When reading the fuse bits I did the following, as per datasheet:
1.    Enter programming mode
2.    Load command to read the fuses and lock bits
3.    Read Low fuse
4.    Read High fuse
5.    Read Extended fuse
6.    Read Lock bits
7.    Exit programming mode

 

Going forward I think I might rejig this code to:
1.    Enter programming mode
2.    Load command to read the fuses and lock bits
3.    Read one fuse or lock bit
4.    Exit programming mode
5.    Repeat 1-4 for each fuse and lock bits.

 

I will also write the code to read the device signature as a check and see what happens.

Yes, meslomp the chip is not connected to any other board.  Thankyou for confirming.  My goal is to try a full chip erase and try to flash the fuses to, HIGH: 0xDF, LOW: 0x64, EXT: 0xFF, which I believe are the default values.  I'm a bit worried that the WR negative pulse and waiting for RDY to go HIGH is not implemented correctly, as WR is acturally inverted or active LOW.  I can share some code if you like.

 

I have been enjoying learning and trying to revive this chip, but I think there will have to be a point when I might just have to give up and accept the chip is just STUFFED.  Thank you everyone for your input.  I will let you know what happens.

Thanks in advanced, 

M.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

AVRCANDIES LOL, you are probably right.  Using it as a learning experience.

Thanks in advanced, 

M.

Last Edited: Thu. Oct 14, 2021 - 12:19 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0



When reading the fuse bits I did the following, as per datasheet:

I just push the Read button in Studio.....wink

 

John Samperi

Ampertronics Pty. Ltd.

https://www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly