diff --git a/systest/adapter_ucode_update.robot b/systest/adapter_ucode_update.robot
new file mode 100644
index 0000000..df14de6
--- /dev/null
+++ b/systest/adapter_ucode_update.robot
@@ -0,0 +1,106 @@
+*** Settings ***
+
+Documentation  Verify that the uCode can be updated on supported
+...  Non-Volatile Memory Express (NVMe) adapters on RedHat.
+
+# TEST PARAMETERS:
+#   OPENBMC_HOST                The BMC host name or IP address.
+#   OPENBMC_USERNAME            The BMC user name.
+#   OPENBMC_PASSWORD            The BMC password.
+#   OS_HOST                     The OS host name or IP address.
+#   OS_USERNAME                 The OS user name.
+#   OS_PASSWORD                 The OS Host password.
+#   ADAPTER_UCODE_URL           The url for the microcode file to be
+#                               loaded.
+#   DEVICE NAMES                A comma-seperated list containing the
+#                               names of devices to be upgraded
+#                               (e.g "nvme0n1,nvme1n1").
+#
+# Example:
+#   robot -v ADAPTER_UCODE_URL:http://someurl.com/ucode/file.img
+#   -v DEVICE_NAMES:nvme0n1,nvme1n1 adapter_ucode_update.robot
+
+Resource         ../syslib/utils_install.robot
+
+Suite Setup      Suite Setup Execution
+Test Teardown    FFDC On Test Case Fail
+
+*** Variables ***
+
+
+*** Test Cases ***
+
+Load And Activate uCode On Adapters
+    [Documentation]  Load and activate firmware on the given adapters.
+    [Tags]  Load_And_Activate_uCode_On_Adapters
+
+    Rprintn
+    # Format parms.
+    # Ensure that nvme (pci-e storage utility) tool exists.
+    ${device_names}=  Split String  ${DEVICE_NAMES}  ,
+    OS Execute Command  yes | yum install nvme-cli
+    Tool Exist  nvme
+    # Load and activate firmware on the devices.
+    :FOR  ${device_name}  in  @{device_names}
+    \  Load And Activate Firmware On Device  ${device_name}
+
+
+Reboot And Verify Code Update
+    [Documentation]  Reboot the OS and verify that the firmware update
+    ...  was successful.
+    [Tags]  Reboot_And_Verify_Code_Update
+
+    Host Reboot
+    # Reboot and verify success
+    ${stdout}  ${stderr}  ${rc}  OS Execute Command
+    ...  nvme list | grep nvme0 | awk '{print $NF'}
+    Should Contain  ${image_file_name}  ${stdout}
+    ...  msg=The code update was not successful.
+
+
+*** Keywords ***
+
+Load And Activate Firmware On Device
+    [Documentation]  Load and activate firmware on device specified.
+    [Arguments]  ${device_name}  ${image_file_name}=${image_file_name}
+
+    # Description of argument(s):
+    # device_name              The name of the NVMe device to be loaded
+    #                          and activated (e.g. "nvme0n1").
+    # image_file_name          The name of the firmware image file.
+
+    :FOR  ${slot_id}  IN RANGE  1  4
+    \  Execute Commands On Slot
+    \  ...  ${device_name}  ${slot_id}  ${image_file_name}
+
+
+Execute Commands On Slot
+    [Documentation]  Execute load and activate commands on given slot.
+    [Arguments]  ${device_name}  ${slot_id}
+    ...  ${image_file_name}=${image_file_name}
+
+    # Description of argument(s):
+    # device_name              The name of the NVMe device to be loaded
+    #                          and activated (e.g. "nvme0n1").
+    # slot_id                  The NVMe device slot id to be activated
+    #                          (e.g. "0","1", etc.).
+    # image_file_name          The name of the firmware image file.
+
+    ${stdout}  ${stderr}  ${rc}  OS Execute Command
+    ...  nvme fw-download /dev/${device_name} --fw=${image_file_name}
+    Should Contain  ${stdout}  Firmware download success
+    ...  msg=${image_file_name} could not be loaded on slot:${slot}
+    ${stdout}  ${stderr}  ${rc}  OS Execute Command
+    ...  nvme fw-activate /dev/${device_name} -a 0 -s ${slot_id}
+    Should Contain  ${stdout}  Success activating firmware
+    ...  msg=Could not activate slot:${slot_id} on ${device_name}.
+
+
+Suite Setup Execution
+    [Documentation]  Setup parms used in suite and download ucode file.
+
+    ${stdout}  ${stderr}  ${rc}=  OS Execute Command
+    ...  wget ${ADAPTER_UCODE_URL}
+    ${image_dir_path_url}  ${image_file_name}=
+    ...  Split Path  ${ADAPTER_UCODE_URL}
+    Set Global Variable  ${image_file_name}
\ No newline at end of file
