1
\$\begingroup\$

I'm trying to use a Nano V3 clone as an ISP to program atmega328p's because I have not dedicated programmer yet. As part of troubleshooting I'm just trying to program another breakout board with ISP headers with something simple as the example Blink sketch. Everything seems to go fine as far:

  1. I can upload the programmer sketch to the programmer Nano
  2. The program is running fine with a pulsating heartbeat
  3. I can program the target breakout with the Blink sketch using Arduino IDE

However, here the bad stuff occurs - The programmer Nano ALSO turns into Blink:

https://photos.google.com/photo/AF1QipMNj2wmq_h_MR-qT5HvR7pq6VMZ7ltLyJ8zhVHv

I can actually workaround by just changing back to AVRISP mk2 and uploading the ArduinoISP sketch again and then the programmer Nano is an ISP programmer again and the other one still Blink. But it's just weird and I really don't want that as part of my workflow and maybe I have other issues due to this that I don't understand.

To be super clear on my setup:

  1. I'm on OSX, connecting a usb cable to a Nano V3 clone. I've uploaded the 'ArduinoISP' example sketch as of Arduino IDE 1.8.5 (I think it has been updated recently)
  2. The Nano seems is running this sketch - the heartbeat is pulsating
  3. I connect 5 of the 6 pins on ISP 1-1, everything but the reset which I connect from D10 on programmer to reset on ISP header of target - all according to instructions.
  4. I change the programmer in Arduino IDE to be 'Arduino as ISP' and leave everything else intact, port - same usb port, processor - still atmega328p, board - still arduino nano.
  5. upload Blink

This makes the programmer turn into Blink too.

\$\endgroup\$
  • 1
    \$\begingroup\$ "5. upload Blink" - 'upload', or 'upload using programmer'? \$\endgroup\$ – Bruce Abbott Jan 8 '18 at 19:18
  • \$\begingroup\$ @BruceAbbott Ugh! Hadn't seen that one. I guess I just thought upload would use the programmer selected… That's mostly likely it, away from stuff now, but will try tomorrow. Thx! \$\endgroup\$ – Viktor Hedefalk Jan 8 '18 at 21:54
2
\$\begingroup\$

I'd add a comment but can only add an answer, sorry.

You need to add a capacitor between reset and ground on the 'programmer' Arduino. 10uF, make sure that you get the polarity right.

This prevents the nano from being reset into programming mode when you upload the blink sketch. You can also use the normal upload icon then.

\$\endgroup\$
  • \$\begingroup\$ Other have recommended a pull up 10k between Vcc and reset and a cap between Vcc and ground, like this: arduino.stackexchange.com/questions/17762/… But point is to keep reset high even if the usb interface creates short lows, is that it? \$\endgroup\$ – Viktor Hedefalk Jan 10 '18 at 16:15
  • \$\begingroup\$ @ViktorHedefalk That's exactly the idea. There's already a 10k pullup according to the nearest diagram I have to hand (Uno rev 3) so this would make it effectively a 5k pull up. I've never bothered with puting a 'scope on reset to look at it in detail as just adding the 10uF capacitor between reset-gnd works for my setup. \$\endgroup\$ – user3190797 Jan 10 '18 at 16:40
  • \$\begingroup\$ The pullup or cap helps in keeping the programming arduino not being programmed, thanks! However, still can't use either of my nano or uno clones as ArduinoISO. Weird stuff, I thought this was going to be easy… \$\endgroup\$ – Viktor Hedefalk Jan 11 '18 at 8:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.