Hi there,
I hope someone here can help me shed some light on what happened to my dead(?) ATTiny2313 chips.
I played around with IoT on Arduino Nano and ESP8266/ESP32 for some time now. Mainly on Arduino IDE.
Now I tried to use ATTiny2313 with PlatformIO/linux (Core 3.5.0rc5) .
My first impression beyond blinking a led: all Arduino “standard” libraries are way too big for the ATTiny2313.
So I tried to strip down Wire and Serial, and soon found TinyWireM (BroHogan) and BBUart (nerdralph). Great libs.
Next I stripped down Sparkfuns/Kris Winers MPU9250 lib to the minimum (no AHRS, no floats).
Basically got it to work. Could read raw acceleration and temperature values.
But then the chip stopped responding. No serial comms, no blinking led, no reaction to USBasp.
Uploaded the code to a second chip. Worked for some time, then again, after upload: chip seems dead.
I removed all unnecessary connections (only 10uF vcc3.3V-gnd, 10k Reset-vcc and the 6 USBasp wires). No change.
I can no longer communicate with the ATTinys via avrdude.
I wrote the “bootloader” fuses with Arduino IDE to 8MHz internal in the beginning. No (intentional) changes to them later (don’t know how to configure this for pio).
Complete project code is here: http://banzhaf.chickenkiller.com/hg/TinyMpu8250/file/tip
Messages from avrdude:
/home/joachim/.platformio/packages/tool-avrdude/avrdude -v -p attiny2313 -C /home/joachim/.platformio/packages/tool-avrdude/avrdude.conf -c usbasp -Pusb -U flash:w:.pioenvs/attiny2313/firmware.hex:i
avrdude: Version 6.3, compiled on Sep 12 2016 at 15:21:49
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "/home/joachim/.platformio/packages/tool-avrdude/avrdude.conf" User configuration file is "/home/joachim/.avrduderc" User configuration file does not exist or is not a regular file, skipping
Using Port : usb Using Programmer : usbasp AVR Part : ATtiny2313 Chip Erase delay : 9000 us PAGEL : PD4 BS2 : PD6 RESET disposition : possible i/o RETRY pulse : SCK serial program mode : yes parallel program mode : yes Timeout : 200 StabDelay : 100 CmdexeDelay : 25 SyncLoops : 32 ByteDelay : 0 PollIndex : 3 PollValue : 0x53 Memory Detail :
Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- eeprom 65 6 4 0 no 128 4 0 4000 4500 0xff 0xff flash 65 6 32 0 yes 2048 32 64 4500 4500 0xff 0xff signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00 lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 calibration 0 0 0 0 no 2 0 0 0 0 0x00 0x00
Programmer Type : usbasp Description : USBasp, http://www.fischl.de/usbasp/
avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: error: program enable: target doesn’t answer. 1
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.