How to update Seletek's (any version, Armadillo, Platypus...) firmware using ATMEL's (r) utilities

Important note: this article applies to:

a) in general, pre-2.0 firmware versions. Once with version 2.0, firmware upgrades will be done using drag and drop, from the main program

b) cases when the normal, drag-n-drop update failed for some reason

There's a short technical addenda at the end of the page in case you want to understand what's going on.

Let's explain the failproof even if cumbersome update method. This should start with an erased Seletek controller (erased by any of our programs or as explained in this page). Do not close the box for the moment!

  • First step is to download the SAM-BA package, from this link, then execute and install it in our PC.
  • Once installed, please connect your erased controller to the PC using:
    • Original Seletek units: the regular USB plug
    • Armadillo (first version): the miniUSB under the sticker
    • Armadillo 2 and Platypus: the internal USB plug
  • You may need to power the unit - but please remember no motors or peripherals attached!
  • Now comes first challenge. If Windows does not recognize the device automatically, please instruct it to search for drivers at the Atmel folder, usually:
    • c:\Program Files\Atmel\sam-ba_2.12\drv for 32 bit systems
    • c:\Program Files (x86)\Atmel\sam-ba_2.12\drv for 64 bit systems
  • Now launch the SAM-BA program from the newly added desktop icon or start menu (please ignore the version number):

              

  • When asked about the kind of board we are using, select the following one if available in the drop-down menu  (format \usb\ARM0 or \USBSerial\COMn):

 or 

... if not available, or if in doubt, open your device and look for something like this to find out the correct port:



  • AT91SAM7X256-EK ! Any other board and it won't work. If you can't see any "\usb\ARMXX" or "USBSerial\ARMXX" (ARM0, or ARM1...) option in the list shown to "Select the connection:", please check the USB cable is properly hooked, try another cable... and make sure you have erased the board correctly (step 0). If everything goes wrong, try Lunático.

In most cases we will reach the following screen:

... here we must click where the mouse cursor is shown ("Flash" tab), and then select the matching firmware file, please download clicking your model:

Open the file from the download folder, and then click "Send file":


Very rarely (for very old Seletek controllers), you'll be asked "Do you want to unlock ..." please answer YES; doblue check it's asking to UNLOCK!:


and after the file is sent, when asked "Do you want to lock..." please answer NO:

In short, we want everything UNLOCKED.


VERY IMPORTANT: the last step, select the script "Boot from flash (GPNVM2)", and click "Execute".

And this should be all. You can now close the Atmel program, power off / on your controller, hook it using your external USB plug, launch the softare, and drag and drop the current operative firmware, again shortcuts here:

Once your controller is up to date, you can safely uninstall Atmel's program and close the controller box.

If not enough, please contact with Lunático Astronomía.


The promised addenda

What have we done, why is this necessary?

Microcontrollers (the brain of the Seletek) come "empty" from the manufacturer. There are tools, such as the one we've just used, to load them with a program (commonly called "firmware"). Problem is, these tools are not very friendly, or easy to integrate into friendly software, or documented...

So we have developed a special firmware (we call it Bootloader, hence the "BL" before the model name) that is capable of loading another firmware.

Being this the case, any current Seletek controller has 2 different firmwares installed:

- the bootloader one, that only becomes active during the update process

- the, let's say "operative" one, that's the one normally running and enabling us to control astronomical peripherals

Following this procedure, we have first left the Microcontroller "empty", as new from Atmel, same as when we receive them here at Lunatico. The we've loaded it with the bootloader firmware (same we do here), thus enabling it to update using our more user friendly software. In the last step, and now using our system, we've loaded the latest firmware, just dragging and dropping the file.