Why does servo shield disable nano RP2040 connect

I'm trying to use the rp 2040 connect for some simple robotics projects. I'm using this servo shield that worked with my arduino nano:
image

I can not connect to the rp 2040 when it is installed in the shield. It works fine until I try to install it. Then it basically seems to shut down. It will still show the green power light, but if I have a Blink sketch running on the chip, it will shut off as soon as I put the chip into the shield? What can I do to fix this problem?

This is because your shield is a 5V board with 5V signals and the RP2040 is a 3V3 board with 3V3 signals, both in an out.

What chip is on that shield?
I think it might be an I2C interface, so to fix it remove the pull up resistors from the shield and connect them to the 3V3 supply. Also remove the 5V powering the chip and replace it with 3V3.

Also the pinout of the 5V nano is totally different to the RP2040, or any of the other new nanos, so you wouldn’t expect it to work anyway.

That makes sense. Is there a 3.3v version of that shield somewhere that I can purchase? Restructuring my shield from 5 to 3.3 might be slightly above my skill level right now.

The Arduino Nano RP2040 Connect is a new board. There are probably no servo shields for it yet.

Adafruit has put a RP2040 processor on a "Feather" board. I assume that the Servo FeatherWing can be attached to it.
That is not an official Arduino board, they may use their own build environment and if there is a bug, you have to rely on them to fix it.

I'm really trying to learn circuit python combined with simple robotics. I'm pretty new at this, so the learning curve can be pretty steep.

That is a nice goal. Did you know that Adafruit does a lot with that ? Including many Youtube videos. The Wokwi simulator can do CircuitPython on a RP2040. It is still in development, but it is fun.

So they did actually made it pin-compatible. That is very nice, I didn't know that.

I have been looking into that Servo Shield before. There was something with it, I'm not sure (I think it uses the voltage regulator of the Nano board to make 5V and then it has an extra 3.3V voltage regulator to bypass the 3.3V on the Nano board).

VIN can be 12V and above for both the classic Nano and the Nano RP2040 Connect.
The digital output pins are 5V 20mA (40mA shortcut current) for the original Nano and 3.3V 4mA for the RP2040.

As far as I can tell, the only problem seems to be the 3.3V level of the signals. You need Servo Motors that can use that signal or use hardware to amplify the signals. Some Servo Motor explicitly tell that they are 3.3V signal compatible: https://www.pololu.com/product/3421.

Do you have a schematic for the servo board ? I hope your RP2040 is not fried.

I used Circuit Python for my last project and I feel very let down by Adafruit. Their MIDI drivers do not, for some reason even they don't know, send certain MIDI messages. You can tell they knew about it because one of them was in the example code they produce with the library, but it was commented out.
I did raise a GitHub issue with them where at first they were helpful suggesting it was fixed in a daily build, but it was not, and they stopped responding to my questions for the last three weeks now.

Circuit Python has a number of disadvantages over MicroPython, the biggest one to my mind is that they do not support in any way the use of interrupts.

So you think Micropython is a better version of Python for Microcontrollers? I'm focusing on Python because it's my first programming language. I've been working to learn the basics for about four-five months now.

It is more of a mainstream language and not something that, as far as I can see is just designed to support customers who have bought stuff from them.

Currently Circuit Python does have a lot of drivers, but some like the OLED driver I had to use for this project, was overly complicated for what I wanted it to do. And as a consequence it was slow.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.