Koenkk / zigbee2mqtt

Zigbee 🐝 to MQTT bridge 🌉, get rid of your proprietary Zigbee bridges 🔨
https://www.zigbee2mqtt.io
GNU General Public License v3.0
11.96k stars 1.67k forks source link

Extend range of zigbee network using CC2531/CC2530 routers #52

Closed james-fry closed 6 years ago

james-fry commented 6 years ago

The CC2531 does not seem to have as good range as my Xiaomi hub. Using same type of Xiaomi sensor (new generation reed switch sensor - MCCGQ11LM) I found that the CC2531 is failing to receive updates, where the Xiaomi does. Hub and CC sniffer are in same room ~1.5M apart. The reed sensors are in a room in floor below next to each other. (Neither network has active/powered devices to act as repeater)

Is there any way to improve range?

1) I have the dongle on a USB extension to move it away from the metal of my VM server, but I think I can use a longer extension to get further away from the metal...

2) I can add powered device (e.g.) bulb as a repeater. Problem with this is that bulbs do get hard switched off sometimes. I dont have any zigbee sockets.

3) There are CC2531 devices with a RF front end and external antenna with supposedly higher range. e.g. this one But these cost more + less easy to program (need to solder header) + not sure if firmware is compatible with the RFX2401C PA chip

Anything else?

talondnb commented 5 years ago

it does not have the header soldered and didn't come with one loose or a debugger cable :(

This is what came with mine: img_0708

Maybe aske the seller on aliexpress if you didnt get one too?

Would you mind telling me how I can flash my GBAN RFTOUSB? I have the cable in the image you posted too..

h4nc commented 5 years ago

Did someone extend the antenna of the cc2530?

vikinghts commented 5 years ago

Hi all i need some help. Think i am almost there but it is failing. Could any of you point me in the right direction? (pic of my stick is attached below.)

I have the stick that is in the picture below (cc2530+RFX2401 the one most right in the pic with multiple sticks in it). Made the mod to ground. Flashing it works Flashed it with: https://github.com/kirovilya/files/blob/master/CC2530ZNP-Test_for_CC2591.hex

But the trouble is that when i put it in hassio it gives these errors. 2018-11-16 21:36:01 - info: Starting zigbee-shepherd 2018-11-16 21:36:04 - error: Error while starting zigbee-shepherd! 2018-11-16 21:36:04 - error: Press the reset button on the stick (the one closest to the USB) and start again 2018-11-16 21:36:04 - error: Failed to start Error: request timeout at CcZnp. (/app/node_modules/cc-znp/lib/ccznp.js:255:22) at Object.onceWrapper (events.js:315:30) at emitOne (events.js:116:13) at CcZnp.emit (events.js:211:7) at Timeout. (/app/node_modules/cc-znp/lib/ccznp.js:234:18) at ontimeout (timers.js:498:11) at tryOnTimeout (timers.js:323:5) at Timer.listOnTimeout (timers.js:290:5)

Here is a pic of my stick (had to solder the flash cables direct to make sure they had the right connection) image

HKC001 commented 5 years ago

Hi @vikinghts. I'm using the same stick on a Pi 3B+ with Hass.io. Here's what worked me.

vikinghts commented 5 years ago

Wow that was quick and it worked! the trick was flashing the: Flashed Koenkk's optimised firmware, coordinator version 20181030 and the Using zigbee2mqtt-edge set "rtscts": false on the config page.

Very big thanks for the fix. We should add this to the manual somewhere. So there is just an easy walkthrough. @HKC001

HKC001 commented 5 years ago

