Cube Rover

by shubham_bhatt in Circuits > Arduino

4202 Views, 62 Favorites, 0 Comments

Cube Rover

DSC00052.jpeg
Cube rover next generation of space robots

Cube rovers are a new class of planetary rovers that are affordable and easy to build. If humans are to become a multi-planetary species we will need an affordable and scalable option to move stuff around on other planets. 

The cube rover class concept is being developed by Astrobotic Technology in partnership with Carnegie Mellon University, and it is partly funded by NASA awards.

Astrobotic Technology is an American privately held company that is developing space robotics technology for lunar and planetary missions. In 2018 they shared a testing video of their cube rover, I was inspired by this and decided to build a 3d printed version of it.  

Supplies

DSC00126.JPG
  1. Node MCU
  2. 2 X 18650 L-ion battery
  3. 18650 Battey holder
  4. 2 X N20 DC motor 6V
  5. 3D printed parts
  6. Wifi camera(optional)
  7. Node MCU motor driver shield

Assembly

Screenshot 2022-07-22 184602.png
Screenshot_20221130_025410.png

The full project is 3d printed and files can be downloaded from grabcad. I did not make any assembly video because there are only a very parts. Please use the explode feature on grabcad to see which part goes where.

Cad and 3D printing files

Circuit and Power

Screenshot 2022-07-22 185823.png
FRUEYIHJBQU4BPU.jpg

I hate soldering so I used Node MCU motor shield. There is no soldering required. The motor shield has separate power channels for the motor and node MCU if you want to power the motor separately.

The motor shield had only two connection ports but we have four motors so we are going to share. Join left side motors in one connection and right side motors in the other. Motors should be connected in parallel.

For power, I am using 2 X Li-ion batteries. The motor shield already has a power input slot so you don't have to worry about anything. Make sure you connect the batteries with the correct polarity motor shield has a marking telling you which is + and -.

Please use this user manual to understand how the motor shield works.

Motor shield

Explaining the Code

These are the motor pins you cannot change. In case you want to add more sensors use other pins

#define motorb_pwm D2 // Motor B
#define motorb_dir D4
#define motorA_pwm D1 // Motor A
#define motora_dir D3

This variable controls the forward and backward speed of the rover. It can range from 0-1023

int drivePower = 600;

This variable tells us the turning speed 

int steeringPower = 600;

This is the port number if you change this please type the same value in the browser when counting to the bot after the IP address. 

ESP8266WebServer server(80);


Download the code from Github

Controlling the Rover

Screenshot 2022-07-22 185846.png

Once the rover is turned on it will try to connect to a hotspot predefined in the code. 

The default is "test" but you can change it in the code. 

// ----------------
// Set your WiFi SSID and Password here
// ----------------
const char* ssid = "test";
const char* password = "test1234";

You have to make a hotspot on your mobile device with the same name and password that you set in the code. Otherwise, the bot will keep on searching and never find your device to connect.

Once the bit has connected to your device find out the IP address of the bot by going into the wifi setting on your phone. Your phone will show the IP address of all the connected devices. If you don't see it there it means the bot has not connected your Wifi name and the password might be wrong.

Once everything is connected go to any web browser on your phone and type the IP address and port number (which is 80) of the bot. You should see the control page like this.

For example, if your IP address is 192.168.176.21 you will type this in your browser

192.168.176.21:80

Now we are done :).

The video feed you are seeing on the screen from a wifi camera that I bought a long time ago. It's not available now so I did not include it in this tutorial. If you still want a video feed you can buy any of the cheap wifi spy cameras they all work the same. The camera will come with an app you can connect to the camera and once you get the live feed you can overlay it on the control page. 

I have done this before with another project of mine please see this video. Again camera is optional. Please let me if you want me to build a better version of it :)