Spi csel limited on the raspberry pi

Hello, we want to use this following board Raspberry Pi+ LoRa(TM) Expansion Board for telemetry and uav control.
But as the navio+ uses already the two available csel pins from the raspberry pi how could we manage to workaround that possible issue ?

Thanks,

Philippe Crochat
Anemos Technologies

Hi,

I’m planning something similar and I think there is a solution by using the bcm2835 spi driver instead of the bcm2708.
The bcm2835 driver doesn’t use the hardware CS pins but instead uses them as GPIO due to some timing issues with the FIFO and also allows you to add more GPIO CS pins. Since the Navio+ and Navio2 (I think) both expose extra GPIO pins in the SPI connector, this should be doable.
Check this post:
https://www.raspberrypi.org/forums/viewtopic.php?p=821666#p821666

I didn’t try it yet though.

Let me know how it works pls, I’ll get around to doing the same thing as soon as the RFM22Bs arrive :smile:

@anemos GPIO17 and GPIO18 can be used as chip select pins using the new SPI driver, but I would recommend not to attach anything to the SPI bus, it is quite busy with the IMU and GPS and new device could ruin the performance.

Is there anything special about these modules? They look just like usual RF modules, only connected over SPI. If I’m right it’s better to stick to UART or USB ones.

@jeanleflambeur SPI GPIO CS do work, and we use them on Navio2. There is no SPI port on Navio2, but you still can access pins using a tall 40-pin extension header if necessary.

Yes there is definitly something special about these modules. They can carry telemetry and PPM information (TX and RX) along very long distance. A 400 km flight has been reported with a balloon.
Having this module integrated to the navio would be very appreciated as all the electronic (flight controler, radio, camera, onboard computer) would be integrated into a single neat stack unit.

Do the SPI GPIO CS work on navio+ ?

The core of those boards are separately available surface mount SX1278 compatible modules. I wonder if they match a standard layout, something for which you could find a UART or USB board for.

A quick search revealed this RS232 version and several others with USB:

http://www.dx.com/p/433mhz-long-range-sx1278-radio-modem-telemetry-wireless-rf-module-w-rs232-interface-361797#.VrJKO_krKUk

That RasPi board with two RF modules looks like some kind of diversity, or is it just two modules (one for PWM, one for telemetry)? If it’s not diversity then two small separate units may be good enough, with a MAVLink proxy running on Navio to two USB units.

Even if it must be that exact model to get the extreme range (the others I found only stated 5km) maybe a RasPi Zero and a link between that and the main Navio RasPi wouldn’t be so bad. Depends on the size of your UAV. Perhaps having the module separate to the main FMU/Navio is better for RF than one stack.

Anyway nice find. If I ever buy telemetry radios again I’d get some of these “LoRa” dongles in preference to 3DR radios. The range is much longer and the price is lower.

Hello, nice shot, I didn’t find in my earlier search this rs232 module. However, even if plugging many different usb dongles may always be a solution, the overall look of the electronic will be bad as full of different cables. Having loose and long cables everywhere is always worse in a RF perspective as having one stack with short tracks. Moreover, having an RFM98W or an RFM22b controlled by the spi bus is better as everything can be modified by only a small amount of coding (hoping frequencies, real time SNR calculation, real time maximum range calculation …). I’m planning with other industrial partners to build an open source project out of it along with long range digital low latency video link. The openlrs project already brings the 433MHz PWM and telemetry part.

to answer your question, one 433MHz module does PWM and telemetry. So two modules would bring diversity and thus a longer range.

1 Like