Omnibus F4 Nano v6.1 pinout

I use it for the magnetometer.

Ari.

so you could trade pulse-type RCIn and buzzer for two additional PWMs / GPIOs using TIM3_CH1 and TIM4_CH1. as for now this is not gonna work using BRD_ALT_CONFIG though.

I use an FrSKY receiver. Are you recommending I switch the RX from s.bus to PPM

Ari.

i think iā€˜m getting confused here. initially i was brainstorming options to add PWM outputs in reply to what @brad112358 suggested. this would require to free TIM4. itā€˜s now used for RCIn, which can read both pulse-type (PPM) and SBus. RCIn via serial can only read SBus (and other serial protocols obviously), not PPM though.
so if you are using serial type RC only, trading RCIn on the LED pad as well as using the CAM_C pad for additional PWMs is an option. if you need PPM type RC, itā€˜s not :wink:

OK, let me state what Iā€™m trying to do. I think others have additional ideas that are valuable but orthogonal to my situation.

I have this board, an FrSKY RX, an mRo GPS+mag and a SiK radio.

I got the mag working through the pads labeled RX3/TX3 (I2C). I have the GPS working through pads labeled RX6/TX6 (SERIAL3 in AP).

I need to figure out where to connect the SiK Radio, without taking away my RC RX input.

Ari.

Yes, sorry if I confused things. There are two different threads of thought/conversation here.

@iter, As I said, and from what I can tell, your needs are met by the connecting things as described in the current arducopter docs for the V6 board. Did you look at the page I linked? You put compass I2C on RX/TX3 pads, GPS on RX/TX6, Telem radio on RX/TX1, Receiver SBUS on LED (labeled WS8212 on V6.1).

Iā€™ve not tested an RC receiver on V6.1, but it works on V6 and itā€™s the same pin, so it will work.

Thank you @brad112358. I will try this and report back.

What threw me off was sbus inversion. I was under the impression that sbus needed an inverter. The pad labeled SBUS(RX1) appears to have an inverter between it and the microcontroller. The LED pad connects directly to the uC. I think youā€™re saying itā€™s OK to connect telemetry through an inverted RX line and regular TTL TX line; and that itā€™s OK to connect an sbus receiver to a regular TTL line without inversion.

Ari.

Extensively. This is how I was able to make any progress at all.

Ari.

OK. Now that you say it that way, Iā€™m confused too. I need to look at the documentation for the radio I used and see what protocol RX protocol I used. Perhaps it wasnā€™t sbus. But the docs say it should work as it is one of ā€œall RX serial protocolsā€.

Nope. Iā€™m full of crap. It seems the receiver I used was probably outputting CPPM. The docs may be misleading unless there is some (un)inverting going on in the MPU, but I donā€™t think the F4 does that. I think that the LED pin works for every RX signal except what you want to use. Sorry. Can you configure your receiver to use something other than SBUS?

Also, the V6 seems to have both TX1 and SBUS pads. I assume just the SBUS pad is the inverted input. But I donā€™t see two separate pads on V6.1. This may be a problemā€¦

ā€œChange Logsā€ in the picture at the top of this thread it do say ā€œ6. SBUS receiver moved to RX1.ā€

If it helps, hereā€™s a connection diagram I have from the vendor. It doesnā€™t show whatā€™s inverted and what isnā€™t, nor what breaks out to pads. It does shed some light on their intent with the design.

Ari.

Yes, that diagram helps. Thanks!

Iā€™m not sure how they think they can claim 100% firmware compatible. They must be talking about a particular firmware. Iā€™m feeling cheated as it looks like many of us canā€™t use this board without some firmware work (or lifting a pin and adding a wire).

It looks like they took away the non-inverted RX1 pad; At least, I canā€™t find one on the V6.1 board. But, they did give us access to another pair of useful pins. Iā€™m not very familiar with the way pin functions are assigned, but the data sheet makes me think that PB8 (PWM pad) and PB9 (PB9 pad) can be used for I2C or CAN bus. I think this could let us define a new board hwdef which uses RX/TX3 for serial instead of I2C.

Iā€™ll try to dig into this, but if someone more familiar with writing hwdef.dat files wants to fix us up, please do!

This is all new to me. This is my third AP board (I have a PX4 Mini and Matek 405 Wing running smoothly) and I have some experience writing STM32 firmware, but Iā€™m just learning about hardware management in AP.

Ari.

morning guys. sorry if iā€˜ve added confusion too.

as stated above, ardupilot will read both SBus and PPM on PB6, so afaik thereā€˜s no functional change here, given that the WS2812 pad is really feeding PB6 on V6.x version.

as far as i can tell, the inverters have been moved from USART1 to USART6, plus thereā€˜s solder-jumpers for inversion-control now. this wonā€˜t be no functional change regarding USART1 (SERIAL1).

the most striking issue i see is that USART6 doesnā€˜t seem to be pinned out completely, i can see only one single UART6 pad on the new versionā€˜s pinout scheme. please correct me if iā€˜m wrong! in this case, weā€™d only have one full serial port left.

USART6 (SERIAL3): There are TX and RX pads on the back of the board that connect straight to pins 37(PC6) and 38(PC7). I have the GPS connected there and it works. On the front, thereā€™s a pad marked F.Port(UART6) that floats by default. If you short the jumpers on the back, this pad carries inverted, combined (half-duplex) TX and RX lines like a yaapu cable.

USART1 (SERIAL1): Pad marked DSM2(TX1) connects directly to pin 42 (PA9). Pad marked SBUS(RX1) connects to pin 43 (PA10), but through an inverter. With existing firmware, USART1 is usable for SBUS input, but not for bidirectional operation since the RX line is inverted but the TX is not.

The pad marked WS2812 connects directly to pin 58 (PB6). You could replace

PA10 USART1_RX USART1

with

PB6 USART1_RX USART1

in OmnibusNanoV6/hwdef.dat and get a full-duplex, uninverted USART1. In this case, it is my understanding that you would lose the ability to read SBUS on SERIAL1, since it requires inversion.

Ari.

That solves half of Ariā€™s problem.
But, PB6 doesnā€™t have UART function, does it? Is RCIN doing software serial?

But, another big problem remains. They seem to have eliminated the non-inverted input for RX1 (PA10). V6 had both inverted and non-inverted inputs, labeled SBUS and RX1. I think this eliminates one serial port for us. But, with your change to make RX/TX3 available for serial, I think we can just add support for I2C on PB8 and PB9.

Iā€™ve only ever made minor tweaks to hwdef.dat files, but this should be straight forward, shouldnā€™t it? And, Iā€™d think we could just keep the one hwdef for both V6 and V6.1 with V6 each just not implementing some of the connections. Would you have advice or want to help with this?

Thanks!

sure, iā€™ve ordered a V6.x for testing as iā€˜m not that familiar with inverter handling honestly. good to hear thereā€˜s both a TX6 and RX6 pad on that board!

btw: has anyone of you actually tested SBus on ws2812 pad? we donā€˜t have softserial in ardupilot, but timer-based RCInput softsigreader afaik does the job. correct me if iā€˜m wrong please.

What are the relevant parameters to set to tel AP to expect SBUS there?

Ari.

no special settings required, it should autodetect.

@ iter, For V6.1, it wonā€™t really matter if SBus works on the ws2812/LED pad, since we canā€™t use RX1 for serial anyway, you can connect it there if it doesnā€™t work on the LED pad. I suggest try it. Itā€™s just one wire to move.

@vierfuffzig, You mention you have ordered V6.x. Will it be V6 or V6.1?