@vikinghts You're most welcome. :) Enjoy your new coordinator, its great. Just some notes if you have over 15 devices:

  1. I think zigbee2mqtt doesn't yet work properly with the routing functions of 'normal' routers. I have the ZNCZ02LM and QBCZ11LM, and no matter what, can't pair any end devices through these routers.

  2. The only router I've tested that works (verified with network map) is this CC2531 from @ptvoinfo. He also has a CC2530 version. But I have the same CC2530 + antenna and it doesn't work for me (doesn't join zigbee2mqtt). If you go with the CC2530 + antenna and it works for you, please let me know.

  3. I modified the optimised firmware you're using, and it worked well for a few days with 32 devices directly connected. I modified it again after that, so I'm not sure if it'll still work well for more than a few days. I followed all of @Koenkk's instructions except for these Defined Symbols.

CC2530ZNP
ASSERT_RESET
FAKE_CRC_SHDW
TC_LINKKEY_JOIN
SECURE=1
NWK_MAX_DEVICE_LIST=32
MAXMEMHEAP=3131
INTER_PAN
INCLUDE_REVISION_INFORMATION
CONCENTRATOR_ENABLE=1
CONCENTRATOR_DISCOVERY_TIME=120
MAX_RTG_SRC_ENTRIES=40
SRC_RTG_EXPIRY_TIME=2
CONCENTRATOR_ROUTE_CACHE=1
MTO_RREQ_LIMIT_TIME=5000
LINK_DOWN_TRIGGER=5
NWK_ROUTE_AGE_LIMIT=10
BCAST_DELIVERY_TIME=100
DEF_NWK_RADIUS=5
NWK_ROUTE_AGE_LIMIT=15
DEFAULT_ROUTE_REQUEST_RADIUS=15
ROUTE_DISCOVERY_TIME=10
ZDNWKMGR_MIN_TRANSMISSIONS=0
NWK_LINK_STATUS_PERIOD=23
MAX_NEIGHBOR_ENTRIES=2
FEATURE_SYSTEM_STATS
xPOWER_SAVING
ENABLE_MT_SYS_RESET_SHUTDOWN
ZTOOL_P1
HAL_LCD=FALSE
HAL_ADC=FALSE
HAL_UART_DMA_RX_MAX=128
HAL_PA_LNA
vikinghts commented 5 years ago

I also have one router CC2531 from @ptvoinfo. But if i use a network map nothing will connect to the router. But the router it self wil connect to the cordenator. For me the "normal" routers do seem to work with my old stick. Wil post a pic later this weekend. Don't have any time to fiddle with it again today. Probably next time i can play again is monday evening. Will keep you apprised. Big thanks agian!

sascha777 commented 5 years ago

Hi folks,

I'm new here and just working on my new CC2530+RFX2401 from Aliexpress.

According to your instructions I soldered P06, P04 and P20 to GND: img_0510

But I didn't understand how to connect the CC2530 to the CC debugger. I tried to connect as explained here (pin 9 being the red cable) via the 5pins connector (used all of them), but when connecting both to the PC the debugger's light switches from red to off (drivers are properly installed).

I assume that the connection from the CC2530 to the debugger is wrong, but didn't find any information to it (that is undestandable for me being a rookie).

Could someone clarify how to connect them right? Thanks for your help!

HKC001 commented 5 years ago

@sascha777 There's no need to connect both the debugger and the CC2530 to the PC.

  1. Connect debugger to PC.
  2. Put pins into CC2530. Blue should be on GND.
  3. The pin connection is loose, so gently push the white header forward at an angle to ensure proper contact.
  4. Press reset button on the debugger. It should light up green, and the device will appear in SmartRF Flash.
sascha777 commented 5 years ago

Hi @HKC001 thanks for you fast response and the tip to not connect the CC2530 to PC. Regarding the pins I forgot to mention, that my debugger came with a small 2 rows connector whereas my CC2530 did not have any pins at all. img_0511

That's why I tried to connect wires to the larger debugger cable directly to CC2530 by five single cables. img_0512

Therefore I would like to know with pins from the larger debugger cable has to connect to grd, vcc, p2_1, p2_2 and rest_n.

vikinghts commented 5 years ago

This post shows all the info you need. http://ptvo.info/how-to-select-and-flash-cc2530-144/

This is the picture form that post that i used to connect them. Good luck!

image

vikinghts commented 5 years ago

O if you have problems soldering the wires to the stick i used this trick to make it easyer. image

this is the pinout of the chip image

Way easier soldering. P2_2 = p2.2 etc

sascha777 commented 5 years ago

Hi @vikinghts

thanks for your support and the link! I saw your image in one of your former posts and studied it quite well. I intented to use the connector holes from the board instead of the chip's pins to make it easier to flash upcoming firewares but I'm fine to solder the chip's pins directly (will do so this evening).

Anyway, I still got a question regarding the assignment to the debugger cable as it is hard to imagine which pin you connected to the cable (invisible on the photo). For me it looks like the chip's reset_n is connected (twice?) to somewhere near the DD pin from the debugger cable twice and that P2_2 and P1_2 are connected more closer to the 3.3v pin (red cable, or is that my mistake?) than to the opposite side where DC and DD are placed in the layout schema (that i took as basis for assigning my 5x2 connector block from my last photo).

I still feel that I can't match your photo to the layout schema. Where is my mistake?

vikinghts commented 5 years ago

The sad thing is that i did not have different color cables :). Maybe this one helps image

