LibrePilot Forum

Development => Hardware => Topic started by: xfce on August 19, 2017, 09:29:07 am

Title: oplink(100mW/1W)+hc05/06
Post by: xfce on August 19, 2017, 09:29:07 am
I am designing oplink+bt , oplink is compatible with RFM22(100mW max) and RFM23(1W max).

3D PCB as below

top
(https://vgy.me/mtJ9rp.jpg)

bottom
(https://vgy.me/MX8HVw.jpg)

and real PCB
(https://vgy.me/gIgd3r.jpg)

Now I am testing them, after all test OK, if someone like, i will make a batch :)
Title: Re: oplink(100mW/1W)+hc05/06
Post by: f5soh on August 19, 2017, 11:42:27 am
Hi,

Some remarks about pcb traces around the holes/screws, especially if they are for Vcc this is not really fine.
BT module will have the antenna in one border without ground in PCB.

(https://forum.librepilot.org/index.php?action=dlattach;topic=3746.0;attach=6551)

Adding a connector around the right edge will be fine for a JR module, using a straight SMA connector.
Please also consider adding big pads for soldering Vcc input wires directly.

Is the 5V regulator still ok with RFM23BP (1W) / 550mA @ 3S ?
Title: Re: oplink(100mW/1W)+hc05/06
Post by: Mateusz on August 19, 2017, 11:56:04 am
That is really cool idea, also some suggestions



Title: Re: oplink(100mW/1W)+hc05/06
Post by: TheOtherCliff on August 19, 2017, 04:58:42 pm
Will the HC05 antenna have reduced range, because it is close to ground plane, etc in main board?

Will RF from HC05 antenna cause problems in main board?
Title: Re: oplink(100mW/1W)+hc05/06
Post by: f5soh on August 19, 2017, 07:50:12 pm
Will the HC05 antenna have reduced range, because it is close to ground plane, etc in main board?

From some priced bluetooth module, here is guidelines.
This just make sense for optimal antenna radiation, as already reported.
(https://forum.librepilot.org/index.php?action=dlattach;topic=3746.0;attach=6553)
(https://forum.librepilot.org/index.php?action=dlattach;topic=3746.0;attach=6555)

Quote
Will RF from HC05 antenna cause problems in main board?
Likely not, power levels are really low (~3mW max)
Title: Re: oplink(100mW/1W)+hc05/06
Post by: Brian on August 20, 2017, 05:59:39 pm
I like the board with the same comments as others have made. I would also suggest using an F3 MCU, since it can do inverted UART, etc.

I'm currently designing a nano-oplink with the intent of using it as a receiver on nano-quad builds. It's just slightly bigger than the rfm22b module, and I plan to put an F3 on it.
Title: Re: oplink(100mW/1W)+hc05/06
Post by: xfce on August 21, 2017, 04:29:30 am
Thanks all
I have tested , all functions are OK :D
BT can work about 10 meters, I think it's OK.


And LP2GO is wonderful.
(https://vgy.me/QZu9ft.jpg)

test video
https://www.youtube.com/watch?v=nK7509WN4nk (https://www.youtube.com/watch?v=nK7509WN4nk)

1)The trace are VCC, and I will remove them next version,as the first version is a two layers PCB, maybe changed to 4 layers;

2)USB socket will moved away from BT module's antenna;

3)about JR module connector,  does it just use 2.54pitch? or I think the oplink's Flexi port is OK

4)it is a standard SMA footprint, so 90° or 180° SMA broth are OK;

5)next version can add Vcc PAD;

6)I can use F303, but could you please develop the firmware;

7)for the JR case, you can give me the PCB outline, i can try to redesign the PCB just fit the JR case,
or i can give the PCBA's 3D module in .stl file , could anyone  help me to design a 3D printed case







Title: Re: oplink(100mW/1W)+hc05/06
Post by: Brian on August 21, 2017, 05:39:51 am
Attached is a design that I started a while back. I believe the dimensions are correct, but it was never built. It was built for a standard case that I found available, but I don't remember the part number off hand. If I find it I'll post it.
Title: Re: oplink(100mW/1W)+hc05/06
Post by: xfce on September 02, 2017, 08:17:19 am
I have just use FreeCAD design a case, FreeCAD is simple and wonderful.
will print later :)

