diff --git a/lib/fan_utils.robot b/lib/fan_utils.robot
new file mode 100755
index 0000000..7eb9ad7
--- /dev/null
+++ b/lib/fan_utils.robot
@@ -0,0 +1,83 @@
+*** Settings ***
+Documentation     Utilities for fan tests.
+
+Library       ../lib/bmc_ssh_utils.py
+Variables     ../data/variables.py
+
+*** Keywords ***
+
+
+Is Water Cooled
+    [Documentation]  Return 1 if system is water cooled, 0 othersise.
+
+    ${water_cooled}=  Read Attribute
+    ...  ${HOST_INVENTORY_URI}/system/chassis  WaterCooled
+    [Return]  ${water_cooled}
+
+
+Get Number Of Fans
+    [Documentation]  Get the number of fans currently present in inventory.
+
+    ${num_fans}  Set Variable  ${0}
+    ${fan_uris}=  Get Endpoint Paths  ${HOST_INVENTORY_URI}/system  fan
+
+    : FOR  ${fan_uri}  IN  @{fan_uris}
+    \  ${fan_record}=  Read Properties  ${fan_uri}
+    \  Continue For Loop If  ${fan_record['Present']} != 1
+    \  ${num_fans}=  Set Variable  ${num_fans+1}
+    [Return]  ${num_fans}
+
+
+Verify Minimum Number Of Fans With Cooling Type
+    [Documentation]  Verify minimum number of fans.
+    [Arguments]  ${water_cooled}
+
+    # Description of argument(s):
+    # water_cooled   The value 1 if the system is water cooled,
+    #                the value 0 if air cooled.
+
+    # For a water cooled system.
+    ${min_fans_water}=  Set Variable  2
+
+    # For an air cooled system.
+    ${min_fans_air}=  Set Variable  3
+
+    ${num_fans}=  Get Number Of Fans
+
+    Rprintn
+    Rpvars  water_cooled  num_fans
+
+    # If water cooled must have at least min_fans_water fans, otherwise
+    # issue Fatal Error and terminate testing.
+    Run Keyword If  ${water_cooled} == 1 and ${num_fans} < ${min_fans_water}
+    ...  Fatal Error
+    ...  msg=Water cooled but less than ${min_fans_water} fans present.
+
+    # If air cooled must have at least min_fans_air fans.
+    Run Keyword If  ${water_cooled} == 0 and ${num_fans} < ${min_fans_air}
+    ...  Fatal Error
+    ...  msg=Air cooled but less than ${min_fans_air} fans present.
+
+
+Verify Fan Monitors With State
+    [Documentation]  Verify fan monitor daemons in the system state.
+    # The number of monitoring daemons is dependent upon the system
+    # power state.  If power is off there should be 0, if power
+    # is on there should be several.
+    [Arguments]  ${power_state}
+
+    # Description of argument(s):
+    # power_state   Power staet of the system, either "On" or "Off"
+
+    ${cmd}=  Catenate  systemctl list-units | grep phosphor-fan | wc -l
+    ${num_fan_daemons}  ${stderr}  ${rc}=  BMC Execute Command  ${cmd}
+
+    Rpvars  power_state  num_fan_daemons
+
+    # Fail if system is On and there are no fan monitors.
+    Run Keyword If  '${power_state}' == 'On' and ${num_fan_daemons} == 0
+    ...  Fail  msg=No phosphor-fan monitors found at power on.
+
+    # Fail if system is Off and the fan monitors are present.
+    Run Keyword If  '${power_state}' == 'Off' and ${num_fan_daemons} != 0
+    ...  Fail  msg=Phosphor-fan monitors found at power off.
diff --git a/tests/test_fans.robot b/tests/test_fans.robot
new file mode 100755
index 0000000..98fc7ba
--- /dev/null
+++ b/tests/test_fans.robot
@@ -0,0 +1,36 @@
+*** Settings ***
+
+Documentation  Fan checks.
+
+# Test Parameters:
+# OPENBMC_HOST       The BMC host name or IP address.
+# OPENBMC_USERNAME   The userID for the BMC login.
+# OPENBMC_PASSWORD   The password for OPENBMC_USERNAME.
+#
+# Approximate run time:  15 seconds.
+
+Resource         ../lib/state_manager.robot
+Resource         ../lib/fan_utils.robot
+Resource         ../lib/openbmc_ffdc.robot
+
+Test Teardown    FFDC On Test Case Fail
+
+
+*** Test Cases ***
+
+Fan Base Check Number Of Fans
+    [Documentation]  Verify minimum number of fans.
+    [Tags]  Fan_Base_Check_Number_Of_Fans
+
+    # Determine if system is water cooled.
+    ${water_coooled}=  Is Water Cooled
+
+    Verify Minimum Number Of Fans With Cooling Type  ${water_coooled}
+
+
+Fan Base Check Number Of Fan Monitors
+    [Documentation]  Verify number of fan monitor daemons.
+    [Tags]  Fan_Base_Check_Number_Of_Fan_Monitors
+
+    ${power_state}=  Get Chassis Power State
+    Verify Fan Monitors With State  ${power_state}
