All Projects → jakkra → Mars Rover

jakkra / Mars Rover

Licence: mit
3D printed Curiosity/Perseverance inspired Rover

Projects that are alternatives of or similar to Mars Rover

Esp32 Paxcounter
Wifi & BLE driven passenger flow metering with cheap ESP32 boards
Stars: ✭ 844 (+158.1%)
Mutual labels:  arduino, esp32, wifi, lora
Perswifimanager
Persistent WiFiManager Arduino library for ESP8266
Stars: ✭ 106 (-67.58%)
Mutual labels:  arduino, esp32, wifi
Blinker Library
An IoT Solution,Blinker library for embedded hardware. Works with Arduino, ESP8266, ESP32.
Stars: ✭ 1,095 (+234.86%)
Mutual labels:  arduino, esp32, wifi
Blinker Doc
blinker中文文档
Stars: ✭ 139 (-57.49%)
Mutual labels:  arduino, esp32, wifi
Esp3d
FW for ESP8266/ESP8285/ESP32 used with 3D printer
Stars: ✭ 979 (+199.39%)
Mutual labels:  arduino, esp32, wifi
Wifisatellite
WiFi Satellite Project - as seen on the Chaos Communication Congress
Stars: ✭ 52 (-84.1%)
Mutual labels:  arduino, esp32, wifi
Marlin
Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. | Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
Stars: ✭ 12,217 (+3636.09%)
Mutual labels:  arduino, esp32, 3d-printing
Esp wifimanager
This is an ESP32 / ESP8266 WiFi Connection Manager with fallback web configuration portal. Use this library for configuring ESP32, ESP8266 modules' WiFi, etc. Credentials at runtime. You can also specify static DNS servers, personalized HostName, fixed or random AP WiFi channel. With examples supporting ArduinoJson 6.0.0+ as well as 5.13.5- .
Stars: ✭ 125 (-61.77%)
Mutual labels:  arduino, esp32, wifi
Openmqttgateway
MQTT gateway for ESP8266, ESP32, Sonoff RF Bridge or Arduino with bidirectional 433mhz/315mhz/868mhz, Infrared communications, BLE, Bluetooth, beacons detection, mi flora, mi jia, LYWSD02, LYWSD03MMC, Mi Scale, TPMS, BBQ thermometer compatibility, SMS & LORA.
Stars: ✭ 2,413 (+637.92%)
Mutual labels:  arduino, esp32, lora
Esp32marauder
A suite of WiFi/Bluetooth offensive and defensive tools for the ESP32
Stars: ✭ 233 (-28.75%)
Mutual labels:  arduino, esp32, wifi
RoverController
LoRa/WiFi remote controller for driving my rover
Stars: ✭ 87 (-73.39%)
Mutual labels:  wifi, lora, 3d-printing
Esphelper
A library to make using WiFi & MQTT on the ESP8266 easy.
Stars: ✭ 310 (-5.2%)
Mutual labels:  arduino, esp32, wifi
M5ez
Complete interface builder for the M5Stack, an ESP32 based mini tinker-computer
Stars: ✭ 260 (-20.49%)
Mutual labels:  arduino, esp32, wifi
Bleeper
Library to manage your firmware configurations written in C++
Stars: ✭ 54 (-83.49%)
Mutual labels:  arduino, esp32, wifi
Espmqttclient
Wifi and MQTT handling for ESP8266 and ESP32
Stars: ✭ 169 (-48.32%)
Mutual labels:  arduino, esp32, wifi
Low power TTGO T-beam
Low power consumption for TTGO t-beam
Stars: ✭ 45 (-86.24%)
Mutual labels:  esp32, wifi, lora
Blynk Library
Blynk library for embedded hardware. Works with Arduino, ESP8266, Raspberry Pi, Intel Edison/Galileo, LinkIt ONE, Particle Core/Photon, Energia, ARM mbed, etc.
Stars: ✭ 3,305 (+910.7%)
Mutual labels:  arduino, esp32, wifi
firmware
设备固件库,适用于IntoRobot系列产品
Stars: ✭ 19 (-94.19%)
Mutual labels:  esp32, lora
issues
Issue Tracker for ESPHome
Stars: ✭ 182 (-44.34%)
Mutual labels:  esp32, wifi
WUD-Ducky
An ESP32-S2 RubberDucky script parser, with Mouse/PenDrive support 🦆
Stars: ✭ 33 (-89.91%)
Mutual labels:  esp32, wifi

