0

I bought 10 Arduino Nanos for a project, each with all of their headers soldered in place. Each was going to go into a tiny space, so I found myself needing do desolder the ICSP headers.

This led to a bit of a moral conundrum. What would I lose by removing these useful looking headers. They cover quite a lot of space on the nano, so they must be important right? Am I going to regret removing these things when I finally realize how useful they are (I thought to myself.)

In the end, I did remove the ICSP headers, but the event got my thoughts going. What is this header all about? Why is it there? What can I do with it? I began to search for things that I could do with the ICSP header, but engaging results were not forthcoming ( except for this project: https://www.arduino.cc/en/Hacking/ParallelProgrammer )

Anyway, I was more interesting in things that flash, move, jump, sing, and such, so are there any interesting things that can be done with the ICSP header?

Hoytman
  • 747
  • 5
  • 13
  • 26
  • Mostly useless. You can always add them back if you need to, or use the other pins (as the ISP header pins are the same as pins 11,12,13,RESET,GND,VCC) – Gerben Sep 05 '15 at 09:20
  • Are they the same pins for all Arduinos (mega, nano, etc.)? – Hoytman Sep 05 '15 at 15:57
  • Not necessarily. Pins 11, 12, 13 are MOSI, MISO, SCK on the ATMega328 based boards (like Uno and Nano). – Gerben Sep 05 '15 at 18:59

2 Answers2

2
  1. You can use every single last byte of flash on the device.

    Since you're performing low-level programming of the device you get the entire chip to play on, without having to worry about bootloaders and such.

  2. You can debug (breakpoint, single-step, watch, disassemble, etc.) the code on the chip using software on your computer.

    Admittedly the devices you'd need in order to do so are more expensive than a simple ISP programmer and it only works with specific pieces of software, but it can be done.

Ignacio Vazquez-Abrams
  • 17,663
  • 1
  • 27
  • 32
1

One interesting thing I just came up with: you could use this header to attach a simple control panel for your Arduino.

Imbed the Arduino in any place/box/machine you like. Then use a cable with a 6 pin connector to connect the header to a small control panel. The panel could have 3 buttons or LEDs, a reset button and a power plug.

Hoytman
  • 747
  • 5
  • 13
  • 26