Notifications
Clear all

Very new. Very Stuck on ESP32cam and not able to load proper libraries

20 Posts
3 Users
0 Likes
5,959 Views
zosima
(@zosima)
Member
Joined: 2 years ago
Posts: 8
Topic starter  

Greetings,

I am very new to computer science and microprocessors. I am learning to use my ESP32 cam with FTDI adapter and I have been stuck on a few errors while trying to follow the directions on the Dronebot Workshops beginner video. 

First error: I can't locate "COM4" under port

Second error: An error comes up after I try and compile the example WebServerCam sketch. I get:

 

"Arduino: 1.8.19 (Mac OS X), Board: "AI Thinker ESP32-CAM, 240MHz (WiFi/BT), QIO, 80MHz"

app_httpd.cpp:22:24:

fatal error: fd_forward.h: No such file or directory

Multiple libraries were found for "WiFi.h"
compilation terminated.

Used: /Users/HAL/Library/Arduino15/packages/esp32/hardware/esp32/2.0.3/libraries/WiFi
Not used: /private/var/folders/23/vbg856dn2_z3qz49tw20b1l00000gn/T/AppTranslocation/13A1852D-2810-474F-A309-243D4F7823E4/d/Arduino.app/Contents/Java/libraries/WiFi
exit status 1

fd_forward.h: No such file or directory

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences."

 

I have tried to find the .zip file that includes this library but I can't get that to work either. Can anyone help direct me on how I can resolve this issue to be able to start playing with my ESP32. 

 

Thanks in advance,

Andre

 


   
Quote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 6965
 

@zosima Yes, the facial detection part was left out of the latest branch. I had the same issue and fixed it but I don't remember how. Bedtime now but I will focus on it first thing tomorrow. Can't help with the com4 issue, I am Mac. Also no need for FTDI on my ESP32-CAM boards, they are USB from AI-Thinker. If you google fd_forward.h you will see some chatter about it.

THE FIX is Tools/Board/Boards Manager search on ESP32, select version 1.0.6 and install.

If the compile fails on not finding python use this command from the command line. OR just manipukate your path to include whichever version of python it complains about.

"open /Applications/Arduino.app" that's the Apple version, change to applicable windows words as required.

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 6965
 

@zosima My apologies, I am so used to my 'special' ESP32-CAM's that I forgot you do in fact need an FTDI. I just noticed you are on a Mac, they don't have COM ports, they are called USB Serial. See pic.

Screen Shot 2022 05 12 at 09.49.06

 

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 6965
 

@zosima I forgot to mention, the facial detection code may not work at all, or the entire camera may be super slow. Do you need facial detection for your assignment?

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
zosima
(@zosima)
Member
Joined: 2 years ago
Posts: 8
Topic starter  

@zander 

Thanks for your reply. I do not need facial detection. Am I able to somehow delete all facial recognition syntax so that it will not give me an error while compiling? How exactly would I do this? Again thank you, I am very new to programming and need a little more detail than some on this forum. Also, I have been using that serial port for mac and was using the internet 1.0.6 version and was still encountering errors. 

thanks,

andre


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 6965
 

@zosima Sure you can remove the FD, do you know how? What is the internet 1.0.6 version you are talking about?

I gave you the specific step by step instructions I used to fix the problem. It is only 2 things, can be simpler, but not much.

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
(@eliza)
Member
Joined: 2 years ago
Posts: 81
 

Did you get the "can't find com 4" problem solved? For what it's worth, when you plug the Arduino/ESP 32 into the USB port you'll find the port listed under the 'tools' / 'port' drop down menu. Usually you'll see more than one port and you have to choose the correct one. It can change every time you disconnect and reconnect. I always use 'get board info' as a sanity check. If you see the board info you have it right. If you have selected the wrong port you don't see anything.

Did you get the .h file not found error fixed?

This post was modified 2 years ago by Eliza

   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 6965
 

@eliza I had the same problem and told him the fix, two times so far. Com4 is bogus, read his post and you will see it's a Mac, we don't have com anything it's called usbserial-001

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
zosima
(@zosima)
Member
Joined: 2 years ago
Posts: 8
Topic starter  

New day new error. However I think I am getting much closer. I was able to find the right .json file to link in the Additional Boards Manager URLs and was able to get ESP32 Espressif Systems 1.0.6. (I swear I had already tried to use this .json file, but oh well). 

Now when I compile I get a new error:

Arduino: 1.8.19 (Mac OS X), Board: "AI Thinker ESP32-CAM, 240MHz (WiFi/BT), QIO, 80MHz"

Sketch uses 2594358 bytes (82%) of program storage space. Maximum is 3145728 bytes.
Global variables use 56256 bytes (17%) of dynamic memory, leaving 271424 bytes for local variables. Maximum is 327680 bytes.
esptool.py v3.0-dev
Serial port /dev/cu.usbserial-A5XK3RJT
Connecting........_____....._____....._____....._____....._____....._____.....____An error occurred while uploading the sketch
_

A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

