diff --git a/CMakeLists.txt b/CMakeLists.txt
index cc1d54f40442c629394a0312e60a3333131b5d8b..811ee62f73d8699e40db3f0e3d8e6d9d0122f8b3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,35 +1,20 @@
-cmake_minimum_required(VERSION 2.4.6)
-include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
-
-set(PROJECT_NAME firewire_camera_driver_node)
-set(NODELET_PROJECT_NAME firewire_camera_driver_nodelet)
-
-# Set the build type.  Options are:
-#  Coverage       : w/ debug symbols, w/o optimization, w/ code-coverage
-#  Debug          : w/ debug symbols, w/o optimization
-#  Release        : w/o debug symbols, w/ optimization
-#  RelWithDebInfo : w/ debug symbols, w/ optimization
-#  MinSizeRel     : w/o debug symbols, w/ optimization, stripped binaries
-#set(ROS_BUILD_TYPE RelWithDebInfo)
-
-rosbuild_init()
-
-#set the default path for built executables to the "bin" directory
-set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
-#set the default path for built libraries to the "lib" directory
-set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
-
-#uncomment if you have defined messages
-#rosbuild_genmsg()
-#uncomment if you have defined services
-#rosbuild_gensrv()
-
-# added to include support for dynamic reconfiguration
-rosbuild_find_ros_package(dynamic_reconfigure)
-include(${dynamic_reconfigure_PACKAGE_PATH}/cmake/cfgbuild.cmake)
-gencfg()
-# end dynamic reconfiguration
+cmake_minimum_required(VERSION 2.8.3)
+project(iri_firewire_camera)
 
+## Find catkin macros and libraries
+find_package(catkin REQUIRED)
+# ******************************************************************** 
+#                 Add catkin additional components here
+# ******************************************************************** 
+find_package(catkin REQUIRED COMPONENTS sensor_msgs image_transport camera_info_manager nodelet iri_base_driver)
+
+## System dependencies are found with CMake's conventions
+# find_package(Boost REQUIRED COMPONENTS system)
+
+# ******************************************************************** 
+#           Add system and labrobotica dependencies here
+# ******************************************************************** 
+# find_package(<dependency> REQUIRED)
 FIND_PACKAGE(iriutils REQUIRED)
 FIND_PACKAGE(firewire REQUIRED)
 
