User Tools

Site Tools


product:usb2ax:firmware_update

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
product:usb2ax:firmware_update [2014/02/25 00:26]
xevel [Updating the firmware]
product:usb2ax:firmware_update [2017/11/15 02:53]
xevel
Line 5: Line 5:
 ==== Getting the firmware ==== ==== Getting the firmware ====
  
-The latest official firmware binary can be found on the [[firmware|firmware page]].+The latest official firmware binary can be found on the [[firmware|firmware page]].\\ 
 +Also, take the time to **check if you actually need to upgrade** or if you already have the latest one, the info is on the same page.
  
 ==== Updating the firmware ==== ==== Updating the firmware ====
  
-You have a new firmware and you want to put it in the USB2AX, ​Great!+You have a new firmware and you want to put it in the USB2AX, ​great!
 There are three ways to do it: There are three ways to do it:
  
Line 22: Line 23:
 This update method is supported both for [[#Windows version|Windows]] and [[#Linux version|Linux]]. This update method is supported both for [[#Windows version|Windows]] and [[#Linux version|Linux]].
  
-== Windows version ==+=== Regular : Windows version ​===
  
 //Tested on Win7 64bits.//\\ //Tested on Win7 64bits.//\\
  
-Get the [[http://​xevelabs.com/​usb2ax/​USB2AX_Updater_Win_v1.0.zip| USB2AX_updater tool]].+Get the [[http://​xevelabs.com/​usb2ax/​USB2AX_Updater_Win_v1.1.zip| USB2AX_updater tool]] ​(updated Nov 2017).
  
   * Run //​usb2ax_updater.exe//​.   * Run //​usb2ax_updater.exe//​.
Line 34: Line 35:
   * Select the appropriate COM port and click "Run Bootloader"​.   * Select the appropriate COM port and click "Run Bootloader"​.
   * If it's the first time you do it, the [[USB2AX]] will re-enumerate as //​ATmega32u2 DFU//. Cancel the online search for driver, and manually install the driver from the //​dfu-prog-usb-1.2.2//​ folder.   * If it's the first time you do it, the [[USB2AX]] will re-enumerate as //​ATmega32u2 DFU//. Cancel the online search for driver, and manually install the driver from the //​dfu-prog-usb-1.2.2//​ folder.
-  * Select the new firmware that you want to upload, and click "​Program USB2AX"​.+  * Select the new firmware that you want to upload ​(without spaces in the path!), and click "​Program USB2AX"​.
   * Done!   * Done!
  
  
-== Linux Version == +=== Regular : Linux Version ===
-//Tested on Ubuntu 10.10 32bits.//+
  
 1) Install dfu-programmer >=0.5.4 1) Install dfu-programmer >=0.5.4
- 
-**WARNING** Debian Squeeze only has 0.5.1, so on this distribution you might have to build it from sources. 
  
 //Maybe add the user to the uucp group so you don't have to run dfu-programmer as root... but it did not work for me.// //Maybe add the user to the uucp group so you don't have to run dfu-programmer as root... but it did not work for me.//
  
-2) Run the bootloader using the python script: [[https://paranoidstudio.assembla.com/code/paranoidstudio/​git/​nodes/master/usb2ax/soft/​lufa_usb2ax/​usb2ax_run_bootload.py|usb2ax_run_bootload.py]]+2) Run the bootloader using the python script: [[https://raw.github.com/Xevel/usb2ax/master/firmware/​lufa_usb2ax/​usb2ax_run_bootload.py|usb2ax_run_bootload.py]]
  
 Edit it to change the tty port accordingly. It requires Python 2.7 and PySerial. Edit it to change the tty port accordingly. It requires Python 2.7 and PySerial.
Line 56: Line 54:
 dfu-programmer atmega32u2 erase dfu-programmer atmega32u2 erase
 dfu-programmer atmega32u2 flash USB2AX.hex dfu-programmer atmega32u2 flash USB2AX.hex
-#/!\: the .hex needs to have UNIX-style end of lines (\n, LF), and will probably not work with DOS end of lines (\r\n CRLF)!+#/!\: with some versions of dfu-programmer, ​the .hex needed ​to have UNIX-style end of lines (\n, LF) instead of DOS end of lines (\r\n CRLF)!
 dfu-programmer atmega32u2 start dfu-programmer atmega32u2 start
 </​code> ​ </​code> ​
Line 62: Line 60:
 4) Done! 4) Done!
  
-== More info for power users ==+=== More info for power users ===
  
-  * Running the bootloader on the USB2AX is as simple as sending on its serial port the following ascii bytes: 0xff 0xff 0xfd 0x02 0x08 0xf8 ([[https://paranoidstudio.assembla.com/code/paranoidstudio/​git/nodes/master/usb2ax/soft/​lufa_usb2ax/​usb2ax_run_bootload.py|Python example]]). Upgrading from version v04 to a newer revision, a second simplified way to do it has been added: open the port at 1200bps, enable DTR, then close it+  * Running the bootloader on the USB2AX is as simple as sending on its serial port the following ascii bytes: 0xff 0xff 0xfd 0x02 0x08 0xf8 ([[https://github.com/Xevel/usb2ax/blob/master/firmware/​lufa_usb2ax/​usb2ax_run_bootload.py|Python example]]). Upgrading from version v04 to a newer revision, a second simplified way to do it has been added: open the port at 1200bps, enable DTR, then disable DTR and close the port quickly
  
   * For commands aimed at the USB2AX, time between two bytes must not exceed 2ms. However, for commands sent to the servos, the maximum byte to byte time acceptable is of 100ms (see http://​support.robotis.com/​en/​product/​dynamixel/​dxl_communication.htm ).   * For commands aimed at the USB2AX, time between two bytes must not exceed 2ms. However, for commands sent to the servos, the maximum byte to byte time acceptable is of 100ms (see http://​support.robotis.com/​en/​product/​dynamixel/​dxl_communication.htm ).
Line 115: Line 113:
 ==== Customizing the firmware ==== ==== Customizing the firmware ====
  
-The sources of the firmware are available in [[https://paranoidstudio.assembla.com/code/​paranoidstudio/​git/​nodes/​master/usb2ax/soft|the Git Repository]] of the project.+The sources of the firmware are available in [[https://github.com/Xevel/​usb2ax/​|the Git Repository]] of the project.
  
 Read the README file to get an idea of what is going on, read the code, and start hacking away! Read the README file to get an idea of what is going on, read the code, and start hacking away!
product/usb2ax/firmware_update.txt · Last modified: 2017/11/15 02:53 by xevel