I did some reading and it was recommended that I hold the boot button while compiler is uploading but that did not work. It was getting late last night so I did have the patience to keep reading. 

Am I any further? What can I do from here?


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 6965
 

@zosima Perhaps you missed the 2 replies I made to you, are you subscribed to these? I had the same error and fixed it. Didn't touch the json file, just use library manager to install 1.0.6. Wh knows what else you have mnessed up now by messing with the json file.

Sometimes uploading will fail for no apparent reason. First however follow the advice offered by the compiler

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Just do an upload again, and hold the boot button from early on. Whenever you upload you must hold the boot button.

 

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 6965
 

@zosima Here is what your json additional boards should look like. Just copy and paste these.

https://arduino.esp8266.com/stable/package_esp8266com_index.json

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

In order to get esp32-cam web server to compile you need to change the board to rel 1.0.6. See the attached pictures for how to do that.

Screen Shot 2022 05 13 at 17.07.02
Screen Shot 2022 05 13 at 17.07.34

 

 

 

 

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
zosima
(@zosima)
Member
Joined: 2 years ago
Posts: 8
Topic starter  
Posted by: @zosima

New day new error. However I think I am getting much closer. I was able to find the right .json file to link in the Additional Boards Manager URLs and was able to get ESP32 Espressif Systems 1.0.6. 

 

Ummm? Are YOU getting my replies?

I literally just explained that I was able to successfully download Espressif Systems version 1.0.6.

Screen Shot 2022 05 14 at 7.57.46 AM

Can you quote my post where I "messed with the .json file"? I didn't 'mess' with anything and I followed your procedure and download Version 1.0.6.

NOW, again I am very new to all of this so I get confused with terminology and procedures sometimes and make my due diligence by trying to research before I post but in the spirit of online forums I need a little more clarification as I learn.

I am trying now to fix the new "timed out" error I didn't relate it to your replies because we are now dealing with a new error and have already resolved the fd_forward.h error from original post.

-Am I still supposed to use the Library manager like you recommend to download version 1.0.6 if I get a "timed out" error?

-I read to hold boot button on ESP32 when uploading sketch, this doesn't work.

-I DID change the Verbose output settings in preferences and nothing works.  

 

I am sorry to frustrate. I am trying to stay as informed as possible and follow all the steps that are explained to me.  

 


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 6965
 

@zosima Perhaps if I explain what I mean by certain terms it will help us get on the same wavelength.

A json file is specified ONCE when the IDE is installed. IF you wanted to try a new beta version you would change the json file for that family but we do NOT want a newer version, we want an older version. Basically the json file is never touched after initial installation. IF you ever want to beta test that is done inn the preferences pane.

Changing the board version is not what I call changing the json file, it's called changing the board version.

I said you were messing with the json file because you said you were touching the json file and as I just explained there is no reason for that.

So now that the english language issues are cleared up and you have the board manager set up right let's try to fix your next issue.

I don't understand the following

-Am I still supposed to use the Library manager like you recommend to download version 1.0.6 if I get a "timed out" error?

You set the version of the board once, you don't directly download anything although that does happen once in the background whenever you change versions or do an update. Once you have ESP32 set to version 1.0.6 we are done with that issue, that fixes the facial detection support. I am hoping 2.0.4 or whatever is next fixes it in the latest branch but for now on this project leave it on 1.0.6. NOTE if/when you tackle another ESP32 project you may want to update the version to latest. BEWARE if you are asked to update libraries and/or boards DO NOT as that will change esp32 from 1.0.6 to 2.0.3 or later.

 

As far as timed out

That happens to me occasionally as well, just do it again, sometimes unplugging the usb cable and re-inserting helps, ALWAYS check the port in use and board by looking at the IDE bottom right corner. Sometimes I find if the Serial monitor is open that will interfere so close that and the plotter if open as well. I have had it take 3, 4, or more attempts to get an upload to work, this is not that rare an event.

In summary, terminate all IDE windows, all Monitor and plotter windows, restart the IDE ONLY, check board and port either bottom right or Tools menu in the usual place, then plug USB cable from PC to board and click the upload button. Hold the button down until it says 100% done.

Let us know how it goes.

Sorry if I came across as anything but helpful, but bridging the language barrier both culturally and technologically is often the biggest challeng. Hopefully that is now behind us.

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 6965
 

@zosima Can you take a picture of the board attached to your PC or Mac (which are you using?) I want to see that we are talking about the same board and USB cable I am familiar with.

Keep in mind I just had the same problem and fixed it in the last couple weeks.

Transfer the picture on the phone to your laptop then use the Attach Files link at the bottom of the reply box to show it to me.

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
zosima
(@zosima)
Member
Joined: 2 years ago
Posts: 8
Topic starter  

EUREKA!!! I got it working!!

What I did:

-I noticed that there were other versions of the esp32 downloaded from the boards manager and I deleted those. What remained was version 1.0.6.

-Then I experimented with hooking it up to the 5v pin and try from 'scratch' and it totally worked!!

Thanks @zander for your patience and guidance, as I followed your advice as best I could. 

 


   
ReplyQuote
Page 1 / 2