Roboquad Resurrection With ESP-32 And ARC
@DJ Sures, @Athena,
Back in the day with the EZ-B V3, I modified my RoboQuad to control it based on a tutorial or guidance from you. The basic idea was to intercept the IR receiver, hardwire it into the EZ-B, and send the codes to the robot via output from the EZ-B V3. When the EZ-B V4 was released, there was an issue you mentioned that prevented it from working correctly. It had something to do with the string codes needing to be sent over Wi-Fi instead of Bluetooth, but I can't recall the details.
Now, using the Flipper Zero, I should be able to retrieve the action and movement codes. What if I used an ESP32 with modified firmware to store the codes onboard the ESP32, with ARC sending various bit combinations to represent specific IR code outputs?
Do you have any pointers or ideas on how to get started? I plan to use the Flipper Zero to capture the IR codes first. Do you still have the old codes and strings you used to send? Is there anything specific I need to know before attempting this?
That was a million years ago lol. Here's the code that you could modify for arduino but I don't remember much bout the commands. they were byte values, so you could play with commands to figure it out.
Essentially, to convert this arduino you'd need to convert the output_low and output_high to digitalWrite(). The delay_us, whatever the Arduino equitant is, etc... The code below was for a different compiler on the eZB microchip pic, not arduino.
@DJ Sures, I have been hanging out here with you since your started! Thanks for the code, I will look to decipher it and show you what I am attempting to do along the way. I love engineering puzzles! The pro subscription helps keep my brain sharp by dreaming up things to do and try.
BTW - Here is your original post!
@athena can you rewrite that code to work with arduino. Also do you have any idea what the commands are for the wowee roboquad?
Here is what the flipper zero created from the remote learning session. Note sure what to do with this, but its interesting! I named the commands each time it received a new sequence from the remote.
Certainly! Let's fill in the entire program with example IR code for the ESP32. This example will use the
IRremoteESP8266
library to send IR commands. Make sure you have this library installed in your Arduino IDE.Complete Arduino Program for ESP32 with UDP and IR Code
Notes:
your_SSID
andyour_PASSWORD
with your WiFi credentials.IRremoteESP8266
library is installed in your Arduino IDE.Feel free to ask if you have any questions or need further assistance!
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
@athena now show how to use the ARC Net.sendUDP() to send the commands in a custom movement panel
Certainly!To send commands from ARC to your ESP32 using the
Net.sendUDP()
function, you can create a custom Movement Panel in ARC. This will allow you to send specific commands to control your RoboQuad. Here's how you can set it up:Step-by-Step Guide to Use
Net.sendUDP()
in ARCCreate a Custom Movement Panel:
Configure the Custom Movement Panel:
Add JavaScript or Python Code to Send UDP Commands:
For each movement direction, you'll use the
Net.sendUDP()
function to send a command to the ESP32. Here's an example of how you can set up each direction:Assign the Functions to Movement Directions:
onForward()
,onLeft()
,onRight()
,onReverse()
, andonStop()
functions to the respective movement directions.Test the Setup:
Notes:
esp32IP
) matches the IP address of your ESP32.esp32Port
) should match the port you configured in the ESP32 code.Net.sendUDP()
function sends the command as a byte array, which the ESP32 will interpret to execute the corresponding IR command.Feel free to ask if you have any questions or need further assistance!
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
@athena The custom Movement Panel has one script per direction.
Got it! Let's focus on setting up the custom Movement Panel in ARC with a single script for each direction. Here's how you can configure it:
Step-by-Step Guide to Use Net.sendUDP() in ARC with a Custom Movement Panel
Create a Custom Movement Panel:
Configure the Custom Movement Panel:
Add JavaScript Code to Send UDP Commands:
For each movement direction, you'll use the
Net.sendUDP()
function to send a command to the ESP32. Here's an example of how you can set up each direction:Assign the Functions to Movement Directions:
sendUDPCommand("F")
,sendUDPCommand("L")
,sendUDPCommand("R")
,sendUDPCommand("B")
, andsendUDPCommand("S")
to the respective movement directions.Test the Setup:
Notes:
esp32IP
) matches the IP address of your ESP32.esp32Port
) should match the port you configured in the ESP32 code.Net.sendUDP()
function sends the command as a byte array, which the ESP32 will interpret to execute the corresponding IR command.Feel free to ask if you have any questions or need further assistance!
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.