Yukon UART Query

Hi,

I have just got myself a Yukon and I am trying to figure out a method to enable commutation over UART with a Jetson Nano.

I currently have this working on a Pico W as per image below using UART but want to swap this for the Yukon, I am not sure the best way to go about this using the Yukon. Is there a way of leveraging the expansion header to do this or would I need to buy a prototype module to achieve this?

The expansion headers don’t supply UART. But if you look at the pinouts you can see that various slots do expose the UART pins of the Pico.

I appreciate this is an old thread - but I have a similar question to the OP.

I would like to use one of the UARTs to connect an RC controller over iBus. I already have plans for all 6 slots on the Yukon.

From the Pin out diagram linked in the post it looks to me like UART 1 is available in the expansion headers - am I reading the diagram wrong or is there a reason not to use the UART from the expansion?

That is misleading. On the expansion header you only have the CTS/RTS pins, which are for UART flow-control - to be used, you also need the RX/TX pins. But flow-control is not that commonly used anymore anyhow.

@bablokb is correct. There is no UART TX/RX on the expansion header, the only way to get UART would be by the module slots.

Which modules are you using? And what are you using them for? Perhaps there’s a way to optimise them to give you a few pins free for UART.

Thanks for clarifying.

I am planning on using 1 x Serial Servo, 4 x Big Motor + Encoder and 1 x Wifi.

I guess I could look at adding a PicoWH and then connecting it to the Yukon through the UART not being used by the Serial Servo - then I could do the iBus and Wifi connections on the PicoWH and replace the Yukon Wifi with a Prototype board.

Ah okay. You’re pretty full up with module features there. Even if you weren’t planning to use the encoders (which are connected to UART pins), they’re sadly the same UART0 as used by the Serial Servo module.

There is one alternative, if you’re willing to dive into the code. You could make use of PIO to turn GP26 or GP27 on that expansion header into a UART RX, with code similar to this: micropython/examples/rp2/pio_uart_rx.py at master · micropython/micropython · GitHub

Here’s code for TX too, but I don’t think you need it for iBus? pico-micropython-examples/pio/pio_uart_tx.py at master · raspberrypi/pico-micropython-examples · GitHub

It wouldn’t hurt to try, if you already have the hardware. Then maybe explore the Pico WH approach if you hit any stumbling blocks with everything working together nicely.

Thanks @ZodiusInfuser for the suggestion - I added a UART RX via PIO on GP26 and sure enough I have managed to get all of the modules registered and just about working.

One thing that I wanted to check - and I am happy to start a new thread if needed. I was looking for a 5V output that I could use to power the iBus receiver.

Looking at the pin out diagram I see a 5V on the CTRL header, but I wasn’t sure what the control header is for and whether it could be used - otherwise all of the available power is either V+ or 3.3V from the 2040.

Glad to hear the UART RX via PIO is working for you!

Since you posted here, I’ll answer. Btw, you may wish to join the Pimoroni Discord, which has a #Yukon channel that I check quite regularly, and has other Yukon users.

Does your iBus receiver actually NEED 5V? I have used one (I think a Flysky FS-ABS) with a Raspberry Pi at 3.3V and it worked without issue despite saying it needed 5V.

The CTRL header exposes ways of connecting an external Power Button, Power LED, and a Boot Button. The 5V on the header is purely for connecting that power button, and as such can only deliver 50mA max. I would advise against using it for your iBus receiver.

Instead I would recommend getting a 3.3V to 5V boost converter. You will also need to get a logic level shifter, to translate the 5V signals from your iBus receiver down to 3.3V, otherwise you risk damaging the RP2040. You can see why powering the iBus direct from 3.3V would be easier ;).

I have thought a few times about making a module that makes wiring up 5V devices easier (boost reg + level shifting), but since you’re already full with modules, it wouldn’t help you here.

Thanks for the info about the control header.

The FlySky FS-iA6B claims to need 4-6.5V and during dev/testing of the PIO UART I tried it with the 3.3V out of a PICO and IIRC it didn’t get a connection with the Transmitter.

Your comments about the input level are well made, I haven’t found a specification of the Ibus out voltage for the FS-iA6B, but logically why would it not match the input - you can tell I am a software engineer as I miss such obvious hardware issues.