RAK 4631: no servo answers

Hello dear RAK community,

First of all, I’d like to say that I’m french and a complete beginner about arduino stuff, so please forgive my dumb questions.

I’ve been following a DIY tutorial: canairi air quality sensor, it’s supposed to be a rak 19003 powered by a 3.7V battery with a rak 4631 and a air quality sensor. When the air quality is good, the canairi is standing on it’s branch, and when the air is poor, the bird fall, it’s done by a servo motor.

Visual Co2 aur quality sensor

It seemed to be an easy tutorial to follow, but I can’t make it to work, and the problem seems to be the servo part.

What I’ve done so far:

  • Tested my rak4631, compile a code to test the air sensor and report a value every minutes: working
  • Tested my servos on an other board (arduino uno) to make sure they work with 3.3V voltage: working
  • Testing my servo on rak4631 with a basic servo test: I’m measuring 3.3V at my servo entrance, but the servo does nothing… the servo is connected to VDD, GND and Rx0

The thing that is turning me crazy is that on the tutorial it seems to work just fine… So I don’t know what’s going on…

My complete beginner knowledge about arduino stuff is pushing me to read about documentations and forums, I’m also using chatgpt (It’s actually really good for the coding part).

But here, I’m completely stuck and I’ve been trying to figure things out for 4 weeks now…

Any helps would be appreciated :wink:

Best regards,

Jordan

Welcome to the forum @J0pri

You cannot connect the servo directly on a GPIO with WisBlock. The GPIO’s (RX0 is just a GPIO), have a limited current output. It is not enough to drive a motor.

An Arduino UNO can drive a much higher current on its GPIO’s.

Good morning Beegee,
Thank you for your kind reply, I understand your answer. What I don’t understand is why it is “working” on that guy youtube video, I suppose that he doesn’t say everything.

So, based on your answer, what are my possibilities using the rak 19003 and 4631?

Maybe his servo is very small and doesn’t require a lot of current.

For a decent servo driver, you need a RAK19007 Base Board and (depending on the way the motor is driven) either a RAK17000 or a RAK17001

Good evening Beegee,
Thank you for your answer and for the suggestions.

I’ve read something on this forum where you said “Did you connect the servo directly to RX0 pin? That will not work. The max output current of a nRF52 GPIO is ~15mA.”
It’s probably a dumb question (forgive my lack of knowledge x) ) but isn’t it possible for me to add a resistor to increase the amperage? A resistor of 220 Ohms ?

Can I use a RAK17000 with my RAK19003 or it’s only suitable with a 19007 base?

Thank you for your help so far, It’s helping me a lot.

You would need a transistor or mosfet to drive the servo, just a resistor will not do it.

The RAK17000 is for an IO slot, the RAK19003 has only Sensor slots, so it will not work. You need a RAK19007 to use it.