diff --git a/Tools/ros2/ardupilot_dds_tests/.flake8 b/Tools/ros2/ardupilot_dds_tests/.flake8
deleted file mode 100644
index b79f25fa41..0000000000
--- a/Tools/ros2/ardupilot_dds_tests/.flake8
+++ /dev/null
@@ -1,10 +0,0 @@
-[flake8]
-# Match black line length (default 88).
-max-line-length = 88
-# Match black configuration where there are conflicts.
-extend-ignore = 
-  # Q000: Double quotes found but single quotes preferred
-  Q000,
-  # W503: Line break before binary operator
-  W503
-
diff --git a/Tools/ros2/ardupilot_dds_tests/package.xml b/Tools/ros2/ardupilot_dds_tests/package.xml
index 8e21f9ed4b..7b44fbffdc 100644
--- a/Tools/ros2/ardupilot_dds_tests/package.xml
+++ b/Tools/ros2/ardupilot_dds_tests/package.xml
@@ -17,9 +17,12 @@
   <exec_depend>rclpy</exec_depend>
   <exec_depend>socat</exec_depend>
 
+  <test_depend>ament_black</test_depend>
   <test_depend>ament_copyright</test_depend>
-  <test_depend>ament_flake8</test_depend>
   <test_depend>ament_pep257</test_depend>
+  <test_depend>ament_uncrustify</test_depend>
+  <test_depend>ament_xmllint</test_depend>
+  <test_depend>ament_lint_auto</test_depend>
   <test_depend>ardupilot_sitl</test_depend>
   <test_depend>launch</test_depend>
   <test_depend>launch_pytest</test_depend>
diff --git a/Tools/ros2/ardupilot_dds_tests/test/test_flake8.py b/Tools/ros2/ardupilot_dds_tests/test/test_flake8.py
deleted file mode 100644
index 17771247a5..0000000000
--- a/Tools/ros2/ardupilot_dds_tests/test/test_flake8.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2017 Open Source Robotics Foundation, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-"""Test Python files satisfy the flake8 linter requirements."""
-from ament_flake8.main import main_with_errors
-import pytest
-
-
-@pytest.mark.flake8
-@pytest.mark.linter
-def test_flake8():
-    """flake8 test case."""
-    rc, errors = main_with_errors(argv=[])
-    assert rc == 0, "Found %d code style errors / warnings:\n" % len(
-        errors
-    ) + "\n".join(errors)
diff --git a/Tools/ros2/ardupilot_msgs/CMakeLists.txt b/Tools/ros2/ardupilot_msgs/CMakeLists.txt
index 5a56bd31cc..8096431370 100644
--- a/Tools/ros2/ardupilot_msgs/CMakeLists.txt
+++ b/Tools/ros2/ardupilot_msgs/CMakeLists.txt
@@ -18,6 +18,11 @@ rosidl_generate_interfaces(${PROJECT_NAME}
 
 ament_export_dependencies(rosidl_default_runtime)
 
+if(BUILD_TESTING)
+  find_package(ament_lint_auto REQUIRED)
+  ament_lint_auto_find_test_dependencies()
+endif()
+
 # --------------------------------------------------------------------------- #
 # Call last.
 
diff --git a/Tools/ros2/ardupilot_msgs/package.xml b/Tools/ros2/ardupilot_msgs/package.xml
index b2286616eb..08e92bf1df 100644
--- a/Tools/ros2/ardupilot_msgs/package.xml
+++ b/Tools/ros2/ardupilot_msgs/package.xml
@@ -13,8 +13,9 @@
 
   <exec_depend>rosidl_default_runtime</exec_depend>
 
+  <test_depend>ament_cmake_copyright</test_depend>
+  <test_depend>ament_cmake_xmllint</test_depend>
   <test_depend>ament_lint_auto</test_depend>
-  <test_depend>ament_lint_common</test_depend>
 
   <member_of_group>rosidl_interface_packages</member_of_group>
 
diff --git a/Tools/ros2/ardupilot_sitl/.flake8 b/Tools/ros2/ardupilot_sitl/.flake8
deleted file mode 100644
index b79f25fa41..0000000000
--- a/Tools/ros2/ardupilot_sitl/.flake8
+++ /dev/null
@@ -1,10 +0,0 @@
-[flake8]
-# Match black line length (default 88).
-max-line-length = 88
-# Match black configuration where there are conflicts.
-extend-ignore = 
-  # Q000: Double quotes found but single quotes preferred
-  Q000,
-  # W503: Line break before binary operator
-  W503
-
diff --git a/Tools/ros2/ardupilot_sitl/CMakeLists.txt b/Tools/ros2/ardupilot_sitl/CMakeLists.txt
index 9d40ea746d..4b50d602da 100644
--- a/Tools/ros2/ardupilot_sitl/CMakeLists.txt
+++ b/Tools/ros2/ardupilot_sitl/CMakeLists.txt
@@ -88,9 +88,6 @@ ament_python_install_package(${PROJECT_NAME}
 # build tests
 
 if(BUILD_TESTING)
-  # Override default flake8 configuration.
-  set(ament_cmake_flake8_CONFIG_FILE ${CMAKE_SOURCE_DIR}/.flake8)
-
   # Add linters.
   find_package(ament_lint_auto REQUIRED)
   ament_lint_auto_find_test_dependencies()
diff --git a/Tools/ros2/ardupilot_sitl/package.xml b/Tools/ros2/ardupilot_sitl/package.xml
index 2c3a375695..d0851a191e 100644
--- a/Tools/ros2/ardupilot_sitl/package.xml
+++ b/Tools/ros2/ardupilot_sitl/package.xml
@@ -13,9 +13,15 @@
 
   <exec_depend>micro_ros_agent</exec_depend>
 
-  <test_depend>ament_cmake_pytest</test_depend>
   <test_depend>ament_lint_auto</test_depend>
-  <test_depend>ament_lint_common</test_depend>
+  <test_depend>ament_cmake_black</test_depend>
+  <test_depend>ament_cmake_copyright</test_depend>
+  <test_depend>ament_cmake_lint_cmake</test_depend>
+  <test_depend>ament_cmake_pep257</test_depend>
+  <test_depend>ament_cmake_pytest</test_depend>
+  <test_depend>ament_cmake_uncrustify</test_depend>
+  <test_depend>ament_cmake_xmllint</test_depend>
+
 
   <export>
     <build_type>ament_cmake</build_type>