another great, informative, and useful video.. thanks Andreas :) ...what about PSRAM pins..dont they use a few aswell?
@AndreasSpiess4 жыл бұрын
I never used WROVER modules. But now I checked: GPIO16 and 17 are connected to the PSRAM. So they are not useable (and also not available on the outside). Two pins less :-( I will update my Excel accordingly
@WacKEDmaN4 жыл бұрын
@@AndreasSpiess i have a few boards that use external psram..(eg esp32-cam)..and the pins are exposed as you can turn the PSRAM on and off
@michaelbishton94394 жыл бұрын
I really appreciate your effort to count down which pins can be used for what purpose. Then, near the end, you list the services that can use any pin. Watching this as a newbee, did i misunderstand something? Did you mean any of the actually usable ones or "any pin?"
@AndreasSpiess4 жыл бұрын
Of course only with restrictions, for example an input only pin cannot be used as an output.
@gusercarra2 жыл бұрын
@@AndreasSpiess Please, I can´t find the excel archive... I´m trying to use an ESP32S3WROOM1 in a nodemcu
@G6EJD4 жыл бұрын
Also you can’t use GPIO-12 if an external pull-up is connected to it, say for a sensor, as it prevents the ESP32 from booting and causes a flash error.
@AndreasSpiess4 жыл бұрын
You are right! I already corrected the spreadsheet. You have an excellent channel, BTW. I am a longtime subscriber.
@aviatorbja4 жыл бұрын
The two best esp microcontroller resources on the planet right here!
@orparga1404 жыл бұрын
Maybe the most useful video about ESP-32. You have saved a lot of hours of our lives... 10 hours saved * 1500 vievers( at this moment) = 1'7 years of work
@orparga1404 жыл бұрын
5,13 years of work if we calculate 8hours/day
@AndreasSpiess4 жыл бұрын
In the end i expect manybe 50'000 viewers ;-)
@muflah4 жыл бұрын
I learned this the hard way. It took me about 2/3 days to test all of these and verify my findings with the datasheet and other sources.
@TD-er4 жыл бұрын
@@AndreasSpiess Yeah, but as the numbers increase, you may reach users that would never have thought of working with the ESP32 and now they will... So not sure if that still counts as "hours saved" :)
@ksenyxths2 жыл бұрын
@@AndreasSpiess 88,223 viewers. I'm a returning viewer, and watch all the video as I'm working on an ESP32 project and I didn't wrote down the pins at the first time. More time saved, as always, well done! :)
@Designments Жыл бұрын
Your channel is an absolute gem. No nonsense, concise, well researched videos are rare, and you consistently deliver. Thank you!
@AndreasSpiess Жыл бұрын
Glad you like my content!
@deivissergio23784 жыл бұрын
Very good, explanatory video of all I/O functions at once. Many people look for something like this. I own a Company in Germany, and we use the ESP32 in one of our products (IoT devices)... and we use the Internal Hall sensor, as a tricky "Factory Reset" feature. When we finish with all the tests, before send to a customer, we select a "special" condition in the device, and we left the device in such as a "Magnetic bed" for a while... and this performs the "Factory Reset"... so the device is tested and ready for shipment to the customer. (I think this Hall effect sensor, is not very important, but sometimes we can have a good idea to use it... 🤔)
@AndreasSpiess4 жыл бұрын
This is really a very good idea! I once used a reed switch with an ESP8266 for a similar purpose but forgot about it. Now I remembered.
@paulmooij4 жыл бұрын
A great idea can you share some info? also is ESP32 good for a b2c product?
@diydsolar4 жыл бұрын
Please share your experience, thabks.
@deivissergio23784 жыл бұрын
@@paulmooij Hi Paul, in my opinion, this microprocessor is a good solution, with a lot of functions... but it is necessary a lot of "checkings" "workarounds" etc.. if you are working with Arduino IDE for example... (using the tools from Espressif, is much better) Sometimes, without a reason, the processor stops, or perform self reset, etc... (of course it can be something also wrong in the code, or the libraries converted to Arduino IDE). Let's say that the predecessor (ESP8266), has better in performance and stability (and also longer in the market)... But I am happy with this new one... (I use Watchdogs to check if something goes wrong to bring the software again "on track"). Of course, we are still learning with this new processor, and I can recommend it... 👍 (in our company, we started with the ESP32 since 3 months, and already more than 50 devices installed... and no big issues up to now !!)
@aviatorbja4 жыл бұрын
So good. No ads till the end. This channel is too good to be true. Very interesting and informative.
@AndreasSpiess4 жыл бұрын
Glad you value my decision for the ads...
@JohnBaxendale4 жыл бұрын
Thank you, this is *so* useful! I was just about to pick up an old ESP32 project and start to work out which pins to use, this will save me lots of time :)
@AndreasSpiess4 жыл бұрын
Glad you like it!
@ayrtonestrella4 жыл бұрын
This video y extremely useful! I'm so grateful, Andreas! I have been researching for weeks in an attempt to learn how to choose the pins and which pins I should not use. Your video is the most explicit and easy-to-understand resource I have ever seen for the ESP32. I actually decided to update my ESP32-WROOM schematic symbol to distribute the pins accordingly, for easier PCB designs. I really appreciate the work and effort that you put in, and I'm looking forward on becoming your supporter on Patreon. Thank you, thank you very much.
@AndreasSpiess4 жыл бұрын
You are welcome. And thank you for your feedback!
@rklauco4 жыл бұрын
Cool project with touch pins? My daughter has a KiwiCo box with RGB led. It was possible to turn on or off the specific colors, so you could create few colors by combination. I sneaked in the ESP32 inside, used the "switches" (removed the contact between them) and modified them to 6 touch switches. By that she can set any color she'd like - the pairs of touch buttons act as color+ and color- for specific channels :) Works quite well :D She likes it a lot. Now she has a night light with variable color.
@AndreasSpiess4 жыл бұрын
I can imagine that a combination of colored LEDs an touch is nice for your daughter. And she can tell her friends that she has a cool father who can make such things.
@mazirius114 жыл бұрын
I literally ran into some of the problems mentioned in this video last weekend. I couldn't find any useful write ups on which pins to use safely if you only need a few. Again you show the awesome ability to find out topics that need better documentation and provide very useful and condensed information. Thank you very much!
@AndreasSpiess4 жыл бұрын
Glad the video was useful for you!
@hoodafukisalice3 жыл бұрын
This is gold for developers using ESP32. Thank you for sharing the Excel sheet Andreas.
@AndreasSpiess3 жыл бұрын
Glad it was helpful!
@sharpbends4 жыл бұрын
I used touch pins connected to case screws as rudimentary input device for up down back enter commands etc on GPS alarm clock :-)
@AndreasSpiess4 жыл бұрын
Very good idea!. Hidden and no additional parts needed.
@TheDefpom4 жыл бұрын
@Andreas Spiess I checked into the way I modified the ESP32 Dev Kit V1.0 for the programming failure issue, add a 2.2uF electrolytic capacitor between EN and GND, it programmes fine every time like that without having to press any buttons.
@AndreasSpiess4 жыл бұрын
In the meantime I also did the same and it works :-)
@Thorathome4 жыл бұрын
This is incredibly helpful: identifying the ESP32 ‘safe’ pins, a little on interrupts, a bit on PWM, an intro to inline debugging. You make the ‘32 even mor fun and productive. Thank you GWTSA.
@AndreasSpiess4 жыл бұрын
GWTSA?
@Thorathome4 жыл бұрын
@@AndreasSpiess YOU! Guy With The Swiss Accent! (I've lived and worked all over the world, have been the Big American for ages, am Stateside now.) I value your work, am more of a software guy, have programmed computers since high school, still noodle in Arduino with ESP applications, sensors and controls. Thanks again.
@kcmichaelm4 жыл бұрын
Excellent as always, thanks Andreas!
@AndreasSpiess4 жыл бұрын
Thank you!
@keen24614 жыл бұрын
Andreas does everything I wish I had the time to do. I'm also an EE but don't have time to investigate and experiment as Andreas, so I live vicariously thru his videos.
@AndreasSpiess4 жыл бұрын
Maybe if you become as old as I am you will have time...
@DemokratieErwacht2 жыл бұрын
Ich habe mir das Excel runtergeladen und mit deinen Kommentaren aus dem Video versehen! Danke! Das hat mir echt Arbeit gespart als ESP32-Neuling.
@AndreasSpiess2 жыл бұрын
Gern geschehen. Das war die Idee ;-)
@EmmanuelLieurain4 жыл бұрын
A very useful wrap-up, thanks
@AndreasSpiess4 жыл бұрын
You are welcome!
@LarryKapp14 жыл бұрын
Thanks again for taking a confusing subject and making it understandable for all those of us who aren't so tech savvy . Transferring the data sheet info to your own spreadsheet was well worth the time it took too .
@AndreasSpiess4 жыл бұрын
You are welcome. I try my best...
@JulianGrammer4 жыл бұрын
Yet another highly informative video. Thank you. I couldn't stop laughing at so few pins available for general programming when comparing with your video #159 at 1:40. Amazing what one can learn in three years.
@AndreasSpiess4 жыл бұрын
Not general purpose does not mean not useable. It just means: Pay attention!
@academicpachyderm51554 жыл бұрын
Holy cow. Thank you so much! I almost ordered my own esp32 breakout boards yesterday, but after watching this I'm definitely adding some asterisks to my silkscreen pin numbers. I'm also trying to start experimenting with the esp32-s2, so I'll be on the lookout for "gotchas" there, too.
@AndreasSpiess4 жыл бұрын
The S2 is too new for me...
@marinehm4 жыл бұрын
I ran into these problems with my Wemos ESP8266. This is great information!! Still plenty of available of pins. Now we can use them smartly. Thanks for breaking them down to usable pins.
@AndreasSpiess4 жыл бұрын
Glad it helps!
@robertobrenes52834 жыл бұрын
Tomorrow I planned to mill a PCB for a esp32 project, this video came just in time for me to check if I didn't mess things up! Thank you! Your channel is awesome :)
@AndreasSpiess4 жыл бұрын
Very good! As said: It might save you some time to redu things...
@robertobrenes52834 жыл бұрын
@@AndreasSpiess RTFD has always been my motto as an electronics student so i love that you always do that!! cheers from Costa Rica!
@williamdenbeste97034 жыл бұрын
Perhaps one more column: the state of the pin after reset - look it up and you'll see that some pins initialize low and some initialize high. Ouch! Could be a problem for some circuits when the ESP32 GPIO pin goes high at reset.
@AndreasSpiess4 жыл бұрын
You are right. So far I never had problems with that, but something bad can hapen. Maybe somebody adds the column.
@paulvint4 жыл бұрын
This is great - good video, and more importantly, thanks for sharing the spreadsheet. I've been meaning to export that from the datasheet for ages, and it's a great help!
@AndreasSpiess4 жыл бұрын
Glad it was helpful!
@tlangdon122 жыл бұрын
It's definitely worth reviewing any design you are working to see if you have any 'input only' pins that could use pins 34 or 35. I was struggling to find enough GPIO pins for my project; I needed 12 pins, but trying to using your 12 priority pins made the routing very difficult, so I reviewed my design and found two pins that were being used for input only, so I could consider using pin 34 or 35 for them. This made the routing much easier. Thanks for your hard work to document the real situation with the ESP32 chips.
@AndreasSpiess2 жыл бұрын
Just in our last project we forgot that pin34 is input only...
@SimjetAU4 жыл бұрын
Fantastic information..just what I needed. You explain this stuff in the right way as well. one of my favourite videos of yours
@AndreasSpiess4 жыл бұрын
Glad you enjoyed it!
@SivanagaT-j5n Жыл бұрын
Great video, I was banging my head trying to figure out which pins to use because Im new whole arduino/ electronics, this video clarified lot of confusion with this board.
@AndreasSpiess Жыл бұрын
Glad the video was useful!
@fenixjose174 жыл бұрын
Dear Andreas, you are an excellent teacher. Thank you.
@AndreasSpiess4 жыл бұрын
Glad you think so!
@wjn7774 жыл бұрын
Great video, I could have saved many hours of debugging by either RTFM or watching this video
@AndreasSpiess4 жыл бұрын
:-) Thank you!
@professorholden31044 жыл бұрын
Excellent! I am moving my mechatronics class from esp8266 to esp32 next semester, it will also be online for pandemic reasons, so this is a great resource. Thanks!
@AndreasSpiess4 жыл бұрын
You are welcome! Good luck with your lectures
@U8uxa8SP3 жыл бұрын
I've been watching a lot of your videos today. Thanks for all your great information and thanks for all your production time.
@AndreasSpiess3 жыл бұрын
Glad you like them!
@AragonDubs4 жыл бұрын
Since I discovered your channel, I am more of a maker than ever, you make it very simple, I love it, and the translations help a lot for a spanish like me. Many thanks Andreas!
@AndreasSpiess4 жыл бұрын
Thank you. Yes, I think, Luciana, the translator does a great job!
@markstafford55864 жыл бұрын
Thanks for the info. A group of us are working on a WROVER esp32 board were we are using everything. We have used 70% and are looking at maybe using esp32 variants with even more attached memory. Great video
@AndreasSpiess4 жыл бұрын
I never hear that somebody changed the PSRAM chip. I just changed the Flash chip of the early ESP8266-01 boards...
@charlesmagill49328 ай бұрын
"after hours, you think you are stupid" that's me. Thank you for this video. I was about to throw out my esp-32 and go back to AVR.
@AndreasSpiess8 ай бұрын
That would have been a big mistake 😉
@matthiasthiele4 жыл бұрын
"and after hours, you think, you are stupid" - been there, suffered too. Great video, thank you very much. I did use a touch port for an alarm clock without any visible buttons. Just touch the clock on the top to switch off the alarm. The user interface for setting the alarm time is via a web page on the smartphone.
@AndreasSpiess4 жыл бұрын
Nice idea! Thank you.
@pd85593 жыл бұрын
My friend with the Swiss accent another nice video. Capacitive switches (touch) are more flexible for our friends in the manufacturing space, think new appliances, than to makers although makers can make use of them too. There are pros and cons to older mechanical switches and the more recent capacitive switches but there is no holy grail or perfect choice. Capacitive switches can be made in a numerous variety of shapes as needed for a particular application and leads to less items needed on the manufacturing BOM but on the cons your need for minimum current to drive them to he back a sense of state change is higher than old mechanical switches as they need to sense a voltage / capacitive drop across the switch surface which means mechanical switch is better if that is your primary design driver is being able to run the switches on lowest possible currents through the switch to sense a state change. Capacitive cons is you have to deal with handing more false positive scenarios than mechanical switches where you simply wait for a signal to come through and just handle debounces. If operating in a wet environment the capacitive switch might be better if your mechanical switch would take permanent damage if the switch got wet as the capacitive switch is more resistant to permanent damage from being wet. Each has plus and minus so our job is to juggle and choose for a specific application but it is nice to know if we need it that it already comes inside the box of tools ESP32 gives us.
@AndreasSpiess3 жыл бұрын
I agree, capacitive touch buttons are very flexible for many use cases.
@royballantine678811 ай бұрын
Thanks!
@AndreasSpiess11 ай бұрын
Thank you for your support!
@zolar7a4 жыл бұрын
Thank you, lots of good information in a 12 minute video. I'm going to print out the spreadsheet and take notes.
@AndreasSpiess4 жыл бұрын
Glad you enjoyed it!
@aboumohamed4467 Жыл бұрын
Thanks Andreas. Great video as usual. The information in the video and the Excel sheet are very helpful.
@AndreasSpiess Жыл бұрын
Glad it was helpful!
@Uncle-Duncan-Shack4 жыл бұрын
I have printed the colorful pinout identification sheets for the micro controllers that I use and laminated them. These images are freely available on the net, but check that one is using the correct one for the device in hand. In fact, I keep cribsheets for those and a few other things I need to refer to occasionally floating around in a pile on my desk. Being laminated they are tolerant to having coffee mugs put on them. As always Andreas, I thank you for a video with good content.
@AndreasSpiess4 жыл бұрын
Very good idea. I have also some laminated sheets like that with exactly the same reasoning.
@marcdraco21894 жыл бұрын
That's an amazing amount of information Andreas - must have taken you hours to compile this Thank you so much. I'm glad you questioned the hall sensor. I was similarly baffled about that because the sensitivity is so poor. It looks like the sensor needs an amplifier that's not fitted (unless it's wired internally somewhere that the manufacturer hasn't told us about). All that said, I'm still working on an Uno, learning to squeeze every last drop of performance out of an 8-bit machine
@AndreasSpiess4 жыл бұрын
I love the ESP chips because most of my projects use Wi-Fi. For other projects I usually use other boards (currently a Morse keyer with an Arduino Nano)
@marcdraco21894 жыл бұрын
@@AndreasSpiess Yeah, I really need to finish off my current project and learn more about IOT - ironically, the current thermohygrometer could benefit from remote stations too. Still finish one thing before I start another or you know how that ends...
@randomname38944 жыл бұрын
37 and 38 are Input pins, but not broken out on the shielded modules. On the TTGO Display for example, they are useable like the other Input pins.
@AndreasSpiess4 жыл бұрын
You are right. The WROOM module has no such GPIO pins. Only if you use the chip itself you can use these pins.
@krukhlis4 жыл бұрын
You are extremely patient man! ;) But yes, this is golden gem, a treasure that every ESP32 developer needs. Thank you for this great work!
@AndreasSpiess4 жыл бұрын
You are welcome!
@TobiasStanzel3 жыл бұрын
Hi Andreas, I am not sure if it ws in this video or another one where you mentioned that you are still on the search for a real world use case for the Touch pins of the esp32. If you are interested, I created a smart control for my home assistant environment based on a esp32 leveraging the touch pins, took me a while to get them really working but quite happy with the end result and would be happy to share. I used some paper fastens / split pins as buttons (Büroklammer for us german speaking guys) works quite well, only recommend to use a metall chassis that is grounded ;)
@AndreasSpiess3 жыл бұрын
Thank you for sharing your project! It looks like something useful and obviously it works.
@Kalandro994 жыл бұрын
I'm working on a project with 15 digital Inputs, 3 digital outputs and 1 PWM output. It's a nightmare to find reliable sources on that topic! Thank you very much Andreas! I really appreciate your research!
@AndreasSpiess4 жыл бұрын
A lot of pins! I hope you have enough on the ESP32...
@jimadams77654 жыл бұрын
An excellent summary along with some very useful subscriber comments. Thank you.
@AndreasSpiess4 жыл бұрын
You are welcome! My subscriber always add a lot of value!
@mizarorion3 жыл бұрын
He estado buscando por internet y no había encontrado nada, solo el datasheet pero la verdad que no sabía como interpretarlo, este video me explica lo que estaba buscando a la perfección y seguro que me has evitado muchas horas de sufrimiento, lo he guardado como oro en pacho. MUCHAS GRACIAS
@AndreasSpiess3 жыл бұрын
Glad the content was helpful!
@SebaOPL Жыл бұрын
This is extremely helpful to a ESP32 newcomer. Thanks for sharing Excel document❤
@AndreasSpiess Жыл бұрын
You are welcome!
@danielscheibe86942 жыл бұрын
This was actually VERY useful. Thanks for the video!
@AndreasSpiess2 жыл бұрын
Glad it was helpful!
@stefanfobos3 жыл бұрын
Thank you for your work. This is a really good sum up of official documentation and expirience !
@AndreasSpiess3 жыл бұрын
Glad you enjoyed it!
@frollard4 жыл бұрын
Amazingly useful! I recently started porting an old project over to ESP32, and was pulling my hair out constantly having tried to just use a pinout map showing which pin went where - there was no mention of any traps or gotchas. The code wouldn't boot and I spent hours thinking my code wasn't compatible with an arduino compatible board. Truly frustrating. This is gonna save me so much time!
@AndreasSpiess4 жыл бұрын
You are probably not the first and lot the last loosing lots of time with this. Thanks for your feedback!
@mcneill643 жыл бұрын
Thank you. A bit to digest but powerful to know that 40 != 40. Saved to my list.
@AndreasSpiess3 жыл бұрын
Glad it was helpful!
@alanesq14 жыл бұрын
May be worth doing a similar video regarding pin usage on the ESP32Cam module? I have found that if using the sd card it is a real pain as it takes control of the onboard flash as a data pin (flashing it when accessing the sd card) and leaves no free gpio pins but it turns out you can use "1 bit mode" for sd card access which only uses 1 of the 4 data pins and so whilst access is slower it means you can still use the onboard flash and pins 12 and 13 are then free for gpio use. Note: to enable 1 bit mode use the command "SD_MMC.begin("/sdcard", true)". Note: you may need to re-assign the io pins as input or output that you wish to use after the sd-card is initialised as it can re-assign them.
@AndreasSpiess4 жыл бұрын
You should see the SD card pins in the Excel. I never used SD cards with the ESP32
@lukeszy2874 жыл бұрын
Really good video ! Was great timing as I spent ages yesterday trying to workout why serial1 was crashing the esp32. Thanks again
@AndreasSpiess4 жыл бұрын
You are welcome! You are probably not the only ;-)
@isov43456 ай бұрын
with Wemos D1 mini esp8266, I usually use Rx Tx pins as output / input pull up with some simple coding..
@AndreasSpiess6 ай бұрын
The ESP8266 is much easier to use...
@jwracingteam2 жыл бұрын
Andreas is a great mentor :)
@AndreasSpiess2 жыл бұрын
Thank you!
@crckdns4 жыл бұрын
Eine sehr schöne Übersicht und Erklärung! Und danke für die Excel Datei, die ist sehr nützlich.
@AndreasSpiess4 жыл бұрын
Bitte, gern geschehen. Teilen im digitalen Zeitalter kostet ja nichts mehr...
@rigfix4 жыл бұрын
Thanks Andreas ! Another excellent video. The timing could not be better, I needed to disable the startup log on a project here :)
@AndreasSpiess4 жыл бұрын
You are the first I hear that he needs it :-)
@TomBelpasso4 жыл бұрын
Great video. I use the Hall effect as a magnetic switch. I have some TTGO Lora32 boards with display and uSD card interface all of which I want to use. Plus a third UART so I don't have many pins to spare. The board has no physical input switch, only a power switch and reset. The nice thing about using the magnetic sensor is that I don't have to put a hole in the 3D printed case. I am running Micropython because much of my code is portable between PC, RPi and ESP32 and I hate working in C. The Hall sensor value varies a lot between boards and other factors which I haven't researched, so on startup I take multiple readings and average them to calculate an zero offset. This assumes no magnet is around. The magnets I am using are large rectangular ceramic one I got from Harbor Freight. The poles on the large faces. If I hold with one side up, I get a positive value, flipping it over I get a negative value. Putting the small side of magnet against the screen give me one value and the large side gives me a much larger value. So in effect I have multiple switch selections. I plan on having the display turn off after a timeout and only turn it back on when a magnet is detected. My Python code implements a value map function which is just like the C Arduino map function. I map the range to several levels. Right now I use it as 4 switches, Small side plus and minus and large side plus and minus. If you are interested I will upload the Micropython code to Github. Keep up the great work, sometimes it is like you read my mind.
@AndreasSpiess4 жыл бұрын
To use the sensor as an input is a good idea. Also another viewer uses it to reset the chip. I remember I used a reed switch to avoid a hole for a switch. If the ESP chip is close to a wall this is a good idea.
@DemokratieErwacht2 жыл бұрын
Danke!
@AndreasSpiess2 жыл бұрын
Thank you for your support!
@bluegizmo19834 жыл бұрын
What ESP32 board is that in the top left corner at 0:14? It's tiny with two rows of pins on each side of the ESP32 chip. It looks almost like a the ESP32 variants of the Wemos D1 Mini, but slightly smaller.
@AndreasSpiess4 жыл бұрын
My favorite project board in the video links
@YoutubeBorkedMyOldHandle_why4 жыл бұрын
Good call with your comment about the built in Hall sensor. This was my very first thought when I first read the specs. Hall sensors are very useful, and incredibly cheap, but will necessarily be located far away, since you wouldn't want to have strong magnetic pulses close to your uController. There are different types of sensors as well. So ... why build one in?
@AndreasSpiess4 жыл бұрын
So we agree. One viewer used the sensor to trigger a test modus at the end of manufacturing. I found this a good idea.
@luisgarrido21664 жыл бұрын
I'm glad to have found tour channel! Thank you very much for being such a special guide in this matter.
@AndreasSpiess4 жыл бұрын
Welcome aboard the channel!
@dimmoos7573 жыл бұрын
Special thanks for sharing the Excel file. Wishing the best for you!
@AndreasSpiess3 жыл бұрын
Thank you!
@johnerrington93714 жыл бұрын
The DACs appear to be a very high impedance output. I have found it essential to use an external amplifier, and not just any amplifier but one with a very low leakage current back to the DAC - a non inverting configuration rather than an inverting buffer.
@AndreasSpiess4 жыл бұрын
Good Info. I did not check it. Just with the oscilloscope.
@chronobot2001 Жыл бұрын
Thanks for this. I think you may have saved me from infinite future frustration.
@AndreasSpiess Жыл бұрын
So I am glad :-)
@NemonicanatLarge4 жыл бұрын
I've been working on a temperature / humidity sensor HD22 (I know I missed the designation but I'm sure you understand what I mean) and I use pin 32 as my input pin and I am glad to see its OK for this use. Thanks for the info.
@AndreasSpiess4 жыл бұрын
Glad it works!
@phenomen1134 жыл бұрын
And I was wondering why I couldn't get a battery voltage reading on pin25 on one of my WIFI projects. This explains a lot, thanks!
@AndreasSpiess4 жыл бұрын
Glad I could help!
@MrKoval-nm9ky4 жыл бұрын
very good video, thank you. This week, I spent around 3 days thinking why my RTC GPIO pins were not working, and actually the GPIO 39 is Input only (of course I found it on datasheet), as you said... But I thought I was doing something wrong with ULP instructions...
@AndreasSpiess4 жыл бұрын
You are not alone. This is the reason for the spreadsheet and the video...
@awdhut-e2e Жыл бұрын
those pins you mentioned doesn't exist are actually for some of the amplifiers inside esp 32 chip ( not the one we generally refer as esp32 chip but the actual chip inside esd shield ) those pins are not exposed to esp32 wroom or rover chips or dev boards for that matter
@AndreasSpiess Жыл бұрын
Thank you for the additional information
@stephang56714 жыл бұрын
Hi Andreas VERY useful again, thank you. I'd appreciated also a final 'prio 1 list' or if you marked them in the xls.
@AndreasSpiess4 жыл бұрын
They are marked, I think (named true GPIO)
@rodstartube4 жыл бұрын
As always very usefull. I will print a T-shirt with that excel file so i have it handy.
@AndreasSpiess4 жыл бұрын
:-))
@bluegizmo19834 жыл бұрын
Great video! I was just working on a project the other day that used a buzzer and it wasn't working properly, and I just went back to the sketch and looked. Sure enough, I had set my buzzer output to pin 39! 🤦♂️ Lol
@AndreasSpiess4 жыл бұрын
S*t happens ;-)
@foxtrotbravo17442 жыл бұрын
I found the spreadsheet useful, thanks. Frank
@AndreasSpiess2 жыл бұрын
Glad it was helpful!
@nikanetique4 жыл бұрын
I discovered many unknown things about ESP32. thank you for convenient table! 👍
@AndreasSpiess4 жыл бұрын
Great to hear!
@liama23 Жыл бұрын
Thank you! You saved me a lot of stressfull time.
@AndreasSpiess Жыл бұрын
Glad I could help!
@thetinytrader15644 жыл бұрын
Although, I use ESP8266 board, but I am using its TX and RX pins for driving two relays and they are working absolutely fine. So to me, once the board is programmed, TX and RX are free and can be used for both inputs and outputs.
@AndreasSpiess4 жыл бұрын
You are right, you can do that. For me I keep them free because my sketches often change and I need some debugging :-(
@thetinytrader15644 жыл бұрын
@@AndreasSpiess this guy also mentioned the same in his video what I had told you. kzbin.info/www/bejne/gZ2TpY1sn56Gmc0
@guidobonelli33942 жыл бұрын
this is really great. Nice work!
@AndreasSpiess2 жыл бұрын
Glad you think so!
@batica814 жыл бұрын
Thank you very much for this useful video! I tried porting a project (morserino 32) to a different version of esp32 board and it was very tedious (and unsuccessful) because of all the pin differences. It also uses those capacitive touch pins which adds to complexity. Maybe I will try again now :)
@AndreasSpiess4 жыл бұрын
Interesting project. Maybe I will also build one.. Currently I build an K3NG Arduino CW Keyer because my IC-7300 only supports Iambic Mode B and I am used to mode A :-(
@GlennHamblin4 жыл бұрын
Thanks for a great explanation of the ESP 32 I/O! It is appreciated.
@AndreasSpiess4 жыл бұрын
Glad it was helpful!
@jeandilissen41973 жыл бұрын
very useful, thanks, saved me a lot of work
@AndreasSpiess3 жыл бұрын
Glad it helped
@bbogdanmircea4 жыл бұрын
OMG this is amazing. I learned this the hard way. I would add that depending on the board, some other pins will be blocked or have limitations during boot, so checking the schematic of the board really helps. Is the xls available somewhere?
@AndreasSpiess4 жыл бұрын
kzbin.info/www/bejne/goqQYnd-id2Fd80 ;-)
@anonymoususer64484 жыл бұрын
Can ADC2 pins be used as GPIO when using WIFI? As usual, a pure-gold video by Andreas Spiess. A real engineer in everything he does. It was not clear to me if we can freely use the ADC2 pins as GPIO when using WIFI (6:26 into the recording) Maybe you can elaborate? thanks again for the great podcasts
@AndreasSpiess4 жыл бұрын
Wi-Fi only uses the ADC function. All other functions are ok.
@merlin_V2 Жыл бұрын
I was going mad, not finding this limitation anywhere else. Thanks for the clarification! I really needed those I/Os
@lemd494 жыл бұрын
Many thanks Andreas, you are saving us a mountain of troubleshooting hours with this guide!
@AndreasSpiess4 жыл бұрын
Glad to help!
@lmarloe4 жыл бұрын
Espressif introduced ESP32-C3 based on RISC-V. Waiting for review when the board comes out 👍
@AndreasSpiess4 жыл бұрын
And the supporting software. HW without SW is not very interesting for me...
@progmatica16082 жыл бұрын
Great channel! Thanks for sharing knowledge!
@AndreasSpiess2 жыл бұрын
You are welcome!
@KSITREVS4 жыл бұрын
I just designed a pcb with the ESP32 chip, sadly i didn't watch it in time as i have a ADC input on GPIO2. I guess the only problem is programming the chip.... Thank you, I too found that some pins were acting up and didn't have the courage to read the datasheet, i just changed pins!
@AndreasSpiess4 жыл бұрын
I am glad you have the information to check your design before ordering it...
@thomasrounds32474 жыл бұрын
Great information, Thank you. Concerning the touch pins, I recently was interested in using the ESP32 to measure capacitance of an external circuit for low cost liquid level sensing. We only need a single sensor pin but which one to use? So, I checked out the pins that are available using an Adafruit ESP32 Huzzah32 module; I checked with both the Feather and the simpler Breakout modules and these gave similar results. The test showed that the resting count value is different on the different pins. This may indicate different parasitic capacitances due to module routing and also leakage currents due to different pin functions. Without any added capacitance count values ranged from about 125 (Touch T6 and T7) to as low as 77 (Touch T8 and T9). Using a number of fixed 10pF capacitors I was able to show a logarithmic relationship of count to capacitance. That is, Capacitance plotted on a logarithmic scale versus count on linear scale is nearly a straight line. This makes some sense since the method is based on capacitor charge/discharge cycles and therefore based on the time-constants of such a circuit. Capacitance in the range of up to about 100pF is possible. I'm sure this is not precise capacitance for general use but it may be useful in an application such as liquid level sensing as we are investigating. Of course there are better choices for more accurate capacitance sensing but for low cost and ease of use, combined with Bluetooth, this seems like a good solution.
@AndreasSpiess4 жыл бұрын
Good work. My question is more: What would be a cool application of your findings?
@thomasrounds32474 жыл бұрын
@@AndreasSpiess Application might be to sense presence of water in a container or a pipe instead of air. It could possibly be used for crude level sensing of water in a tank. I did see some hacks using the ESP32 to sense water level using resistance but that is dependent on conductivity of water, which varies, and can corrode. Capacitance sensing depends on dielectric constant of water which should be more stable and does not require direct contact.
@mr.0x3733 жыл бұрын
such good video and a good explanation!! Thanks for saving my time!!
@AndreasSpiess3 жыл бұрын
You are welcome!
@antoniofiolbonnin4 жыл бұрын
Some pins are pulled up or down by default at boot time. Typically not an issue if you use those for inputs, but if you use them as output you may get glitches during boot time. Messy. I can't remember if these were part of your preferred list of 12 pins or not, as my project actually needed a lot of pins (8 PWM outputs, 8 on-off plain outputs, 2 I2C buses, 1 ADC, and I'm sure I'm even forgetting some).
@AndreasSpiess4 жыл бұрын
I never looked into that matter. Maybe somebody adds the information to the Excel.
@Vigyanabikshu4 жыл бұрын
Very useful. Can you please publish the same for the new ESP32 S2
@AndreasSpiess4 жыл бұрын
Do you already use it?
@Vigyanabikshu4 жыл бұрын
@@AndreasSpiess I am currently working on esp32 S2
@nf80023 жыл бұрын
Thanks so much for this info please can you tell us which pins are good to use them when using can bus protocol thanks in avance
I2S was highlighted at 4:43! It’s the I2Spiess interface :)
@AndreasSpiess4 жыл бұрын
You are right. My mistake.
@PHamster4 жыл бұрын
@@AndreasSpiess We're only human... we generate erratas as well
@HVICTORI13 жыл бұрын
Thankyou Mr. Andreas. Can you help us with something like "#3XX How to use an SFP interface with ESP32 o STM32" or something else.
@AndreasSpiess3 жыл бұрын
I do not know anything about SFP. But I found this: www.reddit.com/r/esp32/comments/hdxugi/esp32_sfp/
@TheDiverJim4 жыл бұрын
Thank you for a great video! Saving this to a playlist
@AndreasSpiess4 жыл бұрын
Glad it was helpful!
@TheDiverJim4 жыл бұрын
@@AndreasSpiess sir, your videos on the whole are absolutely fantastic. I’ve just started using the ESP, I would be struggling far more without you.
@jamesmichener75264 жыл бұрын
Another great video. One thing I have never figured out... and perhaps you or one of your intelligent viewers know how to do... is, how to get an 8 bit parallel port/ 8 bit atomic write, the purpose is provide a fast connection to LCD display. SPI is okay, but slow as compared to what one can do with 8 bits at a time.
@AndreasSpiess4 жыл бұрын
Most people use STM32 chips for fast displays. They use DMA, too. I never had fast displays on an ESP
@mvadu4 жыл бұрын
I have had hours struggling with trying to use gpio12 (on a Doit board they are next to power). Gpio12 needs to be held low during boot. With external pull up for i2c esp doesn't boot anymore. Specifically gpio12 controls the internal regulator voltage for spi flash chip. Wroom uses a 3.3v flash, and holding gpio12 high during boot sets the voltage to 1.8v. Thus flas won't work.
@AndreasSpiess4 жыл бұрын
You are right. Thank you. I updated the Excel accordingly!
@derisis134 жыл бұрын
What about I2S? I know that in the STM32F405 it can be mapped to pins where SPI can be mapped, but what about the ESP32? It is a really handy high-speed shift register and by the way a common audio protocol...