Notice the notch is facing us in the pic. So top right in this picture is GND 1 down right is p2.2 3 down rigth is Reset Lowest right is V3.3 or VCC 1 down left is p2.1

Hope this explains more.

sascha777 commented 5 years ago

Cool, that is extremely helpful! Now I know my mistake; I mirrowed the layout because I was confused by the hole/rise from the connector block: gimp

I will try the other way around this evening. Hopefully I have not blown up parts of the debugger or the CC2530. I'll let you know... Thanks!

ryanbeaton commented 5 years ago

You could just do this b7ef4779-d3af-41ea-90d4-21cc1fd8f166

sascha777 commented 5 years ago

Just back from a successful update. It was the wrong mapping to the pin layout. Thank you guys for your help!

vikinghts commented 5 years ago

Got it fully running now. On a sepprate pi now testing the range

fred-c1 commented 5 years ago

new hardware for "cc2530 + RFX2401 (PA/LNA) + external antenna + USB connector"

Hello, This is just to let you know that I have zigbee2MQTT working with a new hardware. The radio module (/daughter board) is called Xcore2530: https://www.waveshare.com/wiki/XCore2530 The mother board is called ZB600: https://www.waveshare.com/wiki/ZB600 !! It is necessary to connect P04, P06 and P20 to GND My zigbee2mqtt configuration.yaml has these lines: " advanced: rtscts: false serial: port: /dev/ttyUSB0 " The firmware I use is https://github.com/kirovilya/files/blob/master/CC2530ZNP-Test_for_CC2591.hex

*** CONS for this solution:

*** PROS for this solution:

Many thanks for zigbee2MQTT !

vikinghts commented 5 years ago

That looks cool. And a lot easier. What about the range? Is it the same as the one i am using?

fred-c1 commented 5 years ago

about ZB600+XCore2530: It is difficult for me to make a serious "range test" but testing with WXKG11LM (Xiaomi Aqara wireless switch / push button):

Still: I think it would be nice to remove the requirement "it is necessary to connect P04, P06 and P20 to GND" Has someone any info that would help in this area? CC2530ZNP-Test_for_CC2591.hex was originally designed for which hardware?

h4nc commented 5 years ago

I wanted to make my cc2530 router as small as possible, so I desoldered the pins (after flashing the firmware) and used a CP2102 to get 3.3 volts out of a usb port. I also desoldered the pinheder of the cp2102. This is how it looks now. I hope that it isn't nececary to update the firmware. In this case I would have to solder some wires temporary

cc2530

Next thing is to 3D-print a small case for it.

Sidequestion: I wasn't sure on which firmware to choose, there were two firmware files router-cc253x-std.hex router-cc253x-diag.hex I went for diag, as this will provide more information and I think its better to have more than to less information.

