If I connect the Arduino board alone to the PC (Windows 11) using a USB cable, all works fine: I can program it uploading the code with the Arduino IDE.
If I mount the board to the shield and connect it to the PC, I don't see any device in Windows and in the Arduino IDE.
My final goal is to control a H-KING servo motor, but if I connect it to the shield with the ESP32 attached to the USB port, nothing happens.
Any idea how to solve this? Is the shield compatible with the Nano ESP32?
Your guess was right, the Arduino Nano ESP32 has a slightly different pinout than previous Nano boards: one RESET pin is now the boot mode selection pin. On shields not designed for the Nano ESP32, this will cause the CPU to stop in ROM bootloader mode (purple light) at every boot/reset.
The fix is easy though: you can safely cut the stem of pin B1 (third from top right in your picture) so that it doesn't enter the shield's socket. Everything should work as expected now!
Hi @lburelli and thanks for your very quick reply!
Before implementing your clever hack, I would like to be sure about the feasibility of my whole project.
In fact I have just read that the ESP32 board operates at a 3.3V instead of the usual 5V. As I mentioned, I would like to control a H-KING servo motor (through e.g. the pin 10), connecting it to the shield powered through the 0 RX pin with the following board I already own:
As for powering the Nano ESP32, you can use anything from 6 to 21V on the VIN pin (not RX!), so 6V should allow you to power both the board and most servos (but check your servo datasheet).
Indeed, the board will then convert this to 3.3V, and all other I/O pins will be limited to that. This may not be enough to drive a 6V servo input signal without significant jitter (if it is recognized at all). I'm no expert in this field though.
Unfortunately you are right, most servos need 4.8v~7.4v.... and that won't work (servo on 3.3v board).
So maybe in order to control servos the simplest solution is to buy a 5V Nano. I have seen that there is the Every version and the "normal" one. What's the difference? What should I buy to control servos?
About cutting the stem of pin B1 on the ESP32: will I lose some "will be useful features" of the board (while fixing the USB connection) or that's just an "always win" hack?
Thanks a lot, @lburelli , I will keep you updated on progress!
Looking around I found this old discussion which shows they are internally very different: the original Nano is basically a slimmed Uno, using the most common CPU in the Arduino ecosystem; the new Nano Every has a more powerful, but different, processor. Note that both are in a completely different league compared to the ESP32 - vastly less performance and no networking (WiFi/BLE) features.
I would say, check the libraries you would like to use in your project, to see if they are compatible with those boards (or CPUs).
In the case of the Nano ESP32, I'd go for "always win": you can't use that pin for anything sensible in your sketch (there is no pin called B1!), and the only function you will lose is the ability to enter ROM recovery modevia external logic - a questionable "feature" IMHO
I have just cutted the B1 and the Nano ESP32 connected through the USB to the PC is recognized now!!!
And... the good news doesn't end here ..... connecting the servo motors (the H-KING HK15298B or the HITEC HS-311), they are moving! I really didn't expect that... how can you explain it?
So for now I am going to keep playing with this board, as you said it has much more potential than the others!
For the record (and increased visibility) I have been trying to use the dollatek prototype shield with my arduino nano esp32 and the usb was not recognized either.