Well… it seems I will never advance beyond being a monkey poking holes with a stick… My MIDIpal build has caused much anguish, tearing of hair and gnashing of teeth and I’m hoping someone (Pichenettes?! anyone!?) can help me troubleshoot. I should add that I managed to successfully build a SammichFM with little problem so am not a complete SMD virgin however, SMD soldering most certainly is not easy.
Terrible things that happened during the build:
- Melted the contact off one end of C1 (100n SMT cap) - have ‘patched’ it and soldered in place but can’t tell what it is for (MIDI optocoupler?) or if it is working.
- Disaster #1: accidentally plugged in a 12V supply instead of the other 9V one sitting on my desk = blown zener diode - replaced zener’s with non-SMT parts and all is working again, BAD = lifted pads from desoldering GOOD = 3.3V from the regulator still
- Disaster #2: bought this cheap USBasp based programmer: ebay USBasp programmer and being an AVR noob, didn’t check the output voltage. Plugged it in to the ISP header using mini patch cables that come with the Shruthi kits (to convert from 10 pin ISP to 6 pin). Tried programming the MCU and it appeared to work except for the error shown in the attached avrdude-report text file. Subsequently found a 0 ohm SMT resister on the USBasp programmer labelled ‘5V/3V3 SEL’ so de-soldered it and now get 3.3V at VCC from the programmer.
- Programming appears to work but the MIDIpal does not
- The screen comes on but only shows blank or black squares when adjusting the contrast pot.
- Holding down the encoder switch then powering on makes the LEDs flash green, red, green, red very quickly with the red LED remaining on until either power off or SW2 is pressed.
- Programming with AVRdude appears to work except for an error initially programming the efuse, details in the attached avrdude-report text file. I used the pre-built firmware downloadable from the M-I site. Reading back the efuse shows value=05 and not value=FD but I believe this is expected (see: * Extended: 0x05 )
- I have continuity tested the board and my soldering to the extreme and all appears good.
- Occasionally, the programmer reports the chip has not been identified properly (avrdude: Device signature = 0x000102 / avrdude: Expected signature for ATMEGA328P is 1E 95 0F / Double check chip, or use -F to override this check) however, re-running the avrdude command or rebooting the MIDIpal usually results in it reporting properly again.
- When programming, the green LED stays on and the red LED flashes to indicate progress of the firmware being uploaded. When the eeprom firmware is uploaded, the red LED is a lot fainter.
- Why doesn’t it work? (crystal ball question!) - could it be the 12V that fried the zener or the 5V from the programmer? :-S
- Are there any diagnostics that I can do to check if either the screen is broken (an LCD hello world app) or to check if part of the MCU is dead?
Thanks for any and all help/criticism/ridicule.