Main Menu

search

You are here

Piksey Atto Programming & Operation

[last update: 2020-09-05]
Piksey Atto home page
-----

3 Boards received 08/04/20:

  • Basics:
    • The Piksey Atto uses the Leonardo bootloader

    • Upload trick: There's a trick to get it to upload a program. It seems to be an issue related to the Leonardo bootloader.
      If you get errors when trying to upload a program, Do this:
      After pressing upload, immediately after compiling finishes, press the reset on the board (ie. momentarily ground the reset pin).
      You may need to fiddle with the timing to get it just right. You must press reset immediately after compiling is finished and actual upload starts...
      See below for explanation of why this is so...


      You may not need to do the reset thing in subsequent uploads...


      OTOH, even though uploads were successful (as determined by the program doing what I wanted),
      still there were error messages:

        avrdude: error: programmer did not respond to command: set addr
        -or- avrdude: butterfly_recv(): programmer is not responding
        -or- avrdude: verification error, first mismatch at byte 0x005e
        -or- avrdude: verification error; content mismatch
    • Opening Serial Monitor does not reset/restart the board, like it does other Arduinos.
      Ergo you cannot put Serial.print statements in setup function and expect them to execute.
            (bc you cannot open SM until after the upload has finished bc it uses the same USB port ...
            ... but can't you reset the board after upload and thereby re-run setup??? )

  • Why do you need to reset the board to get it to upload?
    This from user "pert" on Arduino forum:
      "Due to the USB stack running on the same chip as your sketch with this board, it is possible for code in your sketch to break the USB functionality.
      Fortunately, the upload code (bootloader) is stored in a separate section of memory and can not be broken by the sketch code.
      The only tricky thing is that the bootloader has to be activated at just the right time during the upload.
      Normally this is done by some special code that runs in the background of your sketch code recognizing a 1200 baud connection as the signal to reset the microcontroller and start the bootloader.
      However, in your current situation, that system wont work so you'll need to manually reset the board to activate the bootloader.

      You need to get the timing right. If you press the reset button too early, the bootloader will have already timed out by the time the upload starts.
      The tricky thing is that when you press the "Upload" button in the Arduino IDE, it first compiles your sketch before starting the actual upload.
      So you need to wait until after the compilation finishes before pressing the reset button.

      If the problem persists, you know there is something in your sketch that is breaking the USB functionality.
      If you can get the IDE basic program to upload, then you know you have something in your sketch breaking the USB code."

.

.

.

eof