I said with an AM radio... like those old 6-transistor radios that you can find at a garage sale for $1 or less... If only we could use those pretty pink stethoscopes.
You want a radio with the ferrite loopstick at the very top of the case where the rod occupies almost the full width of the radio. You also want one that is palm-sized... not one of the boomboxes from the mid-70's to late-80's.
- Antenna rod across the top
- Antenna rod approximately as large as the width of the radio
- Radio small and handheld to get close to the microcontroller
Start with a working system the same as a medical student would start; it will be very difficult to know what abnormal sounds like if you do not know what normal sounds like. Every sketch you write will vary the dynamics of the sound just a bit. SPI and I2C usage, with experience, may also be noted. You must have your PC in sleep if your are using the USB port to power the project! USB produces too much interference for you to be able to easily discern the uC digital signals from the USB noise. Many modern notebooks will power the USB port even when the OS is in sleep mode.
With the Blink Sketch running on your Arduino (I used an Uno for this write-up) place the AM radio near the Atmega328P-PU chip so that the length of the chip is aligned with the length of the ferrite antenna directly inside the plastic case. Turn on the AM radio and rotate the volume control until you can hear a station or the static at a normal level.
Now, turn the tuning control starting at the low-end of the AM band around 531KHz (ITU: middlewave classification) moving upward toward the high-end of 1611KHz. Find a frequency where there are no interference from commercial broadcasts and common interference such as fluorescent lightning. If you are in doubt, press and hold the Arduino RESET and the radio sound should go quiet. Releasing the RESET should cause the clock and microcontroller to come "alive" and generate a very recognizable digital noise. Fine tune to maximize the signal. Always cover the entire band since there will be more than one frequency where the digital signals can be monitored; some better than others.
Try different sketches and monitor the sounds. PWM LED dimmers produce very interesting effects.
Once you learn the normal operating sounds of your Arduino, you can use the AM radio hack to determine when the Arduino is ill. If pressing and releasing the RESET button does not cause the Arduino to reset, you will know that something other than a software problem is amiss.
Alright doctors, put fresh 9 Volt or AA batteries into that old radio and start listening to your Arduino. With experience, you may think you understand what she is saying.
Have fun hacking the health of your Arduino!