diff --git a/clever/launch/clever.launch b/clever/launch/clever.launch
index f64ace1c..95f4e2a7 100644
--- a/clever/launch/clever.launch
+++ b/clever/launch/clever.launch
@@ -10,6 +10,7 @@
+
@@ -54,6 +55,11 @@
+
+
+
+
+
diff --git a/clever/requirements.txt b/clever/requirements.txt
index 579c0031..b067ca96 100644
--- a/clever/requirements.txt
+++ b/clever/requirements.txt
@@ -1,3 +1,5 @@
flask==0.12.2
geopy==1.11.0
pymavlink==2.2.10
+smbus2==0.2.1
+VL53L1X==0.0.2
diff --git a/clever/src/vl53l1x.py b/clever/src/vl53l1x.py
new file mode 100755
index 00000000..78abfb7c
--- /dev/null
+++ b/clever/src/vl53l1x.py
@@ -0,0 +1,35 @@
+#!/usr/bin/env python
+from __future__ import division
+
+import rospy
+import VL53L1X
+from sensor_msgs.msg import Range
+
+rospy.init_node('vl53l1x')
+
+
+# range_pub = rospy.Publisher('~range', Range, queue_size=5)
+# TODO: why remmaping is not working?
+range_pub = rospy.Publisher('mavros/distance_sensor/rangefinder_3_sub', Range, queue_size=10)
+
+msg = Range()
+msg.radiation_type = Range.INFRARED
+msg.field_of_view = 0.471239
+msg.min_range = 0
+msg.max_range = 4
+msg.header.frame_id = 'rangefinder'
+
+tof = VL53L1X.VL53L1X(i2c_bus=1, i2c_address=0x29)
+tof.open() # Initialise the i2c bus and configure the sensor
+tof.start_ranging(3) # Start ranging, 1 = Short Range, 2 = Medium Range, 3 = Long Range
+
+rospy.loginfo('vl53l1x: start ranging')
+
+r = rospy.Rate(14)
+while not rospy.is_shutdown():
+ msg.header.stamp = rospy.get_rostime()
+ msg.range = tof.get_distance() / 1000
+ range_pub.publish(msg)
+ r.sleep()
+
+tof.stop_ranging() # Stop ranging