Which one did you choose and why?

If you are interessted in buying one of these you can contact me in the home assistant community (username h4nc) or via email here: h4nc.zigbee(a)gmail.com

h4nc commented 5 years ago

So I made a case for my router. You can find it here:

https://www.thingiverse.com/thing:3257462

kiwijunglist commented 5 years ago

Is anyone successfully using a cc2530 with external antenna as a coordinator with zigbee2mqtt?

I've been able to flash the firmware into a cc2531 and use that as a coordinator, I've been able to flash the cc2530 with coordinator firmware then I connect via a usbttl to the Intel nuc running zigbee2mqtt but I get errors.

Regarding connecting pin connection from the cc2530 to the usbttl.

TX = P0_3 RX = P0_2 GND = GND 3v3 = VCC P20 to GND*

For p20 to gnd, can I just loop the p20 pin on the cc2530 to the spare gnd on the same board.

kirovilya commented 5 years ago

@kiwijunglist Additional connection of p04 and p05 pins to GND helps in some cases.

realroywalker commented 5 years ago

Anyone knows what the latest firmware to use on the GBAN stick is ? - The one linked in the wiki is labelled 'Test' and seems 8 months old.. I recall seeing @oskarn97 mention he had made a firmware with much higher (i think 60) device limit, but I can't see it now..

kirovilya commented 5 years ago

@realroywalker https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/CC2530_CC2591/bin

realroywalker commented 5 years ago

@realroywalker https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/CC2530_CC2591/bin

Thank you 👍

Do you know what the device limit for that firmware is?

kirovilya commented 5 years ago

@realroywalker NWK_MAX_DEVICE_LIST=15 :) look readme at folder up

realroywalker commented 5 years ago

@realroywalker NWK_MAX_DEVICE_LIST=15 :) look readme at folder up

Thanks, is there any reason the limit is so small? - Does the stick become unstable with a larger number of devices?

Maybe not such a problem, am I right in thinking that adding another stick as a router gives an extra 15 devices ??

kiwijunglist commented 5 years ago

this is the error i get with cc2530 connceted via usb-ttl using the ptvnfio co-ordinator firmware.

{"message":"request timeout","stack":"Error: request timeout\n at CcZnp.<anonymous> (/zigbee2mqtt-0.2.0/node_modules/cc-znp/lib/ccznp.js:255:22)\n at Object.onceWrapper (events.js:315:30)\n at emitOne (events.js:116:13)\n at CcZnp.emit (events.js:211:7)\n at Timeout.<anonymous> (/zigbee2mqtt-0.2.0/node_modules/cc-znp/lib/ccznp.js:234:18)\n at ontimeout (timers.js:498:11)\n at tryOnTimeout (timers.js:323:5)\n at Timer.listOnTimeout (timers.js:290:5)"}

this is using hass.io zigbemqtt docker image v0.2.0

ptvoinfo commented 5 years ago

@kiwijunglist 1. Check the COM port number

  1. Try to swap Tx and Rx wires.
kiwijunglist commented 5 years ago
  1. when you say com port number....

Do you mean check /dev/tty* and check it is ttyUSB0 ?

kiwijunglist commented 5 years ago

Tried #2 swap Tx / Rx wires.

Still get error:

