FrontPanel Components

FrontPanel System Components

There are four primary components to a complete Opal Kelly FrontPanel system as well as a fifth standalone application.

  • FrontPanel Platform – A standalone application to configure FrontPanel modules and provide an application runtime environment. Previously, FrontPanel Classic provided basic UI development with XML user interface controls.
  • FrontPanel Firmware (FW) – This is the firmware that resides on the XEM module and is executed by the USB microcontroller. Note that this is not to be confused with the “code” inside the FPGA. This firmware may only be upgraded by the FrontPanel Platform.
  • FrontPanel Gateware – HDL modules incorporated into your FPGA design. These are the files you use to add FrontPanel support to your design. They enable your hardware design to communicate through the USB microcontroller and API to your software on the PC.
  • FrontPanel API – The FrontPanel API is the PC-side of the equation. This involves the library your software will interface to in order to communicate with the Opal Kelly hardware. Since this is the most flexible component, the API is generally backward compatible with older FrontPanel firmware versions.
  • FrontPanel Driver – The FrontPanel driver (Windows-only) is the driver that is installed and associated with the Opal Kelly USB device. It communicates with the FrontPanel API.

FrontPanel SDK Releases

There have been several versions of the FrontPanel SDK released. These have involved some combination of updates of the FrontPanel components. For best results, we recommend keeping a snapshot of the materials that shipped with your board and using that for development since this collection is guaranteed to be compatible at all levels. Upgrades should be performed carefully to make sure you can update all components as required.

For more information, please visit the FrontPanel SDK Release Notes.

  • FrontPanel 6 – Our current release includes the FrontPanel Platform for browser-based development and application deployment as well as support for our latest USB Gen 3 (with AXI gateware host interface) devices.
  • FrontPanel 5 – The last and final release of the FrontPanel Classic application. Latest Release: FrontPanel 5.3.6, Q4’2024
  • FrontPanel 4 (deprecated) – Built to include support for PCI Express devices. Last Release: FrontPanel 4.5.6, Q4’2016
  • FrontPanel 3 (deprecated) – Greatly improved performance updates for our original USB Gen 1 devices and, later, support for 64-bit operating systems. Last Release: FrontPanel 3.1.6, Q3’2010
  • FrontPanel 1 (deprecated) – The O.G. multi-platform, multi-language development system for approachable host-to-FPGA communication. Last Release: FrontPanel 1.4.1, Q4’2006

FrontPanel Driver Version

There are two primary USB driver versions for Windows. It is not possible to have both drivers installed at the same time. Linux and Mac OS X do not require a separate driver because the API is able to communicate with the device without one.

FrontPanel 3.1.x and Later

This is the latest WinUSB-based driver. It supports Windows XP, Vista, and 7 in both 32-bit and 64-bit architectures. This driver is required for 3.1.x and later releases. When an Opal Kelly device is attached and using this driver, the device will appear in the “FrontPanel devices” group in Device Manager.

FrontPanel 3.0.x and Earlier

This is an older driver. It supported Windows XP (32-bit). Devices using this driver are listed in Device Manager under the “Universal Serial Bus controllers” group. This driver does not support 64-bit operating systems. This driver does not support 3.1.x or later APIs.

FrontPanel Firmware Versions

Please see our FrontPanel Firmware page for more information.

FrontPanel HDL Versions

Unfortunately, FrontPanel HDL versions are not versioned in the precompiled modules. You can only reliably identify them by knowing which version of FrontPanel sourced the HDL modules used to compile your FPGA bitfile.

It may be a good idea for you to build a firmware version into your FPGA application as a static WireOut that your software can read.