Trying to Program My 328P Via Arduino IDE

Hello all,
I designed a PC board using the Arduino Nano as a guide back in the summer. My board works fine, however, I want to monitor the firmware operation via the Arduino's Serial Monitor--unfortunately, my board doesn't have a USB port on it.

I had some Chinese Nano boards lying around and decided to modify one of them to allow me to use the Chinese USB chip and the USB connector that are on it. Here's a synopsis of what I did:

My Board:

  1. The Tx and Rx pins on my board are on pins 31 and 30 (don't recall which is which at the moment) of the 328P. They aren't being used so I just attached flying leads to them.

  2. I attached a flying lead to the 328P's RESET signal;

  3. I attached flying leads to +5v and GND.

The Nano Board:

  1. I removed the 328P chip from the Nano board.

  2. I removed the linear regulator and jumped the two +5v pins--the PC layout doesn't jump it itself for some reason.

Interconnections between the two boards:

  1. I connected Tx and Rx by soldering the flying leads to the empty pads on the Nano's 328P pads.

  2. I connected the two RESET signals together.

  3. I connected the +5v and GND signals together.

I quickly realized that I didn't have a boot loader on my board. So I used my USBTiny to upload the "Old Bootloader" via the six-pin header that's on my board, and then reloaded my main program, also using the USBTiny. So far so good.

My problem is that when I use the Arduino IDE and try to establish serial communications between my PC and my board via the (Nano comm chip), I get the following two errors:

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xbd

I have a scope and a logic analyzer but haven't been able to locate the serial protocol. I did take a quick look at Tx and Rx and can see that the signals are transiting between +5v and GND.

You did a bad choice.

Using Arduino as ISP could be more easy.

To use Nano as serial bridge you don't need to remove anything from Arduino.
Just connect RX from your board to Arduino TX and TX to RX.
Also connect GND from your board to Arduino GND.

There are two things that need to work for download to work.

  • serial communication
  • autoreset

Things you could test for to test each one of those:

  1. if you put a sketch in your board (using ISP) that outputs serial data to you see that through your usb connection?

  2. do you see the reset on your board toggle when you start up a download operation?

--- bill

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.