Mars Rover

Curiosity/Perseverance inspired Rover

Controller for driving the Rover found here https://github.com/jakkra/RoverController.

CAD model

The whole Fusion 360 project can be found in the CAD folder, download the .f3z file and open it in desktop Fusion 360.

Wheels

There are two options for wheeles, either original Curiosity style wheels that print in one piece. Or Mars 2020 style wheels that print in two parts where outer part can be printed in flexibale plastic such as TPU. The rover_2020_wheel_flex.f3d wheels are preferred if your printer can print in TPU as they provide way more grip.

Driving

There are 3 ways to drive the Rover right now:

  • LoRa
  • Websockets
  • Generic RC Transmitter

By moving a 3 way switch on the rover, the startup mode can be choosen; WiFi station + LoRa, LoRa only or WiFi AP (when using website hosted on the Rover, see data folder). Here is my controller supporting both LoRa and websocket control of the Rover.

Telematics

Rover will automatically send telematics data as soon as someone connects to the websocket server or over LoRa if Rover is being controlled ove LoRa.

Hardware

  • 6 12V 60 RPM DC motors, one in each wheel (https://github.com/jakkra/Mars-Rover/issues/6)
  • 2 brushless ESC's one for each side (3 motors)
  • Lots of (12, one for each servo) 12V to 5V switching voltage regulators
  • 4 servos (MG946R/MG996R) on each corner wheel to steer.
  • 6 Servos (MG946R) in the arm for 6-DOF. Poweded by a 3S battery.
  • 2 servos (MG946R/MG996R) for the head.
  • 6 Channel RC receiver and transmitter
  • 6 Motor shaft adapters https://www.pololu.com/product/1081
  • Some Round Metal Servo Arm 25T Disc Horns.
  • MCU (ESP32)
  • 3S battery
  • Standard PVC pipe with inner diameter of 23.40 mm and outer diameter 25 mm.
  • Lots of screws and bolts, mostly M3, but some M4's too.
  • Two kinds of bearings: 5x 608ZZ and 5x 25mm SKF 6005
  • Check the Fusion360 project for more details.
  • Cable madness is TODO to fix (temporary fixed by hiding it under the "lid")

Building

There is no manual, but downloading the CAD model and browsing through it should get you started. Browse through both open and closed issues for help. Feel free to open an issue if you have a question.

Images

Videos:

Driving Modes

There are three ways to drive the rover. Either using a RC controller, LoRa or from a website hosted on the ESP32. RC controller is deafult, but as soon as someone connects to the ESP32 AP and a websocket is created, the RC controller or LoRa will be overriden by the WiFi controller. The website functionality is just as basic as the RC controller right now, but the plan is to add more advanced functionality to the website which is not possible to do on the RC controller. On the RC Transmitter I use two joysticks for channels 1-4 for, and two switches for channel 5-6. Joysticks are used both for steering the Rover and for moving each axis of the arm. When switch1 is:

  • LOW: joysticks are used for driving the rover
  • MID: Wheels will be set correct angles for the rover to be able to rotate on the spot by running each side of wheels in opposite direction. The direction is descided by the steer joystick.
  • HIGH: Arm mode, the two joysticks are used for moving axis 1-4 on the arm. Switch2 is used to switch between moving axis 1-4 and axis 5-6 (the gripper). This will be changed in the future, steering each axis manually is not really a good way, inverse kinematics is TODO.

Arm

Currently arm is just pretty much mapped to controls on the Controller, this is not really useful, so TODO.

Misc

Uploading Controller page to Spiffs

pio run -t uploadfs

Decoding crashes

xtensa-esp32-elf/bin/xtensa-esp32-elf-addr2line.exe -pfiaC -e /c/Users/ijakk_000/Documents/Rover-code/.pio/build/esp-wrover-kit/firmware.elf 0x00000000:0x3ffb5c60 ...
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].