@@ -44,14 +29,103 @@ IF (raw1394_INCLUDE_DIR AND raw1394_LIBRARY AND dc1394_INCLUDE_DIR AND dc1394_LI
    SET(firewire_ready TRUE)
 ENDIF (raw1394_INCLUDE_DIR AND raw1394_LIBRARY AND dc1394_INCLUDE_DIR AND dc1394_LIBRARY)
 
-INCLUDE_DIRECTORIES(${iriutils_INCLUDE_DIR} ${dc1394_INCLUDE_DIR} ${raw1394_INCLUDE_DIR} ${firewire_INCLUDE_DIR} ./include)
+# ******************************************************************** 
+#           Add topic, service and action definition here
+# ******************************************************************** 
+## Generate messages in the 'msg' folder
+# add_message_files(
+#   FILES
+#   Message1.msg
+#   Message2.msg
+# )
+
+## Generate services in the 'srv' folder
+# add_service_files(
+#   FILES
+#   Service1.srv
+#   Service2.srv
+# )
+
+## Generate actions in the 'action' folder
+# add_action_files(
+#   FILES
+#   Action1.action
+#   Action2.action
+# )
+
+## Generate added messages and services with any dependencies listed here
+# generate_messages(
+#   DEPENDENCIES
+#   std_msgs  # Or other packages containing msgs
+# )
+
+# ******************************************************************** 
+#                 Add the dynamic reconfigure file 
+# ******************************************************************** 
+generate_dynamic_reconfigure_options(cfg/FirewireCamera.cfg)
+
+# ******************************************************************** 
+#                 Add run time dependencies here
+# ******************************************************************** 
+catkin_package(
+#  INCLUDE_DIRS 
+#  LIBRARIES 
+# ******************************************************************** 
+#            Add ROS and IRI ROS run time dependencies
+# ******************************************************************** 
+  CATKIN_DEPENDS sensor_msgs image_transport camera_info_manager nodelet iri_base_driver
+# ******************************************************************** 
+#      Add system and labrobotica run time dependencies here
+# ******************************************************************** 
+  DEPENDS iriutils raw1394 dc1394
+)
+
+###########
+## Build ##
+###########
+
+# ******************************************************************** 
+#                   Add the include directories 
+# ******************************************************************** 
+include_directories(include)
+include_directories(${catkin_INCLUDE_DIRS})
+include_directories(${iriutils_INCLUDE_DIR})
+include_directories(${firewire_INCLUDE_DIR})
+include_directories(${raw1394_INCLUDE_DIR})
+include_directories(${dc1394_INCLUDE_DIR})
+
+## Declare a cpp library
+add_library(${PROJECT_NAME}_nodelet src/firewire_camera_driver_nodelet.cpp src/firewire_camera_driver.cpp)
+# add_library(${PROJECT_NAME} <list of source files>)
+
+## Declare a cpp executable
+add_executable(${PROJECT_NAME} src/firewire_camera_driver.cpp src/firewire_camera_driver_node.cpp)
+
+# ******************************************************************** 
+#                   Add the libraries
+# ******************************************************************** 
+target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES})
+target_link_libraries(${PROJECT_NAME} ${iriutils_LIBRARY})
+target_link_libraries(${PROJECT_NAME} ${firewire_LIBRARY})
+target_link_libraries(${PROJECT_NAME} ${raw1394_LIBRARY})
+target_link_libraries(${PROJECT_NAME} ${dc1394_LIBRARY})
+
+target_link_libraries(${PROJECT_NAME}_nodelet ${catkin_LIBRARIES})
+target_link_libraries(${PROJECT_NAME}_nodelet ${iriutils_LIBRARY})
+target_link_libraries(${PROJECT_NAME}_nodelet ${firewire_LIBRARY})
+target_link_libraries(${PROJECT_NAME}_nodelet ${raw1394_LIBRARY})
+target_link_libraries(${PROJECT_NAME}_nodelet ${dc1394_LIBRARY})
+# ******************************************************************** 
+#               Add message headers dependencies 
+# ******************************************************************** 
+# add_dependencies(${PROJECT_NAME} <msg_package_name>_cpp)
+# ******************************************************************** 
+#               Add dynamic reconfigure dependencies 
+# ******************************************************************** 
+add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS})
 
-#common commands for building c++ executables and libraries
-rosbuild_add_library(${NODELET_PROJECT_NAME} src/firewire_camera_driver_nodelet.cpp src/firewire_camera_driver.cpp)
-#target_link_libraries(${PROJECT_NAME} another_library)
-#rosbuild_add_boost_directories()
-#rosbuild_link_boost(${PROJECT_NAME} thread)
-rosbuild_add_executable(${PROJECT_NAME} src/firewire_camera_driver.cpp src/firewire_camera_driver_node.cpp)
+## Specify libraries to link a library or executable target against
+# target_link_libraries(foo_node
+#   ${catkin_LIBRARIES}
+# )
 
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${dc1394_LIBRARY} ${raw1394_LIBRARY} ${firewire_LIBRARY} ${iriutils_LIBRARY})
-TARGET_LINK_LIBRARIES(${NODELET_PROJECT_NAME} ${dc1394_LIBRARY} ${raw1394_LIBRARY} ${firewire_LIBRARY} ${iriutils_LIBRARY})
diff --git a/cfg/firewire_camera_driver_config.cfg b/cfg/FirewireCamera.cfg
similarity index 98%
rename from cfg/firewire_camera_driver_config.cfg
rename to cfg/FirewireCamera.cfg
index dcf659df7647830e95703fe72e1d2e4257ab9ebc..18fdb0700476ac902f6938a593a6163ba8530499 100755
--- a/cfg/firewire_camera_driver_config.cfg
+++ b/cfg/FirewireCamera.cfg
@@ -32,10 +32,9 @@
 # Author: 
 
 PACKAGE='iri_firewire_camera'
-import roslib; roslib.load_manifest(PACKAGE)
 
 from driver_base.msg import SensorLevels
-from dynamic_reconfigure.parameter_generator import *
+from dynamic_reconfigure.parameter_generator_catkin import *
 
 gen = ParameterGenerator()
 
