XSP - Arduino Programmer SKU:DFR0360

From DFRobot Electronic Product Wiki and Tutorial: Arduino and Robot Wiki-DFRobot.com
XSP

Introduction

XSP Programmer is designed for Arduino/AVR device. Support both ISP and FTDI. No driver software is required. It could provide both 5V and 3.3V power output or shutdown power output. Support Xbee socket and auto-match ISP clock frequency. It will be your good friend, when you make some stuffs based on Arduino/AVR. It could work with eClip programming Fixture together.

XSP

(XSP is designed by Maker "LeoYan", sold on DFRobot store. A portion of this sale will given back to Arduino by LeoYan.)


Features

  • Multi-function:
    • Support Arduino/AVR ISP programming
    • Support Arduino FTDI programming
    • Support serial communication
  • Flexible Power Management:
    • Support 5V/3.3V power output and shutdown power output
    • When you turn off the output power, it will auto-match target voltage
  • Warning if the output power mismatch the target voltage
    • Automatic short-circuit protection
  • Free Driver
    • Free driver in MacOS and Linux
    • Arduino IDE builtin driver in Windows
  • High Efficiency
    • Max 2MHz clock frequency in ISP mode
    • Auto-match ISP uploading speed (Compatible with devices such as 1MHz bare chip and 16MHz Arduino UNO)
    • Max 250000bps serial port baud rate in FTDI mode
  • Easy to use
    • Serial port configuring working mode
    • Help menu
    • Led status indicator
  • DFU firmware upgrading method


Specification

Microcontroller: ATmega16U2@16MHz
Operating Voltage: 5V DC
Output Voltage: 5V / 3.3V / OFF
Output Current: 300mA@5V / 60mA@3V3
Interface: ISP / FTDI / XBee
Max ISP clock speed: 2MHz
Max FTDI baud rate: 250000bps


XSP modules

XSP consists of 3 parts, you could use them according to your application.

XSP Kit


Programmer

Programmer


  • Socket Pinout
Mode/Pin 1 2 3 4 5 6 7 8
FTDI: - VCC - - DTR GND TX RX
ISP: MISO VCC SCK MOSI RESET GND - -
Note
  • DTR signal - If be enabled, high level default. When you open the serial port, it will output a 50ms low pulse, which could trigger MCU reset even if there is no 100nf capacitance connecting to MCU reset pin.


Adaptor

FTDI to XBee interface, ISP bonding pad reserved

adaptor
Note

FTDI doesn't include CTS signal, it is not used in Arduino.


Cable

Connect Programmer, Adapter, eClip .etc.

Cable


Configuration

Note

You could config XSP function through serial port. Since it doesn't need to config its parameter frequently, we did following constraint to improve its work efficiency.

  1. After each time you open the serial port, you only could make once configuration.
  2. After you open the serial port, you can enter Configuration mode only if you input "NL/CR" before input any other characters. If you input other character, it will go into Work mode.
  3. If you want to enter Configuration mode again, you need to close and open serial port again.


XSP could be configured by any COM debug tool. We will using Arduino IDE as our example.

  • Plug XSP into PC usb port, select COM port (Here is a MAC screen capture, different OS has different UI.)
Cable

  • Open Serial monitor, Select “Both NL & CR” (Red), press “Enter” keypad or click "Send" icon to enter configuration mode. (Don't input any character before this step, or it will go into work mode);
Cable

  • Input “help”, config its parameter according to the help instruction;
Cable

  • For example, if you want to set it as ISP mode, just input "mode=isp", and watch XSP indicator LED, when it is light, it means it has entered ISP mode. (There is no reply in the serial console);
Cable

  • Then, you could check the configuration by "show" command;
  • Using “save” command to save the configuration parameter to EEPROM, so it will keep the configuration after power down. If you only need a temporary use, just not save, and using "quit" command to exit the configuration mode, than the configuration takes effect before it is power down;

Note
  • During the configuration, as long as nothing is entered over 60s, it will exit the Configuration mode, and enter into Work mode.


Indicator

There are 5 indicator LEDs on XSP Programmer, representing its working condition.


State \ LED FTDI ISP 5V - 3V3 DATA
Power on self test OFF ON ON - ON ON
Work-FTDI ON@"DTR=ENABLE";
FLASH@"DTR=DISABLE"
OFF FLASH Fast FLASH during data transmission
Work-ISP OFF ON
Configuration ON based on configuration ON based on configuration;
Both LEDs OFF @ "OUT=OFF",
N/A
Failure Both LEDs Fast FLASH Fast FLASH
Note
  • When it is in Failure state, please open the Serial console to check the error information.

Usage

FTDI programmer

(Example of Arduino IDE)


  1. Connect XSP programmer to your target board, and plug XSP to your PC USB port;
  2. Please refer to https://www.arduino.cc/en/Guide/Windows#toc4


FTDI Serial Debug

(Example of Arduino IDE)

  1. Connect XSP programmer to your target board, and plug XSP to your PC USB port;
  2. Open Ardino IDE -> Tools -> Port, select the right COM port;
  3. Open the Serial monitor, set the right baudrate.


ISP@Arduino

XSP Kit

Hardware connection
  1. Connect XSP programmer to your target board, and plug XSP to your PC USB port;
  2. Open Ardino IDE -> Tools -> Board, Select the board type;
  3. Open Ardino IDE -> Tools -> Port, Select the right COM port;(Do not open the COM port after this step)
  4. Open Ardino IDE -> Tools -> Programmer, Select "AVR ISP"
  5. Open Ardino IDE -> Tools -> Burn Bootloader, click
  6. Done!
Note
  • AVR ISP is using Virtual Serial Port, so please do not open the serial port in the other way, or it will lose control; You need to close the Serial monitor, and powered off and re-up electricity to the device.

ISP@avrdude

You can use avrdude command to operate the target board, (-cstk500v1)

e.g. avrdude -p atmega328p -cstk500v1 -P/dev/tty.usbmodem14111 -b57600 -t


More


Nextredirectltr.png BUY from XSP - Arduino Programmer DFRobot Distributor List