bottomcase
(https://vgy.me/c5f77U.png)

topcase
(https://vgy.me/bfXT3p.png)

update: It's done :)
(https://vgy.me/IZnjR1.jpg)

Title: Re: oplink(100mW/1W)+hc05/06
Post by: ekrem on December 29, 2018, 09:57:16 am
really  good project

but I dont understand why need q1 and q2 transistor
Title: Re: oplink(100mW/1W)+hc05/06
Post by: TheOtherCliff on December 30, 2018, 02:55:10 pm
I don't have software to view board designs.

If you could post a schematic that includes the transistors you are talking about, I might be able to help.

If it is associated with MainPort, it may be an SBus inverter, else maybe a level shifter like from 3.3V to 5V.
Title: Re: oplink(100mW/1W)+hc05/06
Post by: ekrem on January 03, 2019, 01:23:36 pm
hi TheOtherCliff
 
original project  schematic file attached
Title: Re: oplink(100mW/1W)+hc05/06
Post by: jdl on January 03, 2019, 02:13:38 pm
I guess the q1 and q2 are meant to invert signals logic when RFM23BP module is used. The original project schematic is not wrong or inoperational but these inverters are not needed if you connect RFM23BP exactly the same way (pin-wise) as RFM22B. Pins 3 & 4 on both modules have swapped names (TX_ANT, RX_ANT on RFM22B vs RX_ON, TX_ON on RFM23BP) but their truth tables are also changed respectively to ensure the compatibility:

For RFM22B:
pin 4TX_ANT:Tx Antenna select input pin, When RFM22 is TX state,TX_ANT should be = 1, RX_ANT should be = 0
pin 3RX_ANT:Rx Antenna select input pin, When RFM2 2 is RX state,RX_ANT should be = 1, TX_ANT should be = 0


For RFM23BPS:
pin 3TX_ON:Tx ON select input pin, When RFM23BP is TX state,TX_ON should be = 0, RX_ON should be = 1
pin 4RX_ON:Rx ON select input pin, When RFM2 3BPS is RX state,RX_ON should be = 0, TX_ON should be = 1
Title: Re: oplink(100mW/1W)+hc05/06
Post by: ekrem on January 04, 2019, 07:15:46 am
I guess the q1 and q2 are meant to invert signals logic when RFM23BP module is used. The original project schematic is not wrong or inoperational but these inverters are not needed if you connect RFM23BP exactly the same way (pin-wise) as RFM22B. Pins 3 & 4 on both modules have swapped names (TX_ANT, RX_ANT on RFM22B vs RX_ON, TX_ON on RFM23BP) but their truth tables are also changed respectively to ensure the compatibility:

For RFM22B:
pin 4TX_ANT:Tx Antenna select input pin, When RFM22 is TX state,TX_ANT should be = 1, RX_ANT should be = 0
pin 3RX_ANT:Rx Antenna select input pin, When RFM2 2 is RX state,RX_ANT should be = 1, TX_ANT should be = 0


For RFM23BPS:
pin 3TX_ON:Tx ON select input pin, When RFM23BP is TX state,TX_ON should be = 0, RX_ON should be = 1
pin 4RX_ON:Rx ON select input pin, When RFM2 3BPS is RX state,RX_ON should be = 0, TX_ON should be = 1

thanks nicely information
my protocol is control and telemetry so no need these transistor ?

these days I want to change rfm22 module to rfm23 module
Title: Re: oplink(100mW/1W)+hc05/06
Post by: jdl on January 04, 2019, 08:49:40 am
Right, you do not need these transistors.

Here are some photos of a modified Oplink Mini (replaced RFM module). May be helpful. Take care not to snap off ANT and GND pads on RFM23BPS module if you solder the coax cable directly to them. They cannot handle almost any mechanical stress coming from twisting or pulling the cable. So it is a good idea to mechanically fix the coax before soldering it to the RFM23BPS.
Title: Re: oplink(100mW/1W)+hc05/06
Post by: ekrem on January 04, 2019, 09:17:11 am
thanks for all nice infos and photos
Title: Re: oplink(100mW/1W)+hc05/06
Post by: xfce on January 07, 2019, 08:50:38 am
 ;D  I am happy you still like the project.
any questions are welcome, and if some body want the PCBA, I think i can help
Title: Re: oplink(100mW/1W)+hc05/06
Post by: TheOtherCliff on January 07, 2019, 08:03:46 pm
Did you catch the fact that the RX_ANT and TX_ANT transistors are not needed and are actually incorrect?  :( :)   The signals were renamed with opposite polarity names ... and then defined to have opposite polarity, resulting in the actual signals being the same from RFM22 to RFM23BP.  You do not need to invert the signals for the RFM23BP.
Title: Re: oplink(100mW/1W)+hc05/06
Post by: xfce on January 08, 2019, 06:39:51 am
Did you catch the fact that the RX_ANT and TX_ANT transistors are not needed and are actually incorrect?  :( :)   The signals were renamed with opposite polarity names ... and then defined to have opposite polarity, resulting in the actual signals being the same from RFM22 to RFM23BP.  You do not need to invert the signals for the RFM23BP.

1)
(https://vgy.me/jIAOUq.png)

2)
(https://vgy.me/i7VKyr.png)

3)
(https://vgy.me/b0xAKM.png)


Title: Re: oplink(100mW/1W)+hc05/06
Post by: TheOtherCliff on January 08, 2019, 08:33:13 am
It's my understanding ... something like TX_ANT was active high in the RFM22B and that is now called RX_ON active low in the RFM23BP (or similar double inversion).  I can tell you that several people (including me) have modified a regular OpLink to remove RFM22B and replace it with RFM23BP with same wiring (no extra inversion logic) (using jumper wires on one side) and it works well.  :)

Your picture shows RX_ANT and TX_ANT for 23 where they should be called TX_ON and RX_ON?  Some versions show these as NC.  The RFM23BP specific datasheets I have label these as TX_ON and RX_ON.

Quote
TX_ON  I  Tx ON select input pin, When RFM23BP is TX state,TX_ON should be = 0, RX_ON should be = 1
RX_ON  I  Rx ON select input pin, When RFM23BPS is RX state,RX_ON should be = 0, TX_ON should be = 1

Quote
TX_ANT  I  Tx Antenna select input pin, When RFM22 is TX state,TX_ANT should be = 1, RX_ANT should be = 0
RX_ANT  I  Rx Antenna select input pin, When RFM22 is RX state,RX_ANT should be = 1, TX_ANT should be = 0

So note that for transmission it was TX_ANT=1 and now it is the same pin is called RX_ON and it must also be 1.

There is some description of an LNA in the RFM23BP that needs to be enabled in the registers.  I vaguely recall that is already handled in the OpLink code.  I could be wrong.  :)
Title: Re: oplink(100mW/1W)+hc05/06
Post by: xfce on January 08, 2019, 09:23:18 am
maybe my explain is not detailed, but I have to say , you can just use 23module as 22module by the hardware convert, and  also I have tested both module, they worked correctly ^-^
Title: Re: oplink(100mW/1W)+hc05/06
Post by: ekrem on January 08, 2019, 08:00:57 pm
so

if we want use 23 module whit telemetry+control we must use q1 and q2 transistor
or only  use control no need these transistor  is it right  ?

Title: Re: oplink(100mW/1W)+hc05/06
Post by: TheOtherCliff on January 08, 2019, 08:30:58 pm
I have taken a standard OpLink, removed the RFM22B and installed RFM23BP (with only some power supply circuit changes since RFM23BP needs higher voltage than RFM22B while OpLink CPU still needs old lower voltage) and it works fine.  :)

The RFM23BP would probably be designed to be pin compatible with RFM22B just because that is the smart thing to do.  The RFM23BP signals were renamed in a confusing way, but appear to be compatible with RFM22B and so to me it looks like the transistors and support resistors need to be removed and the circuit rewired or just jumpered so that the signal is not inverted by the transistors, but just passed straight through without being changed.

Some of these RFM2x* boards have the two signals we are discussing labeled as NC (no connection) and these may work fine regardless of what you connect there.
Title: Re: oplink(100mW/1W)+hc05/06
Post by: ekrem on January 19, 2019, 08:47:45 am
hi thanks for all infos

I want to make arduino based diy rc transmitter  (project link below)
https://www.rcgroups.com/forums/showthread.php?2959179-Arduino-radio-for-HK-T6A-or-Flysky-FS-CT6B-%28ArduTX-rebirth%29

so now ready proto type (below picture) and need some software tricks but works

my plan is adding revo telemetry data to my ardu based TX but I think difficult

how I can simple streaming data from Revo

testing this link code not work because need uav object header (where this file store )
https://librepilot.atlassian.net/wiki/spaces/LPDOC/pages/93945858/Extend+a+Flightcontroller+with+an+Arduino

I am trying install openpilot developmet ide on pc after then download 30gb link crash so not installing this ide

Title: Re: oplink(100mW/1W)+hc05/06
Post by: TheOtherCliff on January 19, 2019, 05:55:34 pm
UAVO structure is complicated.  You might start by looking in file flight/uavtalk/uavtalk.c at function sendSingleObject(...) to see the wrapper that Revo/Oplink puts around a UAVO to send it out.  Each different UAVO ID is generated at compile time.  It is just some kind of check sum (md5sum?) of the UAVO definition file (an xml file).  You will not find these IDs defined in any file until after you build things, and then they will be in header files in the build directory.

Be aware that UAVOs do not include timestamps.  For logging / timing / scope purposes, they are currently added by GCS when GCS receives a UAVO.  I  think that it would be better for the Revo to add the timestamp, but it is not currently implemented that way (from what I recall of 16.09).  Requiring the receiving code to add timestamps make it less accurate (think transmit retries or clogged data links) and makes adding a simple external logger complicated because it needs to understand UAVO format (to add the timestamps) instead of just storing the data.
Title: Re: oplink(100mW/1W)+hc05/06
Post by: ekrem on January 21, 2019, 10:18:48 am
Thanks again

I only need simple batt voltage, rssi, satellite telemetry data

I am finding this link sample code 

https://github.com/cdaller/Arduino-Openpilot-UAVTalk
Title: Re: oplink(100mW/1W)+hc05/06
Post by: ekrem on January 22, 2019, 08:03:24 pm
librepilot ide installing ok

but no compile gcs or package always compileake error   "ssleay32.dll error"  how is solve this error ?
but firmware and uavobjects compile ok.

this new firmware is using the revo whitout compile new gcs
Title: Re: oplink(100mW/1W)+hc05/06
Post by: TheOtherCliff on January 23, 2019, 01:11:44 am
but no compile gcs or package always compileake error   "ssleay32.dll error"  how is solve this error ?
ssleay32.dll is a part of OpenSSL.  Check to see that all OpenSSL requirements are installed (e.g. dev package).

this new firmware is using the revo without compile new gcs
Some things do not match and when they need both FC and GCS, they will not work correctly.  When versions are very close, there are very few mismatches.  When versions are very different, there are many mismatches.
Title: Re: oplink(100mW/1W)+hc05/06
Post by: ekrem on January 23, 2019, 06:04:44 am
but no compile gcs or package always compileake error   "ssleay32.dll error"  how is solve this error ?
ssleay32.dll is a part of OpenSSL.  Check to see that all OpenSSL requirements are installed (e.g. dev package).

this new firmware is using the revo without compile new gcs
Some things do not match and when they need both FC and GCS, they will not work correctly.  When versions are very close, there are very few mismatches.  When versions are very different, there are many mismatches.

thanks again

if I want use uavobjects file we must use new  compiled Revo Firmware and new GCS is is Right
 
maybe simple solution  for receiving  telemetry data from revo use UAVTALK arduino

and I think all package installed but how I can solve ssleay32.dll error ?
Title: Re: oplink(100mW/1W)+hc05/06
Post by: TheOtherCliff on January 23, 2019, 06:04:38 pm
if I want use uavobjects file we must use new  compiled Revo Firmware and new GCS is is Right
You can compile and use any version that you want to use and get the UAVO definitions from that version.  Once you have the source repository cloned, you select the version you want using git commands.
 
maybe simple solution  for receiving  telemetry data from revo use UAVTALK arduino
@f5soh pointed to this wiki article that you may find interesting:
https://librepilot.atlassian.net/wiki/spaces/LPDOC/pages/93945858/Extend+a+Flightcontroller+with+an+Arduino

and I think all package installed but how I can solve ssleay32.dll error ?
I would look at the part of the output that has the error to see what it was doing and look at the exact error message.  Maybe you have a different version of OpenSSL installed than it wants.  Maybe you just need to update your environment variables to tell it where to find OpenSSL. Try to search for all OpenSSL dlls and see what is there.
Title: Re: oplink(100mW/1W)+hc05/06
Post by: ekrem on January 31, 2019, 04:25:36 pm
librepilot diy rc tx project whit telemetry data screen work in progress
based;
https://www.rcgroups.com/forums/showthread.php?1817699-Hobbyking-6ch-tx-arduino-computer-update/page34
and
https://github.com/MarcProe/LibrePilot.arduino/tree/master/src/LibrePilotSerial
and whit ArduCAM-OSD source code

diy tx and telemetry screen works okay , except  oplink rssi data and  system alarms data

flight battery voltage okay but transmitter on  after then 1 - 2 minutes (I think data package sepererating )

diy tx and data oplink telemetry screen need two arduino promini or one atmega2560

Title: Re: oplink(100mW/1W)+hc05/06
Post by: TheOtherCliff on January 31, 2019, 07:26:52 pm
Very nice.  :)  At first I thought it was mounted on the aircraft.

I can imagine coding an old Revo to act as an OpLink, but to have much more memory.  It would allow direct connection to display (no Arduino needed?).  Maybe connect to a GPS for "follow me" (just constantly update Home Location) or display arrow to aircraft.  Even vertical angle to aircraft.  Even without GPS, you could use the arming location as a fixed transmitter location to point to aircraft.  Arming state and why it won't arm.  Flight mode switch position.  Maybe even use a smart phone for a display via USB.
Title: Re: oplink(100mW/1W)+hc05/06
Post by: ekrem on February 01, 2019, 07:50:11 am
thanks
 
good Idea,  my plan is insert telemetry source code into arduTX arduino board (need reorganize code)
but insert these code oplinkmini's stm32f103 whit attahed I2C oled display  I think good idea

--- oplink mini and revolution source code must compile together for handshaking works  :-\