diff --git a/manifest.xml b/manifest.xml
deleted file mode 100644
index fc47a7d8c605d15d9996e5dd3d1adaf795bc6014..0000000000000000000000000000000000000000
--- a/manifest.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<package>
-  <description brief="iri_firewire_camera">
-
-     iri_firewire_camera
-
-  </description>
-  <author>Sergi Hernandez Juan</author>
-  <license>LGPL</license>
-  <review status="unreviewed" notes=""/>
-  <url>http://ros.org/wiki/iri_firewire_camera</url>
-  <depend package="roscpp"/>
-  <depend package="iri_base_driver"/>
-  <depend package="sensor_msgs"/>
-  <depend package="image_transport"/>
-  <depend package="camera_info_manager"/>
-  <depend package="nodelet"/>
-  
-  <export>
-    <nodelet plugin="${prefix}/firewire_nodelet_plugin.xml"/>
-    <cpp cflags="-I${prefix}/include"
-         lflags="-Wl,-rpath,${prefix}/lib -L${prefix}/lib -liri_base_driver"/>
-  </export>
-
-</package>
-
-
diff --git a/package.xml b/package.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c82d03db414a7f001542b53c40bc8a938b2d594b
--- /dev/null
+++ b/package.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0"?>
+<package>
+  <name>iri_firewire_camera</name>
+  <version>1.0.0</version>
+  <description>Firewire camera driver</description>
+
+  <!-- One maintainer tag required, multiple allowed, one person per tag --> 
+  <!-- Example:  -->
+  <maintainer email="shernand@iri.upc.edu">Sergi Hernandez</maintainer>
+  <maintainer email="labrobotica@iri.upc.edu">labrobotica</maintainer>
+
+  <!-- One license tag required, multiple allowed, one license per tag -->
+  <!-- Commonly used license strings: -->
+  <!--   BSD, MIT, Boost Software License, GPLv2, GPLv3, LGPLv2.1, LGPLv3 -->
+  <license>BSD</license>
+
+  <!-- Url tags are optional, but mutiple are allowed, one per tag -->
+  <!-- Optional attribute type can be: website, bugtracker, or repository -->
+  <!-- Example: -->
+  <url type="website">http://wiki.ros.org/iri_firewire_camera</url>
+
+  <!-- Author tags are optional, mutiple are allowed, one per tag -->
+  <!-- Authors do not have to be maintianers, but could be -->
+  <!-- Example: -->
+  <author email="shernand@iri.upc.edu">Sergi Hernandez</author>
+
+  <!-- The *_depend tags are used to specify dependencies -->
+  <!-- Dependencies can be catkin packages or system dependencies -->
+  <!-- ****************************************************************** -->
+  <!--                 Place build dependencies here                      -->
+  <!-- ****************************************************************** -->
+  <!--   <build_depend>message_generation</build_depend> -->
+  <build_depend>iriutils</build_depend>
+  <build_depend>firewire</build_depend>
+  <build_depend>raw1394</build_depend>
+  <build_depend>dc1394</build_depend>
+  <build_depend>iri_base_driver</build_depend>
+  <build_depend>sensor_msgs</build_depend>
+  <build_depend>image_transport</build_depend>
+  <build_depend>camera_info_manager</build_depend>
+  <build_depend>nodelet</build_depend>
+
+  <!-- ****************************************************************** -->
+  <!--                   Place run dependencies here                      -->
+  <!-- ****************************************************************** -->
+  <!--   <run_depend>message_runtime</run_depend> -->
+  <run_depend>iriutils</run_depend>
+  <run_depend>firewire</run_depend>
+  <run_depend>raw1394</run_depend>
+  <run_depend>dc1394</run_depend>
+  <run_depend>iri_base_driver</run_depend>
+  <run_depend>sensor_msgs</run_depend>
+  <run_depend>image_transport</run_depend>
+  <run_depend>camera_info_manager</run_depend>
+  <run_depend>nodelet</run_depend>
+
+  <!-- Use test_depend for packages you need only for testing: -->
+  <!--   <test_depend>gtest</test_depend> -->
+  <buildtool_depend>catkin</buildtool_depend>
+
+  <!-- The export tag contains other, unspecified, tags -->
+  <export>
+    <!-- Other tools can request additional information be placed here -->
+  </export>
+</package>