Difference between revisions of "Updating EBB firmware"

From Evil Mad Scientist Wiki
Jump to: navigation, search
(Steps)
 
(18 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{EggBotDocs}}
+
= Introduction =
 +
 
 +
This page gives instructions on updating the EBB (EiBotBoard) firmware, which may be found on your [[AxiDraw]], [[EggBot]], [[WaterColorBot]], or any other machine using the EBB as its controller. In most cases when the firmware is compatible with the current version of the software that you are using, no update is necessary. However, there may be cases where updating allows you to take advantage of new features in the Inkscape extension, bug fixes, or new commands available.
 +
 
 +
'''Important caution:''' If you are experiencing difficulty connecting to the machine over USB, then '''please do not''' update its firmware until those issues are resolved.
 +
 
 +
== Updater applications for Mac and Windows ==
 +
 
 +
For most users on Mac and Windows, the most straightforward way to update is to run one of our ready-built applications that updates the firmware to the latest major release.
 +
 
 +
As of this writing, that latest major release is version 2.6.5, and firmware updaters are available to download [https://github.com/evil-mad/axidraw/releases/download/v2.5.6/Firmware_v265_Mac.zip here for Mac] and [https://github.com/evil-mad/axidraw/releases/download/v2.5.6/Firmware_v265_Win.zip here for Windows].
 +
 
 +
For either platform, connect the EBB to your computer via USB and then run the application, which will automatically update the firmware.
 +
 
 +
For Linux, or if you need to update to a different specific version of the firmware, please follow the "Manual" updating procedures in the next section.
  
  
= Introduction =
 
  
If you want to change the firmware that is on your EBB (for example, to take advantage of new features in the Inkscape extension, or maybe because a different version of EBB firmware fixes some bugs or adds new features that you want to use) you will need to follow the directions on this page.
+
== Manual updating with mphidflash ==
  
There are three different tools you can use to update your EBB firmware - a hardware programmer (like the PICKit2 from Microchip), Microchip's HID Bootloader application (which only runs under Windows), or the command-line mphidflash application.
+
Besides the automatic updater applications, there are three different tools you can use to update your EBB firmware - a hardware programmer (like the PICKit2 from Microchip), Microchip's HID Bootloader application (which only runs under Windows), or the command-line mphidflash application.
  
Because one of the primary goals of EggBot is to support all three OS platforms (Windows, Linux, Mac OS), this page will discuss the use of mphidflash. This application is cross platform and works identically on all three OSes.   
+
Because one of the primary goals of the EBB ecosystem is to support all three OS platforms (Windows, Linux, Mac OS), this page will discuss the use of mphidflash. This application is cross platform and works identically on all three OSes.   
  
 
You will need to be comfortable with a very small amount of command line work to use this tool.
 
You will need to be comfortable with a very small amount of command line work to use this tool.
  
Note for Linux users: The Linux version of mphidflash was developed and tested under Ubuntu 10.04 (Lucid Lynx).  Other distributions may have additional dependencies.
+
Note for Linux users: The Linux version of mphidflash was developed and tested under Ubuntu.  Other distributions may have additional dependencies. Additionally, this method requires an "x86" type architecture; it does not currently run on Raspberry Pi.
 
   
 
   
  
= Steps =
+
=== Procedure ===
  
* Download the latest version of mphidflash, version 1.4 or newer. It can be found in the Eggbot Code [http://code.google.com/p/eggbotcode/downloads/list downloads section]. There is a single zip file download that has all of the source code plus three directories with executables in them, one for each OS. Unpack the zip file.
+
* Download the latest version of mphidflash, version 1.4 or newer. It can be found in the [https://github.com/EmbeddedMan/mphidflash mphidflash repository]. There is a single zip file download that has all of the source code plus a directory (or set of directories) with executables in them, one for each OS. Unpack the zip file.
 
* Some hints about installing this on Ubuntu can be found [http://www.willhackforsushi.com/?p=572 here].
 
* Some hints about installing this on Ubuntu can be found [http://www.willhackforsushi.com/?p=572 here].
 
* Open a command shell (terminal window) and navigate (cd) to the directory with the mphidflash executable for your OS. (For Windows users, do Start->Run then type in cmd and click OK.)
 
* Open a command shell (terminal window) and navigate (cd) to the directory with the mphidflash executable for your OS. (For Windows users, do Start->Run then type in cmd and click OK.)
Line 31: Line 44:
  
 
: You should see the help text for mphidflash. This shows that you can run the application properly.
 
: You should see the help text for mphidflash. This shows that you can run the application properly.
* Download the EBB firmware. You'll find it also listed in the Eggbot Code [http://code.google.com/p/eggbotcode/downloads/list downloads section], as "EiBotBoard Firmware," and grab the latest version (e.g., version 2.0.2 at the time of this writing).
+
* Download the EBB firmware. Easy link [https://github.com/evil-mad/axidraw/releases/download/v2.5.6/Firmware_v265_Raw.zip here].
* Identify the particular EBB firmware "hex file" that you want to program onto your board.  The EiBotBoard Firmware ZIP archive contains several slightly different versions: one for EBB version 1.1 (which shipped with clear-chassis kits in 2009), one for EBB 1.2, and one for EBB version 1.3 and higher-- appropriate for all more recent versions.
+
* To "manually" locate an EBB firmware version, look in the [https://github.com/evil-mad/EggBot Eggbot Repository] as "EBB_Firmware." Download the repository contents by clicking the "Download ZIP" link. Identify the particular EBB firmware "hex file" that you want to program onto your board.  The EiBotBoard Firmware ZIP archive contains several slightly different versions: one for EBB version 1.1 (which shipped with clear-chassis kits in 2009), one for EBB 1.2, and one for EBB version 1.3 and higher-- correct for all more recent versions. If in doubt, use the "EBB 1.3" versions.
* Copy the appropriate hex file to the folder that contains the mphidflash exectuable for your OS.
+
* Copy the hex file to the folder that contains the mphidflash exectuable for your OS.
 
* Connect your EBB to the PC with a USB cable. Plug in power to the EBB.
 
* Connect your EBB to the PC with a USB cable. Plug in power to the EBB.
* Put your EBB in 'bootloader mode' by pressing the PRG button and holding it down while you press and release the RST button. Then you can let go of the PRG button.
+
* Put your EBB in 'bootloader mode' by doing one of the following:
 +
** Press the PRG button and hold it down while you press and release the RST button. Then release the PRG button.
 +
** If you are using the Inkscape based AxiDraw software, use the "Enter EBB Bootloader mode" option from the Manual tab of AxiDraw Control
 +
** If you are using the CLI based AxiDraw software, use the corresponding [https://axidraw.com/doc/cli_api/#bootload bootload] option.
 
* Confirm that your EBB is in bootload mode by looking at the red and green LEDs by the USB connector. They should be blinking back and forth pretty fast.
 
* Confirm that your EBB is in bootload mode by looking at the red and green LEDs by the USB connector. They should be blinking back and forth pretty fast.
 
* From the command line, type (for Linux or Mac)
 
* From the command line, type (for Linux or Mac)
  
::<code>./mphidflash -w EBFv195_EBBv13.hex -r</code>
+
::<code>./mphidflash -w EBF_v265_BL.unified.hex -r</code>
  
 
:For Windows type  
 
:For Windows type  
  
::<code>mphidflash -w EBFv195_EBBv13.hex -r</code>
+
::<code>mphidflash -w EBF_v265_BL.unified.hex -r</code>
  
:Where "EBFv195_EBBv13.hex" is the name of the hex file that you want to program.
+
:Where "EBF_v265_BL.unified.hex" is the name of the hex file that you want to program.
 
* Confirm that you get a long series of dots "." on the command line, and that there are no errors. Your EBB will reset itself at the end of the programming process (that's what the '-r' does).
 
* Confirm that you get a long series of dots "." on the command line, and that there are no errors. Your EBB will reset itself at the end of the programming process (that's what the '-r' does).
* On Windows, if you have an order firmware and are updating to a relatively newer one, Windows may ask you to find a driver for the device when the EBB resets. You can install the proper windows "INF" driver by downloading and running [http://code.google.com/p/eggbotcode/downloads/detail?name=UBWDriverInstaller_v10.zip this installer program].   If Windows says the drivers are unsigned and do you want to continue, just allow it to install them.
+
* On Windows, if you have an older firmware and are updating to a relatively newer one, Windows may ask you to find a driver for the device when the EBB resets. You can install the proper windows "INF" driver by downloading and running the EggBot installer for Windows, which Installs the USB driver (the "UBW" driver) from [https://github.com/evil-mad/EggBot/releases GitHub]. If Windows says the drivers are unsigned and do you want to continue, just allow it to install them.
 
* After you've updated your EBB with fresh firmware, you can check to see that the new firmware was successfully programmed by opening Inkscape, going to Extensions->Eggbot..., click on the Manual tab, select "Check EBB Version" from the drop down list, and click Apply. In the little dialog box that pops up when this process is finished you should see something like "Firmware Version 2.0.2" or whatever your version number is.
 
* After you've updated your EBB with fresh firmware, you can check to see that the new firmware was successfully programmed by opening Inkscape, going to Extensions->Eggbot..., click on the Manual tab, select "Check EBB Version" from the drop down list, and click Apply. In the little dialog box that pops up when this process is finished you should see something like "Firmware Version 2.0.2" or whatever your version number is.

Latest revision as of 10:01, 1 June 2020

Introduction[edit]

This page gives instructions on updating the EBB (EiBotBoard) firmware, which may be found on your AxiDraw, EggBot, WaterColorBot, or any other machine using the EBB as its controller. In most cases when the firmware is compatible with the current version of the software that you are using, no update is necessary. However, there may be cases where updating allows you to take advantage of new features in the Inkscape extension, bug fixes, or new commands available.

Important caution: If you are experiencing difficulty connecting to the machine over USB, then please do not update its firmware until those issues are resolved.

Updater applications for Mac and Windows[edit]

For most users on Mac and Windows, the most straightforward way to update is to run one of our ready-built applications that updates the firmware to the latest major release.

As of this writing, that latest major release is version 2.6.5, and firmware updaters are available to download here for Mac and here for Windows.

For either platform, connect the EBB to your computer via USB and then run the application, which will automatically update the firmware.

For Linux, or if you need to update to a different specific version of the firmware, please follow the "Manual" updating procedures in the next section.


Manual updating with mphidflash[edit]

Besides the automatic updater applications, there are three different tools you can use to update your EBB firmware - a hardware programmer (like the PICKit2 from Microchip), Microchip's HID Bootloader application (which only runs under Windows), or the command-line mphidflash application.

Because one of the primary goals of the EBB ecosystem is to support all three OS platforms (Windows, Linux, Mac OS), this page will discuss the use of mphidflash. This application is cross platform and works identically on all three OSes.

You will need to be comfortable with a very small amount of command line work to use this tool.

Note for Linux users: The Linux version of mphidflash was developed and tested under Ubuntu. Other distributions may have additional dependencies. Additionally, this method requires an "x86" type architecture; it does not currently run on Raspberry Pi.


Procedure[edit]

  • Download the latest version of mphidflash, version 1.4 or newer. It can be found in the mphidflash repository. There is a single zip file download that has all of the source code plus a directory (or set of directories) with executables in them, one for each OS. Unpack the zip file.
  • Some hints about installing this on Ubuntu can be found here.
  • Open a command shell (terminal window) and navigate (cd) to the directory with the mphidflash executable for your OS. (For Windows users, do Start->Run then type in cmd and click OK.)
  • To test that the software is ready and working, try it out as follows:
For Linux or Mac OS type
./mphidflash -h
For Windows type
mphidflash -h
You should see the help text for mphidflash. This shows that you can run the application properly.
  • Download the EBB firmware. Easy link here.
  • To "manually" locate an EBB firmware version, look in the Eggbot Repository as "EBB_Firmware." Download the repository contents by clicking the "Download ZIP" link. Identify the particular EBB firmware "hex file" that you want to program onto your board. The EiBotBoard Firmware ZIP archive contains several slightly different versions: one for EBB version 1.1 (which shipped with clear-chassis kits in 2009), one for EBB 1.2, and one for EBB version 1.3 and higher-- correct for all more recent versions. If in doubt, use the "EBB 1.3" versions.
  • Copy the hex file to the folder that contains the mphidflash exectuable for your OS.
  • Connect your EBB to the PC with a USB cable. Plug in power to the EBB.
  • Put your EBB in 'bootloader mode' by doing one of the following:
    • Press the PRG button and hold it down while you press and release the RST button. Then release the PRG button.
    • If you are using the Inkscape based AxiDraw software, use the "Enter EBB Bootloader mode" option from the Manual tab of AxiDraw Control
    • If you are using the CLI based AxiDraw software, use the corresponding bootload option.
  • Confirm that your EBB is in bootload mode by looking at the red and green LEDs by the USB connector. They should be blinking back and forth pretty fast.
  • From the command line, type (for Linux or Mac)
./mphidflash -w EBF_v265_BL.unified.hex -r
For Windows type
mphidflash -w EBF_v265_BL.unified.hex -r
Where "EBF_v265_BL.unified.hex" is the name of the hex file that you want to program.
  • Confirm that you get a long series of dots "." on the command line, and that there are no errors. Your EBB will reset itself at the end of the programming process (that's what the '-r' does).
  • On Windows, if you have an older firmware and are updating to a relatively newer one, Windows may ask you to find a driver for the device when the EBB resets. You can install the proper windows "INF" driver by downloading and running the EggBot installer for Windows, which Installs the USB driver (the "UBW" driver) from GitHub. If Windows says the drivers are unsigned and do you want to continue, just allow it to install them.
  • After you've updated your EBB with fresh firmware, you can check to see that the new firmware was successfully programmed by opening Inkscape, going to Extensions->Eggbot..., click on the Manual tab, select "Check EBB Version" from the drop down list, and click Apply. In the little dialog box that pops up when this process is finished you should see something like "Firmware Version 2.0.2" or whatever your version number is.