Pi3, ROS, Arduino Mega, Android R/C controller


Clipbot clipboard robot with Raspberry Pi 3 and Ros from Stewart Rap on Vimeo.


The hardware is mostly common, inexpensive Chinese components. The mini-clipboards are from Walmart. L298Ns, XT-60 & XT-30 connectors. Adjustable DC step-down converter.

  • Right-Click -> View Image to see larger.
  • Lipo = tons of amps. No worries about voltage drops. But I Wouldn't want to accidentally short it with my finger.
  • 3 L298Ns
  • One XT60 to multiple XT30s harness
  • El cheapo motors from China.
  • TP-LINK TL-WR802N (accidentally bought the Chinese language firmware one -- saved like $2 though :P)
  • Custom dupont wires :)

I love XT-30 connectors. They’re small, make a good electrical connection, and stay securely connected.

I used M2 tapping screws to secure the electronic components to the clipboards.

I made my own quality dupont wires to connect the motor controllers and the Arduino because dupont wires are generally flakey. I soldered header pins to wires and used shrink wrap and black nail polish to electically isolate them. I just soldered the other end to a pin on the motor controller.

I used a Lipo RC battery so that I could run the motors and electronics off the same battery. Safety is a concern due to the crazy amps that Lipos can put out. I power the robot with a 12 volt power supply while working on it.

3d Printed Parts

I exported these .STL files from Fusion 360 (Free for personal use). I imagine there’s a way to convert them into another format or import them into some CAD software to made adjustments.

I used m3 machine screws to attach them.

ClipbotCtrl: Remote Control Android App

This app connects to the Pi3 on the robot with SSH and sends the joystick coordinates as XML X/Y coordinates.
ClipbotCtrl on GitHub ›

clipbot_sshd: Clipbot's ssh server

This ROS project is a simple ssh daemon adapted from the sshd example bundled with libssh. It accepts connections from the above Android app and forwards the joystick input it receives to the Arduino as Twist messages via rosserial.
clipbot_sshd on GitHub ›

clipbot_arduino: The Arduino code

This Arduino code accepts Twist messages from clipbot_sshd and uses them to drive the motors.

The project uses the PlatformIO command line tools to compile and flash the Arduino but you should be able to copy/paste the code into the Arduino IDE.
clipbot_arduino on GitHub ›