Maintenance notice: These forum archives are read-only, and will be removed shortly. Please visit our forums at their new location,

Octolively and USBTinyISP

First - thanks for designing such awesome stuff!

I am working on programming my Octolively modules, and put together USBTinyISP to do so.  I have no experience with AVR programming, so this is all a bit new to me.

Following all of the various tutorials that are out there, I understand that I should be able to communicate with the Octolively with something like:

avrdude -c usbtiny -p m164p

But despite trying various things, I inevitably get the response:

avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

So - the question:  what's the 'right' way to connect the Octolively with a USBTinyISP?  I presumed that the on-board USBTinyISP 100 mA power was not enough to power an Octolively, so I have the USBTinyISP power jumper out, and the Octolively connected to power and turned on.  I presume that the 6-pin connector should be oriented with the red-wire side on the same side as the silkscreened arrow on J6.

The USBTinyISP seems to be responding correctly, with a valid USB connection (and green light), and when it attempts to communicate, I get some flashes on the red LED.  It's certainly possible that there's something wrong with my USBTinyISP, as this is the first attempt to do something with it, but it seems to be functioning and responding correctly. I missing something?


  • Unless I'm being daft, everything that you have described seems correct to me.  (And, thank you for describing the situation so clearly!)

    However, the "initialization failed" error is a blanket error which basically means that there's no good connection.  It could be hardware (wiring, ISP connector installed on the wrong side of the board, bad solder joint somewhere, solder bridge, etc) or it could be software. To help eliminate things, you might try using one of our standard makefiles.

    Download the code example and makefile here:

    Edit the file to change programmer type, by commenting out line 6 and uncommenting line 7.

    Then, at the command line, compile with "make all" and then upload the program with "make install".   The full avrdude command that it calls should be as follows:

     avrdude -p m164p -c usbtiny -P usb -v -e -B 4 -U lfuse:w:0xC2:m -U hfuse:w:0xD9:m -U efuse:w:0xFD:m -U flash:w:octolively.hex

    One of the things to note there is that you do (I think) have to explicitly tell it to look on the USB port, with that "-P usb" above.  :)
  • Thanks for the sanity check - good to know that I was at least on the right track :)

    The results are more or less the same:

             Programmer Type : USBtiny
             Description     : USBtiny simple USB programmer,
    avrdude: programmer operation not supported

    avrdude: Setting SCK period to 4 usec
    avrdude: initialization failed, rc=-1
             Double check connections and try again, or use -F to override
             this check.

    avrdude done.  Thank you.

    make: *** [install] Error 1

    I will scrutinize the USBTinyISP!  Thanks for the help!

  • OK - Mystery solved!

    I had not installed the R4/R7 jumpers on the USBTinyISP that are necessary for boards with loaded pins to be programmed.  Put this in the 'knowing just enough to be dangerous' files.

    Now it works fine - thanks for the help!
  • Fantastic-- glad to hear it!
Sign In or Register to comment.