AVR Bringup

A project log for Wireless Environmental Monitor [Help Welcome]

Wireless sensor network for the monitoring of Natural Gas, Carbon Monoxide, Temperature, Humidity, Vibration, and even Seismic Activity

majolsurfmajolsurf 03/10/2014 at 08:230 Comments

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.

To begin, I cannot get Windows 7 to recognize the AVR Pocket Programmer despite the driver updates. After a few hours of troubleshooting I decided to use an Arduino as an AVR ISP.

Bringup ARD

The setup:

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.

2nd Cap Error Message

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.

Luckily the Amani F2 FPGA Shield serves as an embedded logic analyzer for the Arduino using Altera’s SignalTap. Tutorial found here.


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.

Bringup ARD AMANI AVRprog cc