Installation

allow6-4-upWire connection   allow6-4-downAppearance

PREREQUISITES

  • ArduinoIDE newer than version 1.5.0 is required to build the program for this ADB to USB adapter.

DOWNLOAD

  • Download the kit of the program for this ADB to USB adapter from the link below
  • Unzip the kit somewhere
  • You may get “SimpleAdb” folder

CONTENTS OF PACKAGE

Folder name File name
SimpleAdb SimpleAdb.cpp (SimpleAdb library)
SimpleAdb.h (A header file for SimpleAdb library)
protocol.h (A header file for ADB protocol handler)
keywords.txt
SimpleAdbutility protocol.S (ADB protocol handler)
SimpleAdbexamplesm0116 m116.ino (A sample program using SimpleAdb library)

COPY TO ARDUINO LIBRARY FOLDER

Copy SimpleAdb folder to Arduino library folder. I think the location of Arduino library has been moved since version 1.5.

OS Arduino library folder
Windows your_arduino_1.5.x_root\hardware\arduino\avr\libraries\SimpleAdb
Linux your_arduino_1.5.x_root/hardware/arduino/avr/libraries/SimpleAdb
Mac start finder
find arduino application file
right click and show package contents
Contents/Resources/Java/hardware/arduino/avr/libraries/SimpleAdb

BEFORE COMPILING PROGRAM

  • If using some of the third party board compatible with Leonard or Micro, modify boards.txt to be supported in the Arduino IDE. The file is located in the folder hardware/arduino/avr. For example I used the board named Da Vinci 32U, and I added the lines below to boards.txt.
davinci.name=Da Vinci 32U
davinci.upload.tool=avrdude
davinci.upload.protocol=avr109
davinci.upload.maximum_size=28672
davinci.upload.speed=57600
davinci.upload.disable_flushing=true
davinci.upload.use_1200bps_touch=true
davinci.upload.wait_for_upload_port=true

davinci.bootloader.tool=avrdude
davinci.bootloader.low_fuses=0xff
davinci.bootloader.high_fuses=0xd8
davinci.bootloader.extended_fuses=0xcb
davinci.bootloader.file=caterina/da-vinci-32u-master.hex
davinci.bootloader.unlock_bits=0x3F
davinci.bootloader.lock_bits=0x2F

davinci.build.mcu=atmega32u4
davinci.build.f_cpu=16000000L
davinci.build.vid=0x1774
davinci.build.pid=0x8032
davinci.build.core=arduino
davinci.build.variant=leonardo
davinci.build.extra_flags=-DUSB_VID={build.vid} -DUSB_PID={build.pid}
  •  Modify platform.txt for setting Arduino IDE’s build command. The file is located in the folder hardware/arduino/avr.
    • To compile assembler code, add the lines below
      before after

      compiler.S.flags=-c -g -assembler-with-cpp
      compiler.S.cmd=avr-gcc
      compiler.S.flags=-c -g -assembler-with-cpp
      # AVR compile patterns
      #
      # AVR compile patterns
      #
      ## Compile S files
      recipe.S.o.pattern="{compiler.path}{compiler.S.cmd}" {compiler.S.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -D{software}={runtime.ide.version} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
    • To compile without optimizer, modify the line below
      before after
      compiler.cpp.flags=-c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD compiler.cpp.flags=-c -g -O0 -w -fno-exceptions -ffunction-sections -fdata-sections -MMD
  • Make some hardware for the adapter. Check if the port used is matched with the port defined in protocol.h. Default port is PORTD, and bitNo for ADB key input is PORTD6.

COMPILE AND UPLOAD

  • Start Arduino IDE
  • Select Board from Tools menu
  • Select Serial port from Tools menu
  • Select Examples → SimpleAdb →m0116 from File menu
  • Select Preference from File menu and check show verbose output during compilation / upload
  • Select Verify / Compile from Sketch menu
  • If no error, click upload button
  • If error occurred, look into log and think again and again and again 🙂

KIT

allow6-4-upWire connection    allow6-4-downAppearance