All Projects → jakkra → RoverController

jakkra / RoverController

Licence: MIT license
LoRa/WiFi remote controller for driving my rover

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to RoverController

Mars Rover
3D printed Curiosity/Perseverance inspired Rover
Stars: ✭ 327 (+275.86%)
Mutual labels:  wifi, lora, 3d-printing
ESP32 IMU BARO GPS VARIO
GPS altimeter/variometer with LCD display, routes with waypoints, data/gps track logging, bluetooth NMEA sentence transmission, wifi AP + webpage configuration
Stars: ✭ 72 (-17.24%)
Mutual labels:  wifi, esp-idf
esp32-epaper-display
Server and software to use an ESP32 as a connected display
Stars: ✭ 73 (-16.09%)
Mutual labels:  esp-idf, esp32-idf
wireless-esp8266-dap
ESP8266 Wireless Debugger. Based on CMSIS-DAP v2.0.0. Optional 40MHz SPI acceleration, etc. ESP8266 无线调试器
Stars: ✭ 154 (+77.01%)
Mutual labels:  wifi, esp-idf
Low power TTGO T-beam
Low power consumption for TTGO t-beam
Stars: ✭ 45 (-48.28%)
Mutual labels:  wifi, lora
esp32-ota
ESP32 OTA based on ThingsBoard Open-source IoT Platform
Stars: ✭ 45 (-48.28%)
Mutual labels:  esp-idf, esp32-idf
blackmagic-espidf
Blackmagic Wireless SWD Debug probe hosted on esp-idf SDK (for ESP8266) with UART on Telnet port and HTTP using xterm.js
Stars: ✭ 165 (+89.66%)
Mutual labels:  wifi, esp-idf
Gesture-Detecting-Macro-Keyboard
Glorified Bluetooth macro keyboard with machine learning (TensorFlow Lite for Microcontrollers) running on an ESP32.
Stars: ✭ 68 (-21.84%)
Mutual labels:  esp-idf, 3d-printing
Esp32 Paxcounter
Wifi & BLE driven passenger flow metering with cheap ESP32 boards
Stars: ✭ 844 (+870.11%)
Mutual labels:  wifi, lora
Marquee Scroller
Marquee Scroller Clock News Weather and More
Stars: ✭ 211 (+142.53%)
Mutual labels:  wifi, 3d-printing
low-power-wifi
Experiments in low-power-wifi on esp8266, esp32, and ...
Stars: ✭ 35 (-59.77%)
Mutual labels:  wifi, esp32-idf
Wled Wemos Shield
Wemos D1 Mini (ESP8266) or Wemos ESP32 D1 Mini (ESP32) based shield for WLED firmware
Stars: ✭ 105 (+20.69%)
Mutual labels:  controller, wifi
Morpheus Stm32
A small 3D printer controller board for use with a "blue pill" STM32F1 generic board. Inspired on http://reprap.org/wiki/SinapTec
Stars: ✭ 49 (-43.68%)
Mutual labels:  controller, 3d-printing
Pedalino
Smart wireless MIDI foot controller for guitarists and more.
Stars: ✭ 105 (+20.69%)
Mutual labels:  controller, wifi
deneyapkart-arduino-core
Arduino Core for Deneyap DevKits
Stars: ✭ 39 (-55.17%)
Mutual labels:  wifi
BlynkGSM Manager
Simple GSM shield Manager for Blynk and ESP32 / ESP8266 boards, with or without SSL, configuration data saved in SPIFFS / EEPROM. This library enables user to include both Blynk GSM/GPRS and WiFi libraries in one sketch, run both WiFi and GSM/GPRS simultaneously, or select one to use at runtime after reboot.
Stars: ✭ 19 (-78.16%)
Mutual labels:  wifi
hfeasy
HFeasy - firmware for HF-LPx100/LPx30 based devices
Stars: ✭ 35 (-59.77%)
Mutual labels:  wifi
esp32 mmd
esp32でmmd
Stars: ✭ 93 (+6.9%)
Mutual labels:  esp-idf
esp-idf-zh
ESP-IDF 中文文档
Stars: ✭ 102 (+17.24%)
Mutual labels:  esp-idf
UPnP Generic
A simple library that implements port mappings to router using UPnP SSDP for Arduino boards, running on nRF52, SAMD21/SAMD51, STM32F/L/H/G/WB/MP1, Teensy, RP2040-based boards, WT32_ETH01, Portenta_H7, etc. besides ESP8266/ESP32, using ESP WiFi, WiFiNINA, Ethernet W5x00, ESP8266/ESP32 AT-command WiFi, Portenta_H7 Murata WiFi or Vision-shield Ethe…
Stars: ✭ 14 (-83.91%)
Mutual labels:  wifi

Rover Controller

Controller for driving https://github.com/jakkra/Mars-Rover. Webpage for viewing telematics graphs on phone https://github.com/jakkra/Rover-Mission-Control.

How it works

Sets up an AP, the Rover will automatically connect if it's in range. The Rover is controlled by sending joystick and switch state over either LoRa or a websocket. If the Rover isn't connected to the AP, then data will be sent over LoRa instead. There is a switch to override this behaviour and always send data over LoRa even if the Rover is connected to the AP.

When the Rover is connected to the local AP it will send telematics data over the websocket, or over LoRa if the Rover is outside of WiFi range. The data is then in turn passed on to a phone if one is connected. When the Rover is close by telematics will arrive about 10/s over WiFi, if outide of range then telematics are transported over LoRa. As LoRa modules cannot do true duplex data transfer we need to switch between sending and receiving, meaning telematics sent by the rover while we are sending joystick data will be lost. From experimentation LoRa telematics arrive about every 500ms.

A phone can connect to the Controller AP to view the telematics from the Rover. Phone opens a websocket connection to the Controller and receives the telematic data the Rover sends. Telematics website can be found here: https://github.com/jakkra/Rover-Mission-Control.

CAD model

Full Fusion 360 project is found in CAD folder.

Hardware

  • ESP32 + LoRa module
  • 2x Joysticks
  • 1x ADS1115 (ESP32 does not have enough ADCs for all the pots)
  • A few on-off-on switches
  • 2 potentiometers
  • 2 colored LEDs

Config

For pinmapping see: https://github.com/jakkra/RoverController/blob/master/main/controller_input.c#L46

Images

Compiling

Follow instruction on https://github.com/espressif/esp-idf to set up the esp-idf, then just run idf.py build or use the VSCode extension.

Building the controller

TBD upon request.

esp-idf patches

Run git apply esp-idf-patch/no_delay.patch in your esp-idf folder. This decreases lag for TCP as it will flush the buffers after every write instead of LWIP buffering TCP data to send it in chunks.

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].