Bringup on the SafeSense Environmental Monitor kicked off this weekend with the installation of the power supply and AVR sections of the board. While the power supplies came up, programming the Arduino bootloader on the ATMEGA328P-AU (surface mount) could not have gone worse.
Arduino Uno as AVR Programmer, SafeSense ATMEGA328P-AU as target, powered by Arduino Uno ISP.
Immediately I was met with the following response: “Expected signature for ATMEGA328P is 1E 95 0F”
Apparently I should check the chip of use the -F option to override. I don’t believe I have access to the AVRDUDE backbone thus the -F option is not available to me.
I’m not completely convinced that the AVR chip is communicating back to the programmer. I need a method of verification and I don’t have a high speed oscilloscope in my lab.
In the capture pictured above, we see the following (top down):
PB0: “Error – Lights up if something goes wrong”
PB1: “Heartbeat – shows the programmer is running”
PB2: Slave Reset
PB5: SCK (Not pictured, used to clock analyzer)
1. The good news is PB4 (MISO) is in motion, thus the SafeSense AVR is talking back.
2. PB0 is flat, thus no error.
3. Slave resets twice
That’s pretty much where I have left off. I’ll do more research on the subject, in the interim I have purchased an AVR ISP from Atmel. Also, to move the project forward, I have purchased ATMEGA328P-AU’s from The Custom Geek with the bootloader pre-loaded. This is to help meet development milestones in a timely fashion while continuing to look into the bootloader issue in parallel.
It’s amazing how something so simple can consume so much of a weekend. Sometimes spending a little more for professional tools will payoff in the time they save.