Third party cookies may be stored when visiting this site. Please see the cookie information.

Home Family Days Out Raspberry Pi & Electronics Blog

Stewart's Blog

Stewart Watkiss website to the world ...

(Children, computing, first aid and other ramblings ...)

Radio Control for the Raspberry Pi Pico – using I-Bus

The Raspberry Pi Pico does not come with any kind of wireless build-in, but that doesn’t mean you can’t control it without wires. You can easily add a Radio Control controller such as ones used to control RC model Airplanes.

In an earlier video I explained about how you could interface with a receiver using the same PWM signal which is normally used to control servo motors. Whilst this worked it put a lot of work load on the Raspberry Pi Pico and was not as reliable as I hoped for.

I have now investigated other technologies and found that using I-Bus is a much better way to interface to a radio control receiver. This did mean an upgrade for the receiver, but it was a big improvement in reliability and reduces the load on the Raspberry Pi Pico.

The RC controller I am using is a FlySky FS-i6. This is a relative is relatively inexpensive controller for RC model planes. Although designed for model airplanes it can be used with other models and in this case to send signals to a Raspberry Pi Pico. You could also use other types of controllers such as those designed for cars or boats, as long as they can provide an I-Bus output. It may also be possible to use SBus, but that may need additional electronics or an alternative software library. If you’d rather use PWM then see: Radio Control for the Raspberry Pi Pico using PWM, although there is significant advantages to using I-Bus instead of PWM.

Radio control RC controller with a Raspberry Pi Pico

Originally I used the FS-iA6 receiver, but unfortunately that does not support I-Bus. A better receiver is the FS-iA6B which has the same PWM output as the FS-iA6 but also adds IBus. The I-Bus interface can be used to interface with a Raspberry Pi Pico or other microcontroller using a serial UART connection.

Instead of using C++ which I used when reading PWM, I have created this using MicroPython, which is easier to understand and modify.

In this video I only cover the theory, but I plan to put this to practical use in a future project most likely based around a mecanum robotics chassis.

The micropython class library and demonstration code is available from the link below:

More Information

Please leave comments using the facebook comments below.

UK days out, children and holiday information is also available on the Days Out Diary web site
Linux, LPI and the Quiz / Test Program posts are also available on the Penguin Tutor website
First Aid Information, first aid games and first aid practice test / quiz entries are also available on the First Aid Quiz Web site