459MHz UHF legal Tx and Rx - Arduino based programability.

Started by Devonian, July 10, 2011, 02:54:30 PM

Previous topic - Next topic

thundead

hey Simon,

the fw I'm currently working on should drastically improve the range of the openLRS, adding proper RSSI, in-flight fail safe and a proper hopping algorithm (over the 10 ISM channels for 459Mhz).

I will add the telemetry option in the upcoming version. Current version is aimed at long range so it's stripped of anything fancy just to make it more robust.

Mihai.

Quote from: simondale on February 24, 2012, 11:49:28 AM
Hi Thundead,

I've been enjoying using my OpenLRS but haven't touched/ thought about the firmware since I first flashed it with, I think, the first 459MHz version.  I simply haven't  had any problems with it so I haven't touched it. 

I don't do anything particularly clever with it, not even RSSI, but it is bi-directional (I know because it beeps when I turn the Rx off)!

Should I upgrade to a newer firmware now?  What would I gain if I upgrade?  Is there proper FHSS in your latest version?  That would be great!

All the best

Simon
If you like my work feel free to contribuite to my Pringles & Red Bull Fund :) http://forum.flytron.

Shikra

Thundead: full kudos to you mate. Doing a fantastic job that we all appreciate.
I'm not a user yet - but will be as soon as I finish a couple of projects and get some funds together....
Still flying up my own arse ....
And giving Bignose one up his..
Moister than an Oyster...........

Devonian

Hi Mihai,

Don't go keeping too much stuff to yourself, at least share with us on here ;)

When I first realised that OpenLRS wouldn't go to 459MHz, I asked for some assistance on Flytron & FPVUK forums and got nothing.
I then downloaded the data sheets and read up on which bits needed changing to get to 459MHz and posted it here and in Flytron forum.
I am no programmer and it took me a long time to work through the code and pick out what was relevant and what to change.
I got nothing out of it either, but then, it is opensource and that's what most of it is about - sharing the knowledge (and the work).
I agree that a lot of it is not under any kind of real control or versioning.
If I was a programmer, I'd be in there giving you a hand.

Keep up the good work and don't despair, there are many more who are grateful to you but just don't show it.

Cheers,

Nigel.
You're only jealous 'cos the voices aren't talking to you  :D

Shikra

+1 to what Nigel said...
Don't think you would ever make any money out of this other than goodwill/beerfund stuff.
I know from speaking to one of the other UHF designers - he sells lots of FPV gear and its not enough to live off... Says its not worth his time for the money.

Its your call over the open source bit. I would be more annoyed at others taking your work and not giving credit.
Same for Alex on multiwii - he's put years of work into it. Just keeps on for teh love / donations.

But - your the dude man - be recognised for the guy that brought us this.

Still flying up my own arse ....
And giving Bignose one up his..
Moister than an Oyster...........

thundead

Yup , i'll share the source code anyway :) Specially with you guys! thanks you all for all teh support anyway :) here is a sneak preview :D

! Private video

Quote from: Shikra on February 24, 2012, 04:08:17 PM
+1 to what Nigel said...
Don't think you would ever make any money out of this other than goodwill/beerfund stuff.
I know from speaking to one of the other UHF designers - he sells lots of FPV gear and its not enough to live off... Says its not worth his time for the money.

Its your call over the open source bit. I would be more annoyed at others taking your work and not giving credit.
Same for Alex on multiwii - he's put years of work into it. Just keeps on for teh love / donations.

But - your the dude man - be recognised for the guy that brought us this.
If you like my work feel free to contribuite to my Pringles & Red Bull Fund :) http://forum.flytron.

SouthPawPaul

It's possibly cause I'm a little bit too soon after your posting, but your vid is marked as private.

papa_lazerous

The video won't play for me there is a message saying "this video contains restricted content" :(


Sent from my iPhone using Tapatalk

thundead

If you like my work feel free to contribuite to my Pringles & Red Bull Fund :) http://forum.flytron.

papa_lazerous


Coyote

Education and schoolin is good, but FPV is gooder :)

Devonian


Attention - Please read below as it seems I made a mis-calcualtion in my original post