Info] Configuration file found. Will overwrite configurable               fields with values from add-on configuration
[Info] Configuration written to /share/zigbee2mqtt/configuration.yaml
2018-12-05T19:39:22: PM2 log: Launching in no daemon mode
2018-12-05T19:39:22: PM2 log: App [npm:0] starting in -fork mode-
2018-12-05T19:39:22: PM2 log: App [npm:0] online
> zigbee2mqtt@0.2.0 start /app
> node index.js
  zigbee2mqtt:info 2018-12-5 19:39:22 Logging to directory: '/share/zigbee2mqtt/log/2018-12-05.19-39-22'
  zigbee2mqtt:info 2018-12-5 19:39:23 Starting zigbee2mqtt version 0.2.0 (commit #7ea1fc6)
  zigbee2mqtt:info 2018-12-5 19:39:23 Starting zigbee-shepherd
  zigbee2mqtt:info 2018-12-5 19:39:26 Error while starting zigbee-shepherd, attemping to fix... (takes 60 seconds)
  zigbee2mqtt:info 2018-12-5 19:40:26 Starting zigbee-shepherd
  zigbee2mqtt:error 2018-12-5 19:40:29 Error while starting zigbee-shepherd!
  zigbee2mqtt:error 2018-12-5 19:40:29 Press the reset button on the stick (the one closest to the USB) and start again
  zigbee2mqtt:error 2018-12-5 19:40:29 Failed to start
    {"message":"request timeout","stack":"Error: request timeout\n    at CcZnp.<anonymous> (/app/node_modules/cc-znp/lib/ccznp.js:255:22)\n    at Object.onceWrapper (events.js:315:30)\n    at emitOne (events.js:116:13)\n    at CcZnp.emit (events.js:211:7)\n    at Timeout.<anonymous> (/app/node_modules/cc-znp/lib/ccznp.js:234:18)\n    at ontimeout (timers.js:498:11)\n    at tryOnTimeout (timers.js:323:5)\n    at Timer.listOnTimeout (timers.js:290:5)"}
ptvoinfo commented 5 years ago

@kiwijunglist Are you sure that /dev/ttyUSB0 is your usb-ttl stick and you installed serial port drivers for it? Usually, it is ttyAM0, ttyS1.

kiwijunglist commented 5 years ago

Yes, because when I unplug the cc2530 the ttyusb0 disappears. Also it's the only thing I have plugged into a usb port on the Intel nuc.

vikinghts commented 5 years ago

@kiwijunglist With me is also /dev/ttyUSB0 so that can be correct. I also used to get these errors. Did you add this to the settings of zigbee2mqtt. rtscts: false in the Configuration.yaml Did you read this post? https://github.com/Koenkk/zigbee2mqtt/issues/52#issuecomment-441365368?

kiwijunglist commented 5 years ago

No I didn't try that option yet. Thanks.

This is the hardware I am using:

CC2530 Zigbee Module UART Wireless Core Board Development Board CC2530F256 Serial Port Wireless Module 2.4GHz Zigbee https://s.click.aliexpress.com/e/cV8eXWXf

kiwijunglist commented 5 years ago

with "rtscts": false I was able to get the cc2530 working briefly for 10s then it stops working again with following errors

{"message":"request timeout","stack":"Error: request timeout\n    at CcZnp.<anonymous> (/app/node_modules/cc-znp/lib/ccznp.js:255:22)\n    at Object.onceWrapper (events.js:315:30)\n    at emitOne (events.js:116:13)\n    at CcZnp.emit (events.js:211:7)\n    at Timeout.<anonymous> (/app/node_modules/cc-znp/lib/ccznp.js:234:18)\n    at ontimeout (timers.js:498:11)\n    at tryOnTimeout (timers.js:323:5)\n    at Timer.listOnTimeout (timers.js:290:5)"}
  zigbee2mqtt:info 2018-12-6 09:15:20 MQTT publish: topic 'zigbee2mqtt/bridge/config', payload '{"log_level":"info","permit_join":true}'
{"message":"request timeout","stack":"Error: request timeout\n    at CcZnp.<anonymous> (/app/node_modules/cc-znp/lib/ccznp.js:255:22)\n    at Object.onceWrapper (events.js:315:30)\n    at emitOne (events.js:116:13)\n    at CcZnp.emit (events.js:211:7)\n    at Timeout.<anonymous> (/app/node_modules/cc-znp/lib/ccznp.js:234:18)\n    at ontimeout (timers.js:498:11)\n    at tryOnTimeout (timers.js:323:5)\n    at Timer.listOnTimeout (timers.js:290:5)"}
  zigbee2mqtt:info 2018-12-6 09:15:49 MQTT publish: topic 'zigbee2mqtt/bridge/config', payload '{"log_level":"info","permit_join":false}'
ErneX commented 5 years ago

Hello everybody, just to comment that I was able to get this one: https://www.aliexpress.com/item/RF-TO-USB-CC2530-CC2591-RF-switch-USB-transparent-serial-data-transmission-equipment/1996354384.html to work with zigbee2mqtt using the firmware: https://github.com/kirovilya/files/blob/master/CC2530ZNP-Test_for_CC2591.hex

It won't work if rtscts is set as true though, I'm totally useless at soldering but I managed. I was wondering if that's the latest firmware for this device, and what's the max number of devices supported by it? the range I'm getting is good, way better than the recommended device in the docs (but yes that one works without soldering, although not having a case is also a bit of a downside). Anyway, I want to thank to the contributors of this project and the people that posted photos of the device with the cables soldered, that helped me a lot!

broekd commented 5 years ago

with "rtscts": false I was able to get the cc2530 working briefly for 10s then it stops working again with following errors

{"message":"request timeout","stack":"Error: request timeout\n    at CcZnp.<anonymous> (/app/node_modules/cc-znp/lib/ccznp.js:255:22)\n    at Object.onceWrapper (events.js:315:30)\n    at emitOne (events.js:116:13)\n    at CcZnp.emit (events.js:211:7)\n    at Timeout.<anonymous> (/app/node_modules/cc-znp/lib/ccznp.js:234:18)\n    at ontimeout (timers.js:498:11)\n    at tryOnTimeout (timers.js:323:5)\n    at Timer.listOnTimeout (timers.js:290:5)"}
  zigbee2mqtt:info 2018-12-6 09:15:20 MQTT publish: topic 'zigbee2mqtt/bridge/config', payload '{"log_level":"info","permit_join":true}'
{"message":"request timeout","stack":"Error: request timeout\n    at CcZnp.<anonymous> (/app/node_modules/cc-znp/lib/ccznp.js:255:22)\n    at Object.onceWrapper (events.js:315:30)\n    at emitOne (events.js:116:13)\n    at CcZnp.emit (events.js:211:7)\n    at Timeout.<anonymous> (/app/node_modules/cc-znp/lib/ccznp.js:234:18)\n    at ontimeout (timers.js:498:11)\n    at tryOnTimeout (timers.js:323:5)\n    at Timer.listOnTimeout (timers.js:290:5)"}
  zigbee2mqtt:info 2018-12-6 09:15:49 MQTT publish: topic 'zigbee2mqtt/bridge/config', payload '{"log_level":"info","permit_join":false}'

Have you gotten any furture with this error. Unfortanately expierencing the same error

broekd commented 5 years ago

I wanted to make my cc2530 router as small as possible, so I desoldered the pins (after flashing the firmware) and used a CP2102 to get 3.3 volts out of a usb port. I also desoldered the pinheder of the cp2102. This is how it looks now. I hope that it isn't nececary to update the firmware. In this case I would have to solder some wires temporary

cc2530

Next thing is to 3D-print a small case for it.

Sidequestion: I wasn't sure on which firmware to choose, there were two firmware files router-cc253x-std.hex router-cc253x-diag.hex I went for diag, as this will provide more information and I think its better to have more than to less information.

Which one did you choose and why?

Hoi have you done aything special to get this up and running. I have the same setup but can not get it to connect. Did you leave it long connected to ccdebugger after you flash it?

h4nc commented 5 years ago

I use them as routers. I think you want to use the cc2530 as coordinator, right? If so, I have no experience with that. But I can tell you that they work fine as routers.

kiwijunglist commented 5 years ago

with "rtscts": false I was able to get the cc2530 working briefly for 10s then it stops working again with following errors

{"message":"request timeout","stack":"Error: request timeout\n    at CcZnp.<anonymous> (/app/node_modules/cc-znp/lib/ccznp.js:255:22)\n    at Object.onceWrapper (events.js:315:30)\n    at emitOne (events.js:116:13)\n    at CcZnp.emit (events.js:211:7)\n    at Timeout.<anonymous> (/app/node_modules/cc-znp/lib/ccznp.js:234:18)\n    at ontimeout (timers.js:498:11)\n    at tryOnTimeout (timers.js:323:5)\n    at Timer.listOnTimeout (timers.js:290:5)"}
  zigbee2mqtt:info 2018-12-6 09:15:20 MQTT publish: topic 'zigbee2mqtt/bridge/config', payload '{"log_level":"info","permit_join":true}'
{"message":"request timeout","stack":"Error: request timeout\n    at CcZnp.<anonymous> (/app/node_modules/cc-znp/lib/ccznp.js:255:22)\n    at Object.onceWrapper (events.js:315:30)\n    at emitOne (events.js:116:13)\n    at CcZnp.emit (events.js:211:7)\n    at Timeout.<anonymous> (/app/node_modules/cc-znp/lib/ccznp.js:234:18)\n    at ontimeout (timers.js:498:11)\n    at tryOnTimeout (timers.js:323:5)\n    at Timer.listOnTimeout (timers.js:290:5)"}
  zigbee2mqtt:info 2018-12-6 09:15:49 MQTT publish: topic 'zigbee2mqtt/bridge/config', payload '{"log_level":"info","permit_join":false}'

Have you gotten any furture with this error. Unfortanately expierencing the same error

Did not get it working. Have you tried short P04 P06 P20 to ground?

ranseyer commented 5 years ago

For Coordinator use, you can do it in this way i f you want... https://github.com/ranseyer/home-automatics/blob/master/ZigBee/V01/Photo2.jpg

broekd commented 5 years ago

For Coordinator use, you can do it in this way i f you want... https://github.com/ranseyer/home-automatics/blob/master/ZigBee/V01/Photo2.jpg

This looks really cool. Is this a custom pcb that takes its components from the cc2530 and cp2102. This would probably be out of my skills to get this created. Or is this somewhere available? If not could you share the exact pin setup

adrianmihalko commented 5 years ago

How would you connect an SMA connector to the CC2531 device?

I found some variations:

1bf8477b2cd3496c6c1012f2bd9757273b92ef0d

…where the center pin of the connector is connected with one of the trace on the board. The other pin on the connector (2 pin outside) is not necessary to connect?

Is my following idea wrong?

bd86011dffee3951833321230a87146d805e62f9

I would cut the trace at the red line, and connect sma connector with two small wires as on the picture.

broekd commented 5 years ago

How much range improvement does the above modification brings

fred-c1 commented 5 years ago

Just some theoretical thought:

I also like the idea of adding a SMA (or RP-SMA) connector/antenna on CC2531EMK (original P/N from ti.com). Everything in the above picture is important:

Looking at this: www.ti.com/lit/an/swra117d/swra117d.pdf it seems that the original PCB antenna was designed for a 50ohm feed point: " The PCB antenna on the CC2511 USB dongle reference design is a meandered Inverted F Antenna (IFA). The IFA was designed to match an impedance of 50 ohm at 2.45 GHz. Thus no additional matching components are necessary. " The PCB antenna of CC2531 and CC2511 dongles seems identical so replacing the PCB antenna by a SMA (optimized for 50ohm impedance) should work.

SMA and RP-SMA PCB connectors a super cheap (ebay, etc.). Remember to buy a connector based on the thickness of your board.

adrianmihalko commented 5 years ago

This is the connector I ordered, 50Ohm:

https://www.aliexpress.com/item/10Pcs-SMA-Female-Jack-Connector-For-1-6mm-Solder-Edge-PCB-Straight-Mount-Gold-plated-RF/32847511595.html?spm=a2g0s.9042311.0.0.7ed84c4d14iqiZ

Thanks for confirming my picture, I will do the mod after I receive my CC2531's.