This Project currently lacks the whole programming/software part. Luckily Maarten Weyn already made the inverse kinematics work and wrote also an Smartphone App for simple Control of this Robot via BLE. Take a look into his Repository as well: https://github.com/maartenweyn/SpotMicro_ESP32
- calibrate your servos (do this before assembly, otherwise you have more work to do). You can find here a quick explanation of how to achieve this.
- install the ESP-IDF in VSCode for the firmware-developement and get Cordova for the app-developement running
- clone maartens firmware-repo and
- account for the missing relay in his code. You can overcome the relay being in the way in two ways:
-
connect NC instead of NO (always active after power-up, if no signal to the relay) to your PCA9685 V+ (terminal block) and switch it back, once you have a solid code-base that accounts for it.
-
OR do the code-thing right away and leave it as it is...like this: config.h
#define RELAY_IO 27
main.c -> void app_main()
... gpio_pad_select_gpio(RELAY_IO); gpio_set_direction(RELAY_IO, GPIO_MODE_OUTPUT); gpio_set_level(RELAY_IO,1); // 1 = on, 0 = off
-
- clone the esp-dsp (digital signal processing) component into maartens repo's corresponding component folder
- compile and flash
- account for the missing relay in his code. You can overcome the relay being in the way in two ways:
- compile the cordova app and flash onto your android phone (or iphone, but i dont own an iphone and cant help here)
- install arduino ide
- get this firmware for your ESP32-CAM
- add your local wifi credentials to the configuration
- flash the ESP32_CAM with this firmware and access the live-stream/cam interface via your webbrowser
An walking gait implementation and voice-commanding was achieved by Guna R. from the slacks #spotmicro-esp32 channel, whis is build upon Maartens software (see Repo above). You definitly have to take a look there as well and contribute: https://github.com/cholan2100/ceasar
Work-in-Progress : still a lot to do
This section currently contains some basic test-programs for servo-calibration and circuit-/module-tests.
You can use the Arduino IDE for the developement of your ESP32 programs. A good resource for the setup can be found here:
The ESP-IDF is the developement framework provided by Espressif. Here's the official documentation how to get started:
If you don't want to get into the hurdle to install the ESP-IDF via the official documentation, you can follow this quick installation guide. It has been only tested for Windows 10 machines, so the Steps on Linux or Mac OS X will vary.
For a complete Installation you will need to install:
- Python
- Git
- MinGW-w64
- Visual Studio Code (VSCode)
- C/C++ Extension for VSCode
- ESP-IDF Extension for VSCode (from VSCode Marketplace)
- Install Python by checking the "Add Python VERSION to PATH" checkbox and simply choose the "Install Now" option. If you are interested in a more detailed description how to further setup Python, it can be found here: Official Python Install Guide
- Install Git
- Install MinGW-w64 and choose a simpler installation directory path like C:\MinGW\
- Install VSCode - if you are interested in some more informations about the VSCode Setup than take a look at the Official VSCode Setup Documentation
- Start VSCode and
- install the C/C++ Extension from the VSCode Marketplace
- install the ESP-IDF Extension from the VSCode Marketplace. Use the Express Install as mentioned here: VSCode ESP-IDF Extension Github
- update some of your system variables
- add ";%IDF_PATH%\tools" to PATH
- add a new variable named "IDF_PATH" with the value "C:\Users\INSERT_YOUR_USER_DIRECTORY\esp\esp-idf"
- update some of your system variables
- add the path to the MinGW C-Standard Libraries Headers to your C/C++ configuration in VSCode
- Press F1 for the Command Menu
- type and choose "C/C++: Edit Configuration (UI)" and navigate to the "advanced settings" at the bottom
- add your path (example below) to the browse.path:
${config:idf.espIdfPath}/components
${config:idf.espIdfPathWin}/components
${workspaceFolder}
C:\MinGW\mingw64\x86_64-w64-mingw32\include
- Done!
Either open a available project/firmware (like the one from Maarten Weyn or Guna) in VSCode or start your own via:
- Add a folder to your Workspace "Edit -> Add Folder to Workspace"
- Press F1 for the Command Menu and type "ESP-IDF: Create Project" - a more detailed description can be found here: Official VSCode-ESP-IDF-Extension How-to-Use
- Choose the App-Template
- Change "project" within the CMakeLists.txt to whatever you want to call yours
- Have fun coding!
Everything you need to know, can be found in the Official ESP-IDF API Reference alongside with many linked example-projects to their Github Examples Page.