Can't Re-Program Microview (DEV-12923)

I am inexplicably unable to program a Microview I bought a couple of weeks ago. The Microview was working fine and accepting code up until a couple of days ago. Now it refuses to accept new sketches.

I have the official SparkFun Microview programmer (DEV-12924) purchased with the microview. When I try to load a sketch the programmer resets the micro and appears to upload the new sketch but when the micro resets the same old sketch is still on it. I have even tried uploading the barebones sketch.

I have now gone so far as to try to re-flash the boot loader and totally wipe the micro using a Pi4 and avrdude. Unfortunately after open-micro surgery getting the SPI pins connected, avrdude reports that it also cannot talk to the AVR chip. It cannot flash the microview.

The microview still appears to run properly and load the last successful sketch upload.

This is my first experience with an Arduino, are there any fuses in there that I could have fried some how that are keeping me from updating the code on it now?

If I purchase the spark fun avr programmer (PGM-09825) is there any hope I can erase this microview with that?

Am I out of luck with this thing?

Any help and/or suggestions greatly appreciated.

Here is what Arduino IDE 2.1.0 reports when “uploading” a sketch (though nothing changes on the Microview when reset):

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/home/mnewman/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf"
         User configuration file is "/home/mnewman/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/ttyUSB0
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         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    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : Arduino
         Description     : Arduino
         Hardware Version: 3
         Firmware Version: 4.4
         Vtarget         : 0.3 V
         Varef           : 0.3 V
         Oscillator      : 28.800 kHz
         SCK period      : 3.3 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: reading input file "/tmp/arduino/sketches/7E0121A71E62E9A39FAE532F318D5B2B/BareMinimum.ino.hex"
avrdude: writing flash (444 bytes):

Writing | ################################################## | 100% 0.13s

avrdude: 444 bytes of flash written

avrdude done.  Thank you.

Try the steps here https://learn.sparkfun.com/tutorials/mi … -tutorials (I presume you tried this already , though https://learn.sparkfun.com/tutorials/in … -microview ?)

I doubt having the programmer would change the situation…but re-trying might

Thanks for the reply, yes I have tried these steps. I am going to purchase the programmer and give it a try as a last ditch.

Is there any known failure mode for a micro that will allow it to still load up but not update code?

I had attached a couple of sensors to it via the analog pins (an accelerator and IR reflectivity sensor) all powered by 2x AA batteries (so never over the 5V of the programmer as far as I can tell).

Okay, after many weeks of waiting I finally received my AVR Pocket Programmer. After about 10 or so attempts it managed to break into whatever cycle my sketch was locking up and force a full boot loader flash of the Microview.

I did have to solder the wires to the internal 11, 12, 13 pads to attach the AVR Programmer… my gosh this was a huge pain. I picked up a second microview that will be left alone and I will use this Frankenstein for all future development and testing.

This thing is NOT noob friendly for sure.

But it is working and receiving code again! Wooohhhooooo!!