Simple DS4 Manual Controller for Jetbot

A simple implementation of DUALSHOCK 4 controller for Jetbot

Installation & Implementation

  • Install Python & C++.
  • Install ROS (any version).
  • At /usr/home/”name” (“name” is arbitrary), create a ROS workspace. On terminal:
    mkdir -p ~/catkin_ws/src
  • Go to the created ROS workspace, clone the jetbot_ros repo (choose the correct path for your ROS, e.g. mine is ROS Melodic, so $DISTRO_ROS is melodic) and jetbot-ros-DS4-controller package and build them. On terminal:

    cd ~/catkin_ws/src
    git clone -b $DISTRO_ROS
    git clone [](
    cd ..
  • Install DS4 Driver for ROS.
  • Run the ROS launch file:

    source ~/catkin_ws/devel/setup.bash
    roslaunch jetbot_ds4_manual jetbot_ds4_manual.launch


To be updated


  • Use rostopic list to see available ROS topics.
  • Use rostopic echo /jetbot_motors/cmd_str to see if the messages are read.


  • To make the commands run on startup, Ubuntu users can use Startup Application (beside systemd). Open Startup Application -> Add -> Name: ROS Launch (or anything) and Command: terminator -e "bash -i -c 'sleep 3 && roslaunch jetbot_ros jetbot_motor.launch' " -> Add -> Close.


View Github