Skip to content

A React & Node web-app which uses WebSockets to communicate with an internet connected ESP32.

Notifications You must be signed in to change notification settings

colemaring/RE-RASSOR-lightweight

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A React & Node web-app which uses WebSockets to communicate with an internet connected ESP32.

Documentation, assembly, and notes found here: https://docs.google.com/document/d/1jhzQ0pJI8P-jmU7yeFxD81gAwapxjM90a2alEfP4OI4/edit#heading=h.j3emiwso5d2c

TODO:

update roverclient.ino with new domain and wss over 443
gear down gearbox even more?
implement better turning
finish documentation for new drive system
design custom pcb for esp32 and tmc2208s
get domain and design home page to host documentation etc.
video feed

Features:

  • Network agnostic. The controller and rover can be on different wifi networks.
  • Sub 100ms latency between button click and stepper action.
  • Easy setup. Just flash the esp32, enter wifi credentials, name your rover, and you're done.
  • Can handle multiple concurrent connections to the same rover or independent rovers.

Demo (WIP)

IMG_0235 (3)

How to use

download and open roverclient.ino with Arduino IDE
change the following variables to match your network, and choose a custom rover name

const char* ssid = "yourssid";
const char *password = "yourpassword";
const char *url = "/?name=yournamehere";

follow these instructions to add esp32 board to the IDE
plug in the esp32, select esp32 dev module as the board, and select the corresponding com port
upload the sketch

Current UI

Screenshot 2024-09-21 112738

Wiring Diagram

Screenshot 2024-09-14 104956

Electronics

  • ESP32
  • 4x tmc2208 motor drivers
  • 4x Nema 17 stepper motors
  • 12v power source
  • 12v to 5v converter or buck converter
  • wires

ONLY IF you are to host YOUR OWN server, follow these steps:

fork this repo
change the ip in the roverclient.ino file to match the domain or ipv4 of the server your are hosting
change the ip in App.jsx and rebuild the frontend using npm vite build (when you do this move the new dist file into the server folder)
install node
git clone this repo
cd into rover
npm install
run server.js with either node or a node process manager like pm2
make sure firewalls arent blocking port 80 or 8080

About

A React & Node web-app which uses WebSockets to communicate with an internet connected ESP32.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published