Questions tagged [icsp]

In-Circuit Serial Programming, when you program the chip without having to physically remove it and place it in a programmer.

Most (if not all) of the chips used by the Arduino series can use ICSP (In-Circuit Serial Programming) to reprogram the chip. This is accomplished by sending serial commands to the chip using the SPI interface (Serial Peripheral Interface). Doing this saves the inconvenience (or virtual impossibility, in the case of surface mounted processors) of removing the chip and placing it into a programmer.

Generally speaking, the ICSP interface consists of 6 signals to the target chip:

  • MOSI - Master Out Slave In
  • MISO - Master In Slave Out
  • SCK - Serial clock
  • Reset
  • VCC
  • Ground

To program the target chip the programmer holds /RESET low (ie. at zero volts) and then issues very specific commands via the SPI interface (MOSI/MISO/SCK). This enters "serial programming" mode, in which the processor responds to "commands" sent via SPI as documented in the relevant datasheet.

Since /RESET is low, any code already on the chip does not execute.


Contrast to which uses code already installed on the chip (quite possibly by ICSP) and does not require extra hardware.


References

See:

36 questions
105
votes
3 answers

Have I bricked my Arduino Uno? Problems with uploading to board

I can't upload sketches to my Arduino Uno. Have I "bricked" it? What steps can I take to work out what is wrong? What can I do to fix it?
Nick Gammon
  • 38,901
  • 13
  • 69
  • 125
19
votes
1 answer

What's the 2nd ICSP header for in Arduino Uno R3?

Looking at my Arduino Uno R3 board and its reference design schematic I noticed that there's a second ICSP 6-pin header. In the schematic, the connector I'm referring to is named ICSP1. What's that for? What useful things can an average Arduino…
Ricardo
  • 3,390
  • 2
  • 26
  • 55
12
votes
2 answers

FTDI Breakout with additional ISP connector

TL;DR - Can the six yellow ISP pins be used as a normal ISP? The usual USB-TTL FTDI breakout board looks like this: Recently, I came across a variant of the board shown below. However, what are the additional yellow header pins on this board for?…
Greenonline
  • 3,152
  • 7
  • 36
  • 48
6
votes
2 answers

Can we burn Arduino bootloader into any microcontroller chip?

I am new to this Arduino community I noticed on youtube that while the prototype is complete people purchase new ATmega328p chips and flash bootloaders into them using in-system-programmers so that the chip could actually understand and interpret…
Ravikiran
  • 195
  • 1
  • 3
  • 8
6
votes
4 answers

Can the Arduino Uno become an AVR programmer and use the ICSP header to program the target board

The Arduino Uno has an ICSP header that I imagine is for programming the board using a separate ICSP programmer. That is, its ICSP header turn the board into a target. Can one use that same ICSP to program other boards, turning the Arduino Uno…
Ricardo
  • 3,390
  • 2
  • 26
  • 55
5
votes
1 answer

How does Arduino distinguish between SPI programming data and regular data?

The Arduino can be programmed using SPI without a boot loader. Without a boot loader, the Arduino starts running its sketch right away. So, how does the Arduino know that it is being programmed via SPI vs regular SPI traffic already present on the…
Ana
  • 480
  • 3
  • 7
  • 13
4
votes
1 answer

Purpose of USB (FTDI) and ICSP connectors

As an Arduino newbie I am a little bit confused about possible ways of programming and communicating with this device. I have done some research and it seems that: ICSP is used for programming with a bootloader in MCU. The USB (FTDI) port is used…
azrael
4
votes
2 answers

What's the difference between ICSP vs ISP?

I'm not sure if these terms are interchangeable or not. What's the difference between ICSP and ISP? Is it simply the reset? I've shown two configurations in this question I just asked. Are they both ICSP?
Evan Carroll
  • 455
  • 1
  • 6
  • 16
3
votes
1 answer

What do these pins on the Uno do?

I've been wondering for a long time what these pins, labeled ICSP and blank, do. I can't seem to find a diagram that explains them, so I've been wondering: What are they for? Are they GPIO, or do they do something special? How can you use…
Pyraminx
  • 179
  • 1
  • 6
3
votes
2 answers

Homebrew Arduino using ATMEGA328P, ISP or ICSP?

I plan on creating a homebrew Arduino breakout board using the ATMEGA328P smd version. I'm geeting confused by the wealth of information out there as to whether I should be using ICSP or ISP to program it. It is a blank chip, aka no Arduino…
Sam W
  • 209
  • 4
  • 11
3
votes
1 answer

Arduino Leonardo - Using ICSP pins for serial

I'd like to know if it's possible to use the ICSP header pins on the Leonardo as GPIO pins, for example for software serial, and how to address them. I've a project which needs all available I/O pins, and I could use having serial comms on those…
3
votes
2 answers

Does upload using `ICSP`overwrite the bootloader?

If I compile a sketch then upload using ICSP does it overwrite the bootloader? I am using Arduino program and Arduino Uno as ICSP.
Milliways
  • 1,655
  • 2
  • 18
  • 29
3
votes
1 answer

Need some explain before desigin my own custom Arduino Due board

I'd like to ask you some questions about ARM processor from Atmel like the SAM3X8E, the one used in the Arduino Due. I have found this [AVR programming guide] from abcminiuser on avrfreaks very helpful. Q1. Why are there no ICSP pins in Arduino Due…
Haider
  • 43
  • 4
2
votes
0 answers

Using ICSP pins as SPI in Arduino Due

I am using two RFID sensors operating on SPI with arduino Due. They will not be operating at the same time. Is it favorable to use the ICSP pins as SPI pins for one of them, or use them in a one master two slaves configuration with the SPI header?
sarah
  • 121
  • 1
2
votes
1 answer

Suddently, "avrdude: Device signature = 0x000000" with ArduinoISP. Is my chip dead?

I have some boards with the atmega32u4 that they were working perfectly before. I'm using an unnoficial UNO board to program them via ICSP. To power the uC I'm using two lithium batteries and a step-down converter to drop it to 5 V. This started…
Jorge Gonçalves
  • 103
  • 1
  • 2
  • 8
1
2 3