         }
     }
 
+    // Temperature.
+    if (arduino_temperature_sensor.get_and_clear_changed() || force_sensors) {
+        float_msg.data = arduino_temperature_sensor.temperature.get();
+        arduino_temperature_publisher.publish(&float_msg);
+    }
+
     // Motion controller.
     motion_controller.update();
     if (motion_controller.a_encoder.get_and_clear_changed() || force_sensors) {

ros::Publisher imu_calibration_gyr_publisher = ros::Publisher("imu/calibration/gyr", &int16_msg);
ros::Publisher imu_calibration_acc_publisher = ros::Publisher("imu/calibration/acc", &int16_msg);
ros::Publisher imu_calibration_mag_publisher = ros::Publisher("imu/calibration/mag", &int16_msg);

/*
 * End publisher definitions.

    nh.advertise(imu_calibration_gyr_publisher);
    nh.advertise(imu_calibration_acc_publisher);
    nh.advertise(imu_calibration_mag_publisher);
    nh.advertise(arduino_temperature_publisher);

    // Join I2C bus as Master with address #1
    Wire.begin(1);
