This might happen if the data took longer, than the allowable time to arrive.
The allowable time window is just over a 10th of a second.
Try again and check your connection settings.
ESP / Wifi Board
- Is there a red light on the ESP-01?
- Try disconnecting everything but 3.3V and GND.
- If the ESP-01 works with just +3.3V and GND (Pins 1 & 8), connect (TX pin 2), and test again, then RX (pin 7), then GPIO2 (pin 3).
- If the blue LED is lit, but it is faint or it seems to flicker on and off when you touch the wires, contact us for a replacement board.
Trying to upload a sketch over WiFi, gives me the following error: “avrdude: stk500_recv(): programmer is not responding Avrdude: stk500_getsync() attempt x of y: nt in sync: resp=0x00”
The errors you are getting when the upload failed typically occur when the IDE can’t connect to the ESP-01. Some of the reasons this may happen are:
- ESP-01 is not powered on.
- ESP-01 is not connected to WiFi (wrong SSID/password, too far away from router) – Invalid SSL certificate or incorrectly installed Certificate Authority.
- Failure of the DNS system to map the hostname to an IP address.
- Connection is already in use (i.e. the DriverStation is connected to the ESP-01).
The following list might solve the Certificate issues:
- Make sure the Root Certificate is installed properly! Follow the steps outlined on our resources webpage.
- If your ESP-01 is connected to your local WiFi, it should automatically acquire a proper SSL certificate. Another alternative is to find the IP address of the ESP-01 on your network and use the IP address instead of the hostname.
- To tell if the CA is properly installed , browse to https://yourelegoo.local/ If you don’t get a security warning, the CA is properly installed. Otherwise try to re-install the certificate.
I can access the ESP-01 WiFi board at it’s own local IP address, but I’m having issues connecting to it over my local WiFi (http[s]://yourelegoo.local and/or local WiFi IP address.
This can be caused due to several reasons.
Any connection issues related to the http[s]://yourelegoo.local is usually caused by mDNS (MultiCast DNS) not working properly on your local WiFi router or due to a local firewall. Here are some pointers you might want to consider:
- Local WiFi network needs to be set to public (not private).
- For Windows OS, try going in to “Firewall & network protection” -> Advanced settings -> inbound rules and make sure all 3 mDNS entries are enabled, likewise for outbound rules.
- For Windows OS, Check this registry key: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient\EnableMulticast.
- Turn off all external firewalls, such as AVG (you may want to re-enable your firewall when not using the Elegoo car for safety).
- For Windows OS, uninstall Apple Bonjour Service.
- Removing IPv6 from the wireless network adapter if your router is set up with only IPv4.
- Turn DNS Filtering off on your router for the Elegoo IP.
- The main reason why the “programmer not responding” happens is that the socket can’t be opened (another program is connected to the ESP-01 or mDNS name lookup failure are the top reasons).
What firmware should I be running? Where can I tell what firmware I have and how can I enforce an update if there is an issue?
The current firmware version is 0.9.9 (latest version can be found on the website).
You can check the firmware version on your ESP-01 on the admin webpage found at https://tcp2elegoo.local/ (kit default) https://yourelegoo.local/ (yourelegoo is the name you gave your ESP-01, if you changed it) or https://ip-address/ (given by your router, e.g. 192.168.1.33).
You can update the firmware directly from the admin webpage or if required download the latest version at https://elegoo.wwfirst.ca/esp-01/Tcp2Serial-loader.bin. Browse to your Elegoo ESP-01 at https://yourelegoo/update to update the firmware with the downloaded Tcp2Serial-loader.bin file.
General Elegoo Questions
First of all, make sure to disconnect the Bluetooth module and connect the ESP-01 WiFi board. Check out instructions and test the connection on our resources webpage. When asked for SSID and network key, you need to type in your home WiFi SSID. (The SSID is case sensitive!)
The next step would be to start programming the various components to make sure they work. Check out our workshops for more information.
For a more generic look at Arduino programming, try looking through any of these YouTube videos on Arduino (by Paul McWorter): https://www.youtube.com/playlist?list=PLGs0VKk2DiYw-L-RibttcvK-WBZm8WLEP.
Want to add some of those kit-of-parts electronics to your Elegoo but have no idea where to connect what?
Start with this introduction to the Arduino Uno Pinout: https://www.circuito.io/blog/arduino-uno-pinout/
- “Pinout” means the mapping of physical pins to internal microcontroller functionality.
- Many pins can do more than one thing. None of them can do everything.
- The I/O expansion board in your kit will give you 8 more inputs/outputs. It connects to the Arduino over the I2C bus (using up two more pins!).
- The Elegoo kit uses up almost all of the pins on the Arduino. You’ll have to get creative and make trade-offs.
I was able to attach the wheel encoder but the wheel won’t fit unless I loosen a screw on the motor.
Make sure to add the motor spacers between the aluminum motor mount and the bottom plate!
I recently added video explains how to do the installation (and use the beam break sensors): https://youtu.be/bxay-j6cVHU.
Programming the Elegoo
In the current state the DuinoApp is not showing the “Attempt” messages, so it continues trying without giving up. Do you know how to stop it? Closing the serial window doesn’t seem to help either.
Closing Chrome or closing the DuinoApp Tab, should break the connection to the compile server.
The function ‘getButton’ returns true or false based on whether a given button is pressed or not. So which numerical value corresponds to each button on the joystick?
We are planning to document that. The version of DriverStation that was uploaded last week maps the buttons according to the following diagram: https://w3c.github.io/gamepad/standard_gamepad.svg.
The analog values are mapped a little differently than the diagram. We decided that it makes more sense to have the “forward” direction be positive and “backwards” to be negative (which is opposite the default).
Note: the new version works for Linux & Windows. Mapping for Chromebook will be added soon.
We have a workshop available on our resources webpage under workshops/Programming/Elegoo/Start Here. It provides basic information about how to connect to your Elegoo from our WWFIRST DuinoApp server.
The Windows extension is documented on the resources webpage and requires the following archive https://elegoo.wwfirst.ca/Elegoo-hardware.zip.
For Linux there is a new hardware support package available at https://elegoo.wwfirst.ca/Elegoo-hardware-linux.zip. Move the hardware folder to your “Home”/Arduino/hardware folder.
Provided Arduino Extensions
When reading a pin, such as P0, from the I2C PCF8574 IO expansion board, it seems to read HIGH, unless I pull it low. Can you explain what I’m seeing?
At power on, all the ports are HIGH with a weak 100uA internal pull-up to Vdd. More information can be found at https://www.nxp.com/docs/en/data-sheet/PCF8574_PCF8574A.pdf.
Regarding the I/O expansion board, its I/O pins are “quasi-bidirectional”. That means that instead of setting the pin to either an input or an output (by calling pinMode in Arduino), you just go ahead and read or write them. To set a pin that you previously have written (i.e. made it output something) back to an input, write a 1 to that pin and then an external device can pull that pin high or low. Details on the datasheet at https://www.waveshare.com/wiki/PCF8574_IO_Expansion_Board.
The library to use is at https://github.com/xreef/PCF8574_library.