To know that we would need to know if it is dead and what sort of dead it was!
To me it looks like you have some flux corrosion around the 10way connector joints and a “suspicious white bit” on the main chip.
Previously i have not seen a RFM2Pi or more specifically an ATmega328p chip looking like that and now I have seen 2 (See the Newly created inputs not appearing in emonCMS via MQTT thread).
Does the “white” look like damage or something on the surface? does it small burnt?
If the chips ok the tracks around the connector can be cleaned and inspected and any dry joints can be resoldered.
What response do you get from this command?
avrdude -v -c arduino -p ATMEGA328P -P /dev/ttyAMA0 -b 38400
this simply uses avrdude to try and communicate with the chip
this is a bad response (or rather no response)
pi@emonpi(ro):~$ avrdude -v -c arduino -p ATMEGA328P -P /dev/ttyAMA0 -b 38400
avrdude-original: Version 6.1, compiled on Jul 7 2015 at 10:29:47
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "/etc/avrdude.conf"
User configuration file is "/root/.avrduderc"
User configuration file does not exist or is not a regular fil e, skipping
Using Port : /dev/ttyAMA0
Using Programmer : arduino
Overriding Baud Rate : 38400
avrdude-original: Using autoreset DTR on GPIO Pin 7
avrdude-original: stk500_getsync() attempt 1 of 10: not in sync: resp=0x4c
avrdude-original: stk500_getsync() attempt 2 of 10: not in sync: resp=0x43
avrdude-original: stk500_getsync() attempt 3 of 10: not in sync: resp=0x44
avrdude-original: stk500_getsync() attempt 4 of 10: not in sync: resp=0x20
avrdude-original: stk500_getsync() attempt 5 of 10: not in sync: resp=0x66
avrdude-original: stk500_getsync() attempt 6 of 10: not in sync: resp=0x6f
avrdude-original: stk500_getsync() attempt 7 of 10: not in sync: resp=0x75
avrdude-original: stk500_getsync() attempt 8 of 10: not in sync: resp=0x6e
avrdude-original: stk500_getsync() attempt 9 of 10: not in sync: resp=0x64
avrdude-original: stk500_getsync() attempt 10 of 10: not in sync: resp=0x20
avrdude-original done. Thank you.
strace: |autoreset: Broken pipe
Whilst this is a good response from an emonPi (different upload_baud but the response should be similar)
pi@emonpi(ro):~$ avrdude -v -c arduino -p ATMEGA328P -P /dev/ttyAMA0 -b 115200
avrdude-original: Version 6.1, compiled on Jul 7 2015 at 10:29:47
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "/etc/avrdude.conf"
User configuration file is "/root/.avrduderc"
User configuration file does not exist or is not a regular fil e, skipping
Using Port : /dev/ttyAMA0
Using Programmer : arduino
Overriding Baud Rate : 115200
avrdude-original: Using autoreset DTR on GPIO Pin 7
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-original: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude-original: Device signature = 0x1e950f
avrdude-original: safemode: lfuse reads as 0
avrdude-original: safemode: hfuse reads as 0
avrdude-original: safemode: efuse reads as 0
avrdude-original: safemode: lfuse reads as 0
avrdude-original: safemode: hfuse reads as 0
avrdude-original: safemode: efuse reads as 0
avrdude-original: safemode: Fuses OK (E:00, H:00, L:00)
strace: |autoreset: Broken pipe
strace: |autoreset: Broken pipe
strace: |autoreset: Broken pipe
strace: |autoreset: Broken pipe
strace: |autoreset: Broken pipe
avrdude-original done. Thank you.
strace: |autoreset: Broken pipe
if you get no response try it a few times before giving up, also keep an eye on the LED for any signs of life. You could also try power cycling the Pi and rfm2pi whilst watching the LED to check for any sign of life.