In my defense, I had the 10kHz thing on my mind and mis-calculated the StepSize (still thinking 10khz)  :-[

From my original code...

In the rfm22b tab,to set the band of operation to 450 - 459.9 MHz and 50kHz stepping

Stepping default values
The steps (channel spacing) are set in the rf22b.pde with the default line
_spi_write(0x7a, 0x06); // 60khz step size (10khz x value) // no hopping

So, for example, for 50kHz steps, I set:
_spi_write(0x7a, 0x05); // 50khz step size (10khz x value) // no hopping



Also, the hopping channels can be defined in the config.h, for example, I have modifed mine:
//###### HOPPING CHANNELS #######
//Select the hopping channels between 0-255
// Default values are 13,54 and 23 for all transmitters and receivers, you should change it before your first flight for safety.
//Frequency = CARRIER_FREQUENCY + (StepSize(50khz) * Channel_Number)
static unsigned char hop_list[3] = {10,15,25};


------------------------------------------------------------------------------------------------------------------------

Maybe we should just set the step size to 10kHz as it will then be easier to think about the calculations for stepping sizes, e.g.

In the rfm22b tab,to set the band of operation to 450 - 459.9 MHz and 50kHz stepping

Stepping default values
The steps (channel spacing) are set in the rf22b.pde with the default line
_spi_write(0x7a, 0x06); // 60khz step size (10khz x value) // no hopping

So, for example, for 10kHz StepSize, I set:
_spi_write(0x7a, 0x01); // 10khz step size (10khz x value) // no hopping


This will then make the hopping channels easier to think about and the original steps can remain the same (but modify the StepSize(10khz) value)...

Also, the hopping channels can be defined in the config.h, for example, I have modifed mine:
//###### HOPPING CHANNELS #######
//Select the hopping channels between 0-255
// Default values are 13,54 and 23 for all transmitters and receivers, you should change it before your first flight for safety.
//Frequency = CARRIER_FREQUENCY + (StepSize(10khz) * Channel_Number)
static unsigned char hop_list[3] = {10,15,25};


The above gives me 459.100, 459.150 & 459.250 as my hopping channels.


------------------------------------------------------------------------------------------------------------------------

This was pointed out to me by 'ecbee' over on Flytron forum...
http://forum.flytron.com/viewtopic.php?f=7&t=4&p=2325#p2324


Would someone like to check and confirm against the specs in data sheets available from the HopRF site
http://www.hoperf.com/rf_fsk/fsk/RFM22B.htm

If now correct (as above in blue) I will ammend my first post and those who have 459MHz firmwares should ammend their files and upload to the Tx and Rx.

I'll also get Melih (Flytron) to change the Google repository.

Nigel.
You're only jealous 'cos the voices aren't talking to you  :D

Coyote

I noticed the post on Flytron earlier, tbh i never noticed myself, but will 10hz seperation give sufficiant spacing to still be effective Nigel ?
Education and schoolin is good, but FPV is gooder :)

Devonian

Hi Ian,

No, 10Khz is not enough and it doesn't fit with the 459MHz band channel plan either as the band plan calls for 25kHz channel spacing.

However, 10kHz multiplied by the number of channel 'spacings' (StepSize) you require will fit the band plan.

e.g. (from my example startup frequency and channel step size and step spacing above)

459.0 + (10kHz x 10 (= 100kHz)) (1st channel hop from your defined base frequency of 459) = 459.100
459.0 + (10kHz x 15 (= 150kHz)) (2nd channel hop from your defined base frequency of 459) = 459.150
459.0 + (10kHz x 25 (= 250kHz)) (3rd channel hop from your defined base frequency of 459) = 459.250

Get the drift?


Whereas before, (in my error) the channel StepSize was defined as 50kHz and we ended up out of band!!

459.0MHz + (50kHz x 10 (500kHz or 0.5MHz)) = 459.5MHz (Just within legal band)
459.0MHz + (50kHz x 15 (750kHz or 0.75MHz)) = 459.75MHz (Outside legal band)
459.0MHz + (50kHz x 25 (1250kHz or 1.25MHz)) = 460.25MHz (Outside legal band)

Remember, the RFM22B cannot do 5kHz spacing, so we decide if we are going to startup on 459.0 or 459.025 so we can get a mix of channels to fit the band plan.
http://www.ukrcc.org/459mhz.html
Of course, if channel hopping is now robust enough, we could use the whole band from 458.525 - 459.475 in either even or odd channel steps.

I chose to only hop channels above 459.1 because below 459.1 is a shared part of the total band plan.

Nigel.
You're only jealous 'cos the voices aren't talking to you  :D

Coyote

Ah right got ya :)

So going off that, you could have :

//Frequency = CARRIER_FREQUENCY + (StepSize(10khz) * Channel_Number)
static unsigned char hop_list[5] = {10,15,25,35,45};

459.0 + (10kHz x 10 (= 100kHz)) (1st channel hop from your defined base frequency of 459) = 459.100
459.0 + (10kHz x 15 (= 150kHz)) (2nd channel hop from your defined base frequency of 459) = 459.150
459.0 + (10kHz x 25 (= 250kHz)) (3rd channel hop from your defined base frequency of 459) = 459.250
459.0 + (10kHz x 35 (= 300kHz)) (1st channel hop from your defined base frequency of 459) = 459.350
459.0 + (10kHz x 45 (= 350kHz)) (2nd channel hop from your defined base frequency of 459) = 459.450

Stay within the Uk band with 5 channel hopping ?
Education and schoolin is good, but FPV is gooder :)

thundead

thundeadMod 3.3 on its way :)

Quote from: Coyote on March 04, 2012, 03:14:56 PM
Ah right got ya :)

So going off that, you could have :

//Frequency = CARRIER_FREQUENCY + (StepSize(10khz) * Channel_Number)
static unsigned char hop_list[5] = {10,15,25,35,45};

459.0 + (10kHz x 10 (= 100kHz)) (1st channel hop from your defined base frequency of 459) = 459.100
459.0 + (10kHz x 15 (= 150kHz)) (2nd channel hop from your defined base frequency of 459) = 459.150
459.0 + (10kHz x 25 (= 250kHz)) (3rd channel hop from your defined base frequency of 459) = 459.250
459.0 + (10kHz x 35 (= 300kHz)) (1st channel hop from your defined base frequency of 459) = 459.350
459.0 + (10kHz x 45 (= 350kHz)) (2nd channel hop from your defined base frequency of 459) = 459.450

Stay within the Uk band with 5 channel hopping ?
If you like my work feel free to contribuite to my Pringles & Red Bull Fund :) http://forum.flytron.