MARS ROVER USING NODEMCU(3D PRINTED)

by EDISON SCIENCE CORNER in Circuits > Electronics

164 Views, 4 Favorites, 0 Comments

MARS ROVER USING NODEMCU(3D PRINTED)

IMG_20240319_084912752-01.jpeg

A Mars rover is a remote-controlled robot designed to travel on the surface of Mars. we have seen several Mars rovers like Spirit, Opportunity, Curiosity and Perseverance. these rovers are highly designed to operate on uneven terrains. Have you ever wondered how rovers navigate the rough terrain of Mars? Their secret weapon is the ingenious rocker-bogie suspension system. I was amazed with the 6-wheel rocker-bogie system. Because of this interest, I have made a 6-wheel rocker bogie model Mars rover. The major part of this simple model is 3D printed, this rover can be controlled by a dedicated remote controller or we can use a smartphone application. We can read the data of the attached sensors (any sensors) and we can see the data through the remote controller OLED screen. The rover uses ESP12E as the brain and L293D as the motor controller. The remote controller uses the same ESP12E microcontroller. the communication between the rover and the remote is using the ESPNOW protocol. So This project is perfect for anyone interested in space exploration, robotics, or 3D printing. Now let’s see how you can build your own.


Supplies

COMPONENTS NEEDED

Here I am using mostly SMD components for building the rover and remote. you can use the same to you can use THT components(same value) if you want to build the rover without PCB.

  1. NodeMCU -2 Nos
  2. L293D motor driver-1 Nos
  3. N20 gear motors(60-100rpm)-6 Nos
  4. 3.7v li-ion Battery – 1 Nos
  5. 3.7v to 5v Booster – 1 Nos
  6. ESP12E -1 (following components are for DIY PCB)
  7. 3.3V Regulator AMS1117-1
  8. 4-pin female JST connector -1
  9. 2-pin female JST connector -3
  10. 4-pin header -1
  11. WS2812B neopixel -2
  12. pushbutton-1
  13. 10k 0805 resistor-7
  14. 330 ohm 0805 resistor-2
  15. 8050 SMD transistor -2
  16. 100nf 0805 capacitors-6
  17. type C USB connector-1

ESPNOW Communication

ESP-NOW is a communication protocol developed by Espressif Systems, the company behind the ESP8266 and ESP32 series of microcontrollers. It’s designed for low-power, peer-to-peer communication between ESP8266 and ESP32 devices, enabling efficient data exchange without the need for a traditional Wi-Fi network or internet connection. ESP-NOW provides basic security features such as message encryption to protect the transmitted data from unauthorized access. However, it’s important to note that it may not offer the same level of security as more robust protocols like WPA2 used in traditional Wi-Fi networks. In simple words, we can transmit and receive data from one ESP board to another without using any external components. By using espnow we can decrease the total cost of the project.


CIRCUIT DIAGRAM

In this circuit diagram, I have used the esp12e microcontroller as the brain. it has enough pins to control the motor and it has one analogue pin to detect the sensor data. another main reason to choose this module is because it has wifi so we can control this module by wifi and espnow communication. To control the motors I used the L293D dual channel H bridge driver, with L293D we can control two motors bi-directionally at a time. also, I added two neopixels and a battery charging module to the circuit.


PCB DESIGNING

After testing and verifying the circuit using nodemcu on a breadboard, I decided to finalise the PCB design. So I converted the circuit diagram into a PCB. I arranged all the components closely and I finished the PCB design. The PCB looks something like this after designing. after varifing the PCB design once again I downloaded the Gerber files for PCB fabrication.


PCB FABRICATION


To fabricate the designed PCBs I went to jlcpcb.com. They are the best PCB manufacturers in China. You will get 5pcbs for just 2$ and their PCB assembly starts from 0$. now they also started high-quality Multicolour silkscreen printing. After logging in to your account, Click on Order now and upload the gerber file, after that, we can select colour, quantity, thickness etc. Here I choose purple colour for my PCBs. You can choose any colour. Then we can select the shipping method and we can place the order.

After two weeks I received the PCB from jlcpcb. The quality of the fabricated PCB is awesome. The purple makes the PCBs unique

PCB ASSEMBLY

Now I grabbed all the components and started the soldering. I started with SMD components and then soldered the through-hole components. it’s very easy to solder the components on a designed PCB. I finished the soldering after 30 minutes. This is the finished PCB.

3D DESIGNING

Now I need to build the body. For that First I downloaded some models from Thingiverse. And I modified it for my rover using tinkercad. The rover is a rocker-bogie mechanism-based bot. The main body of the rover is the black rectangular structure in the centre. I am planning to enclose all the electronic parts of the rover here, including the battery. The rocker-bogie mechanism used here is the same as the actual Mars rover mechanism, which allows the rover to traverse uneven terrain. The rover has six wheels with a distinctive tread pattern, designed for traction on the Martian surface.


3D Printing

I used my flashforge adventurer 5m Pro for printing the models. I used PETG filament for the wheels and TPU for the tyres. Rest I printed with normal PLA. And my 5m pro is great for handling multiple materials. If you don’t have 3D printers you can order 3d printed parts from me. Check the description for that. download from here

I used different coloured filaments for different parts. The main body I printed using black PLA filament. The other parts I printed using orange filament. I think the Orange-Black combo makes a different and good look.

MARS ROVER BUILDING

After printing the model, first removed the support materials, and then I cleaned every part. First I inserted the N20 motors in the motor holders(refer to the above images). Then I covered the motor with a printed cover and inserted the motor wires through the stem.

I did the same for the C-shaped stem. here I inserted two motors. the wires I inserted through the stem.

now we need to join the two parts together. First I inserted the stopper on the L-shaped frame then I inserted the C frame and secured it with an M3 bolt and nut. I repeated the same process for the opposite.

Now I attached the left and right frames to the main body and secured them with nuts and bolts. I inserted the wires into the holes of the main body, so we could attach them to the PCB.

After attaching the stems to the main body I have inserted the six wheels to the six motors. Then I placed then I placed the main PCB in the main body. here I have connected the 3 motors on each side in parallel. also, I have attached a DFrobot light sensor to the analog pin of esp12e. so we can monitor the environment light. Here we can connect any sensors.

here I am using the ESPBOY remote to control the rover and monitor the light intensity. you can find the ESPBOY tutorial from here


Receiver Code

Transmitter Code

Tutorial Video

So this is the final look of our MARS rover. I have tested the rover in different terrains and everything works perfectly fine. you can watch the assembly and tutorial video from here. also, you can download the transmitter and receiver code from below. thanks