1 line
30 KiB
JSON
Executable File
1 line
30 KiB
JSON
Executable File
{"title":"","byline":null,"dir":null,"lang":null,"content":"<div id=\"readability-page-1\" class=\"page\"><div data-md-component=\"main\"> <article> <h2 id=\"cc2652rb-development-stick\">CC2652RB development stick<a title=\"Permanent link\" href=\"#cc2652rb-development-stick\">¶</a></h2> <p><img src=\"https://slae.sh/images/shippes_with.jpg\" loading=\"lazy\" alt=\"cc2652 stick shippes with\"></p> <div> <p>what's so cool about it..</p> <ul> <li>super tiny CC2652RB multiprotocol 2.4 GHz development stick<br></li> <li>Ideal as <b>ZigBee</b> coordinator/router<br></li> <li>.. as an <b>OpenThread</b> border router<br></li> <li>.. <b>Matter</b> compatible!!<br></li> <li>Low power capable for building battery powered devices<br></li> <li>Plug & Play, comes pre-flashed<br></li> <li>Deadly easy programming, thanks to the automatic-bootloader thing! ;)<br></li> <li>Made with <span> <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14 20.408c-.492.308-.903.546-1.192.709-.153.086-.308.17-.463.252h-.002a.75.75 0 01-.686 0 16.709 16.709 0 01-.465-.252 31.147 31.147 0 01-4.803-3.34C3.8 15.572 1 12.331 1 8.513 1 5.052 3.829 2.5 6.736 2.5 9.03 2.5 10.881 3.726 12 5.605 13.12 3.726 14.97 2.5 17.264 2.5 20.17 2.5 23 5.052 23 8.514c0 3.818-2.801 7.06-5.389 9.262A31.146 31.146 0 0114 20.408z\"></path></svg> </span> here in Cologne<br></li> </ul> </div> <h2 id=\"the-stick\">The Stick<a title=\"Permanent link\" href=\"#the-stick\">¶</a></h2> <h3 id=\"get-one\">Get one<a title=\"Permanent link\" href=\"#get-one\">¶</a></h3> <div> <p>We are in stock!</p> <ul> <li>Usually shipps within few day(s)</li> <li>.. from within Europe, Germany, Cologne!</li> <li>Pin-Headers are ONLY needed if you want to develop custom-firmware!</li> <li>USB extension cable (20cm) is highly RECOMMENDED</li> </ul> </div> <p><span> * taxes may apply<br> * shipping-fees will apply<br> * both get calculated once you enter your address! </span></p> <p>We accept a ton of payment-methods. But if you prefer something else or it isn't working, just use the \"Pay later\"-method. You will get an email afterwards, with additional options like bank transfer..</p> <h4 id=\"resellers\">Resellers<a title=\"Permanent link\" href=\"#resellers\">¶</a></h4> <p>Or choose one of our Resellers in your country:</p> <p><img width=\"24px\" src=\"https://slae.sh/images/netherlands_heart.png\" loading=\"lazy\" alt=\"netherlands\"> Netherlands</p> <ul> <li><a href=\"https://zdvshop.nl/winkel/cc2652rb-zigbee-controller-coordinator-router\"></a><a href=\"https://zdvshop.nl/\">https://zdvshop.nl</a></li> </ul> <p><img width=\"24px\" src=\"https://slae.sh/images/hungary.png\" loading=\"lazy\" alt=\"hungary\"> Hungary</p> <ul> <li><a href=\"https://www.okosabbotthon.hu/slae-sh-cc2652rb-zigbee-usb-adapter\"></a><a href=\"https://www.okosabbotthon.hu/slae-sh-cc2652rb-zigbee-usb-adapter\">https://www.okosabbotthon.hu/slae-sh-cc2652rb-zigbee-usb-adapter</a></li> </ul> <p><img width=\"24px\" src=\"https://slae.sh/images/usa.png\" loading=\"lazy\" alt=\"usa\"> USA</p> <ul> <li><a href=\"https://cloudfree.shop/product/slaesh-zigbee-stick\"></a><a href=\"https://cloudfree.shop/product/slaesh-zigbee-stick\">https://cloudfree.shop/product/slaesh-zigbee-stick</a></li> </ul> <p> Get listed, too? <a href=\"https://slae.sh/__customer/#/apply-to-become-a-reseller\"> </a> </p> <h3 id=\"antenna-types\">Antenna types<a title=\"Permanent link\" href=\"#antenna-types\">¶</a></h3> <p><img src=\"https://slae.sh/images/antenna_types.png\" loading=\"lazy\" alt=\"different antenna types\"></p> <h3 id=\"dimensions\">Dimensions<a title=\"Permanent link\" href=\"#dimensions\">¶</a></h3> <p><img src=\"https://slae.sh/images/fully_assembled_with_ruler.jpg\" loading=\"lazy\" alt=\"fully assembled plugged into a raspberry pi\"></p> <p>Fully assembled with the smallest antenna its around 7cm longs.</p> <p>The whole stick itself measures around 50x14mm.</p> <p>The CC2652RB breakout part will be around 18x14mm.</p> <p>It's smaller than a CR2032 coin cell! And can easily powered by one for multiple years :fontawesome-regular-grin-hearts:</p> <p><img src=\"https://slae.sh/images/cc2652_breakout_1euro.jpg\" loading=\"lazy\" alt=\"breakout size\"></p> <h3 id=\"pinout\">Pinout<a title=\"Permanent link\" href=\"#pinout\">¶</a></h3> <p>Nearly all free usable pins of the CC2652R are accessable through the pin-headers.</p> <p><img src=\"https://slae.sh/images/pinout.svg\" alt=\"pinout\"></p> <p>2x12 and 1x9 1.27mm pin-headers</p> <h3 id=\"leds\">LEDs<a title=\"Permanent link\" href=\"#leds\">¶</a></h3> <ul> <li>Blue: general purpose (GPIO6)</li> <li>Orange: general purpose (GPIO7)</li> <li>Green: power LED (3V3)</li> </ul> <h3 id=\"antenna\">Antenna<a title=\"Permanent link\" href=\"#antenna\">¶</a></h3> <p>It can be shipped in two antenna-options:</p> <ul> <li>SMA-connector (female, whole) -> so you can use any SMA (male, pin) antenna!</li> <li>on-chip antenna</li> </ul> <h2 id=\"zigbee-coordinator\">ZigBee coordinator<a title=\"Permanent link\" href=\"#zigbee-coordinator\">¶</a></h2> <p><img src=\"https://slae.sh/images/fully_assembled_with_pi.jpg\" loading=\"lazy\" alt=\"fully assembled plugged into a raspberry pi\"></p> <p>It's easy to use with the popular <a href=\"https://github.com/Koenkk/zigbee2mqtt\">zigbee2mqtt</a> project from <a href=\"https://github.com/Koenkk\">koenkk</a>!<br> Many thanks to him and his awesome work! :fontawesome-regular-grin-hearts: <br> After getting my fixed costs, we will reward him with every sold ZigBee-stick!</p> <div> <p>Info</p> <p>You can just replace your less powerfull CC2531/CC2538 or what ever stick you used before..<br> .. with this new powerfull CC2652R device!</p> </div> <div> <p>Warning</p> <p>For the images the stick is plugged into the PC/Pi directly to show its dimensions. Better DO NOT do it like this, use a USB-Extension cable instead!!<br> See further <a href=\"https://www.zigbee2mqtt.io/how_tos/how_to_improve_network_range_and_stability.html\">explanation here</a>.</p> </div> <h3 id=\"installation\">Installation<a title=\"Permanent link\" href=\"#installation\">¶</a></h3> <h4 id=\"firmware\">Firmware<a title=\"Permanent link\" href=\"#firmware\">¶</a></h4> <h5 id=\"download\">Download<a title=\"Permanent link\" href=\"#download\">¶</a></h5> <p>If you already ordered it with the correct firmware, skip this and <a href=\"#zigbee2mqtt\">continue here</a>.</p> <p>Download the correct FW, using the z-stack firmware 3.x.0:</p> <h6 id=\"from-koenkk\">from koenkk<a title=\"Permanent link\" href=\"#from-koenkk\">¶</a></h6> <p>COORDINATOR</p> <p><a href=\"https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_3.x.0/bin\">https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_3.x.0/bin</a></p> <p>ROUTER</p> <p><a href=\"https://github.com/Koenkk/Z-Stack-firmware/tree/master/router/Z-Stack_3.x.0/bin\">https://github.com/Koenkk/Z-Stack-firmware/tree/master/router/Z-Stack_3.x.0/bin</a></p> <p><strong>In both cases, we will need the CC2652 **RB</strong> file.**</p> <p>Download and extract.</p> <h6 id=\"from-me\">from me<a title=\"Permanent link\" href=\"#from-me\">¶</a></h6> <p>This is JUST for debugging purposes.. do not run this firmware in a productive environment. it does not get updated!</p> <p>Download this firmware file <a href=\"https://slae.sh/downloads/znp_CC2652RB_20200715.bin\">znp_CC2652RB_20200715.bin</a>.</p> <p>Main difference to koenkk's version:</p> <ul> <li>LED's (blue and orange) are turned <strong>ON</strong> at startup.</li> <li>the orange one will blink on each received UART character.</li> </ul> <h5 id=\"flash\">Flash<a title=\"Permanent link\" href=\"#flash\">¶</a></h5> <p>Use this <a href=\"https://slae.sh/projects/cc2652/#flashing\">guide below</a>.</p> <h4 id=\"zigbee2mqtt\">zigbee2mqtt<a title=\"Permanent link\" href=\"#zigbee2mqtt\">¶</a></h4> <p><img src=\"https://slae.sh/images/zigbee2mqtt-logo.png\" loading=\"lazy\" alt=\"zigbee2mqtt\"></p> <p>Just start it as usual. See the following documentation: <a href=\"https://www.zigbee2mqtt.io/#getting-started\">https://www.zigbee2mqtt.io/#getting-started</a></p> <div> <p>Warning</p> <p>Check <a href=\"https://www.zigbee2mqtt.io/guide/faq/#how-do-i-migrate-from-one-adapter-to-another\">this guide</a> for switching from one to another coordinator.</p> </div> <h4 id=\"homeassistant-hassio\">Homeassistant / Hass.io<a title=\"Permanent link\" href=\"#homeassistant-hassio\">¶</a></h4> <p>There is this super cool hassio add-on from <a href=\"https://github.com/danielwelch/hassio-zigbee2mqtt\">danielwelch</a>!</p> <p>Which let's us use the zigbee2mqtt as an easy to use add-on.</p> <p><a href=\"https://smart-home-assistant.de/zigbee2mqtt-installieren/\">Here</a> is a really good installation guide.</p> <div> <p>Hint</p> <p>Do not use <code>/dev/ttyACMx</code>. This will use different linux-drivers..</p> </div> <div> <p>Warning</p> <div><p>Another thing we need to take care of, is to use the \"long\" serial-port names!<br> Do <strong><em>NOT</em></strong> use the syntax like <code>/dev/ttyUSBx</code>.<br> Instead use the one like <code>/dev/serial/by-id/usb-Silicon_Labs_slae.sh_cc2652rb_stick_-_slaesh_s_iot_stuff_00_12_4B_00_21_A8_E3_95-if00-port0</code>! </p><p> Why should we do this?<br> Cause the serial-port using the enumerated-syntax can (and may will) change!<br> Using the <code>/dev/serial/by-id/....</code> syntax will never change.<br> And docker, or the running linux, will find the correct associated serial-port for our device! ;) </p><p> How can we check the correct name?<br> Go to the <code>Hass.io/Supervisor</code>-tab, go to <code>System</code> and click on the <code>Hardware</code>-button. </p><p> And please do this for all other USB-devices you are using, even in other add-on's. :)</p></div> </div> <h4 id=\"nymea\">nymea<a title=\"Permanent link\" href=\"#nymea\">¶</a></h4> <p><img src=\"https://avatars.githubusercontent.com/u/5237262?s=200&v=4\" loading=\"lazy\" alt=\"nymea\"></p> <p>Just stumbled across this cool project: <a href=\"https://nymea.io/\">https://nymea.io</a>.</p> <p>It offers good <a href=\"https://nymea.io/documentation/users/usage/configuration#zigbee\">ZigBee</a> support and is actively developed/tested using our stick. </p> <p>The docs are great and there are many other protocols supported of course too!</p> <p>Super easy extendable through a well developed plugin system. A joy for you devs out there..</p> <p>Its definitely worth a try!</p> <h2 id=\"matter-support\">Matter support!<a title=\"Permanent link\" href=\"#matter-support\">¶</a></h2> <p>Matter uses <b>OpenThread</b> for its underlying protocol.</p> <p>So you are good to go to conenct your new Matter devices via our stick. :)</p> <p>There are two options how to build an border router.</p> <ul> <li>NCP</li> <li>RCP</li> </ul> <p>See firmware downloads below..</p> <h2 id=\"openthread-border-router\">OpenThread border router<a title=\"Permanent link\" href=\"#openthread-border-router\">¶</a></h2> <p><img src=\"https://slae.sh/images/ot-logo.png\" loading=\"lazy\" alt=\"openthread\"></p> <p>You can also easily use it as a OpenThread border router!<br> Together with the use of <a href=\"https://github.com/openthread/wpantund\">wpantund</a> you can control and publish your local OpenThread network.</p> <p><a href=\"https://github.com/openthread/wpantund\">wpantund</a> will connect to the stick flashed with the OpenThread border router FW and will create a local network interface! this can then easily be used to communicate to OpenThread devices simply by using their IPv6 addresses :fontawesome-regular-grin-hearts:</p> <h3 id=\"firmware_1\">Firmware<a title=\"Permanent link\" href=\"#firmware_1\">¶</a></h3> <p>Just flash one of the following firmware files:</p> <p><a href=\"https://github.com/slaesh/cc2652-stick/tree/master/firmware-files/openthread\">https://github.com/slaesh/cc2652-stick/tree/master/firmware-files/openthread</a></p> <p>as described <a href=\"https://slae.sh/projects/cc2652/#flashing\">here</a>.</p> <h2 id=\"flashing\">Flashing<a title=\"Permanent link\" href=\"#flashing\">¶</a></h2> <div> <p>Warning</p> <p>Every flash-process may brick your device. Chances are low, but there! :) So, only update if you face any issues or there are recommended updates. If everything is working smoothly.. There is no need to be up to date! Run updates on a \"another\" machine, do not use the \"production environment\".</p> </div> <p>There are multiple ways to flash:</p> <ul> <li>Using the <a href=\"https://zig-star.com/radio-docs/zigstar-multi-tool/\">ZigStart Multi Tool</a> <em>recommended</em></li> <li><a href=\"https://github.com/JelmerT/cc2538-bsl\">JelmerT's serial bootload tool</a></li> <li>Using a JTAG-Adapter</li> </ul> <h3 id=\"serial-bootloader-tool\">Serial bootloader tool<a title=\"Permanent link\" href=\"#serial-bootloader-tool\">¶</a></h3> <div> <p>automatic bootloader</p> <p>You dont have to put the CC2652RB manually into the bootloader mode<br> Its done by the tool automatically!<br> So no need to reopen the enclosure for flashing..</p> </div> <h4 id=\"determine-com-port\">Determine com-port<a title=\"Permanent link\" href=\"#determine-com-port\">¶</a></h4> <p>On windows, use this in a Powershell:</p> <div><pre id=\"__code_0\"><span></span><code tabindex=\"0\">$comports = Get-WMIObject Win32_SerialPort; $comports | Get-PnpDeviceProperty -InstanceId {$_.pnpdeviceid} -Keyname DEVPKEY_Device_BusReportedDeviceDesc | ForEach-Object { foreach($comport in $comports) { if ($comport.pnpdeviceid -eq $_.instanceid) { new-object psobject -property @{COMPORT = $comport.deviceid; 'Device-Name' = $_.data} } } }\n</code></pre></div> <p>On linux, use this:</p> <h4 id=\"flash-it\">flash it<a title=\"Permanent link\" href=\"#flash-it\">¶</a></h4> <ul> <li>Install <a href=\"https://www.python.org/downloads/\">python</a></li> <li>Use <code>python --version</code> to be sure, that you are running python 3 or above!</li> <li>If you are <strong>NOT</strong> running <strong>3.4</strong> or higher, you need to install <code>pip</code>, too.</li> <li>Install dependencies with <code>pip install pyserial intelhex</code></li> <li>Download the <a href=\"https://raw.githubusercontent.com/JelmerT/cc2538-bsl/master/cc2538-bsl.py\">cc2538-bsl.py</a> file or just clone the repo.<br> <div><pre id=\"__code_2\"><span></span><code>git clone https://github.com/JelmerT/cc2538-bsl.git\n</code></pre></div></li> <li>Open the directory containing the python-script</li> <li>Open a command line there or just navigate into the folder</li> <li>Type in this command to flash your image to the stick:<br> <div><pre id=\"__code_3\"><span></span><code>./cc2538-bsl.py -p “comport” -evw “fw-file”\n</code></pre></div></li> </ul> <div> <p>Info</p> <p>-e will erase the chip<br> -w writes the file into flash<br> -v will verify the checksum</p> </div> <h2 id=\"development\">Development<a title=\"Permanent link\" href=\"#development\">¶</a></h2> <p>This stick is a great starting point if you want to get in touch with the 2.4 GHz technologies:</p> <ul> <li>ZigBee</li> <li>OpenThread / Matter</li> <li>Bluetooth 5 (BLE)</li> <li>any custom RF protocol based on IEEE 802.15.4</li> </ul> <p>You can get ready in just a few minutes and send your first packets through the air!! =)<br> .. and thats really satisfying ;D</p> <h3 id=\"enviroment\">Enviroment<a title=\"Permanent link\" href=\"#enviroment\">¶</a></h3> <p>There is at least one way to programm and debug the CC2652R devices:</p> <ul> <li>CCS - Code Composer Studio from TI</li> </ul> <p>You can download the latest version <a href=\"https://software-dl.ti.com/ccs/esd/documents/ccs_downloads.html#code-composer-studio-version-10-downloads\">here</a>.</p> <p>It shippes with so many example projects! For all possible protocols.</p> <div> <p>BOOTLOADER SETTINGS</p> <p>TAKE CARE WHILE FLASHING!<br> To use the auto-bootloader and flashing via USB you need to take care that the embedded bootloader is enabled and the Backdoor-Pin is routed to GPIO-Pin <strong>13</strong> and <strong><em>active low</em></strong> !<br> Otherwise it's not possible to flash via USB!! </p> <p><img src=\"https://slae.sh/images/ccs_bootloader_settings.png\" loading=\"lazy\" alt=\"solder pads\"></p> </div> <p>My blinky demo can be found <a href=\"https://github.com/slaesh/cc2652-stick/tree/master/example-projects/blinky\">here</a>.</p> <h2 id=\"trouble-shooting\">Trouble shooting<a title=\"Permanent link\" href=\"#trouble-shooting\">¶</a></h2> <h3 id=\"checking-the-functionality-and-reading-fw-version\">Checking the functionality and reading fw-version<a title=\"Permanent link\" href=\"#checking-the-functionality-and-reading-fw-version\">¶</a></h3> <p><img src=\"https://slae.sh/images/webserial-sticktest.gif\" loading=\"lazy\" alt=\"webserial test\"></p> <p>You can now use this website: <a href=\"https://webserial.slae.sh/\">https://webserial.slae.sh</a></p> <p>It only works with Chrome or Edge Browser! You need to STOP ANY PROGRAM USING THE SERIAL PORT !!</p> <p>Or use this python script:</p> <p>To test the stick just run this scipt: <a href=\"https://github.com/slaesh/cc2652-stick/tree/master/coordinator-test\">https://github.com/slaesh/cc2652-stick/tree/master/coordinator-test</a>.</p> <p>Maybe do it twice, if it fails the first time.</p> <p>On linux the script may auto-detect the right comport! Otherwise, and on windows, you have to specify it!</p> <h3 id=\"zigbee2mqtt-isnt-working\">zigbee2mqtt isn't working<a title=\"Permanent link\" href=\"#zigbee2mqtt-isnt-working\">¶</a></h3> <p>koenkk and i needed to add some code to work properly, cause of the auto bootloader schematic.</p> <p>So first of all, check which version of zigbee2mqtt you are running currently! See those <a href=\"#zigbee2mqtt\">hints</a>.</p> <p>If updating is not resolving your issue, please download this <a href=\"https://slae.sh/downloads/znp_CC2652RB_20200715.bin\">firmware</a> for the stick.</p> <p>And flash it using the <a href=\"https://slae.sh/projects/cc2652/#flashing\">guide above</a>.</p> <p>This FW is a coordinator, too. But will turn both LED's (blue and orange) <strong>ON</strong> at startup!</p> <p>The orange one will blink everytime the stick receives any character via UART.</p> <p>So we can use this for debug purposes:</p> <ul> <li>Plug the Stick -> LED's should be both ON!</li> <li>Start zigbee2mqtt</li> <li>If both LED's will turn off during starting zigbee2mqtt we don't have the correct version or some bad settings!</li> <li>Check your <code>configuration.yaml</code> to NOT include <code>rtscts: true</code> in the <code>advanced</code> section.</li> </ul> <p>Still struggling? just get in touch with us via <a href=\"https://t.me/slaesh\">Telegram</a> !!</p> <h3 id=\"cant-get-any-serial-debug-messages\">can't get any serial debug messages<a title=\"Permanent link\" href=\"#cant-get-any-serial-debug-messages\">¶</a></h3> <p>Your serial monitor need to release RTS and DTR.</p> <p>Like on a unix-system, using miniterm:</p> <div><pre id=\"__code_4\"><span></span><code>miniterm.py /dev/ttyUSB1 230400 --rts 0 --dtr 0\n</code></pre></div> <p>Will open the ttyUSB1 with a baurdrate of 230400.</p> <p>The RTS signal is connected to the RESET-Pin and DTR is connected to the Bootloader_Enable-Pin!<br> If you dont wan't this behavior, you can destroy/cut the solder-pads underneath..</p> <p><img src=\"https://slae.sh/images/solder_pads_underneath.jpg\" loading=\"lazy\" alt=\"solder pads\"></p> <h2 id=\"hw-files\">HW files<a title=\"Permanent link\" href=\"#hw-files\">¶</a></h2> <p><a href=\"https://easyeda.com/mxii.monxii/cc2652rb_minimalistic\">https://easyeda.com/mxii.monxii/cc2652rb_minimalistic</a></p> <h2 id=\"licenses\">Licenses<a title=\"Permanent link\" href=\"#licenses\">¶</a></h2> <p>Hardware License: Solderpad 2.0<br> Software License: GPL v3<br> Documentation license: CC BY 4.0<br></p> <p>Emails are hard to track and are getting messy real quickly..</p> <p>So just text us on <a href=\"https://t.me/slaesh\">Telegram</a> for any requests and technical support!</p> </article> </div></div>","textContent":" CC2652RB development stick¶ what's so cool about it.. super tiny CC2652RB multiprotocol 2.4 GHz development stick Ideal as ZigBee coordinator/router .. as an OpenThread border router .. Matter compatible!! Low power capable for building battery powered devices Plug & Play, comes pre-flashed Deadly easy programming, thanks to the automatic-bootloader thing! ;) Made with here in Cologne The Stick¶ Get one¶ We are in stock! Usually shipps within few day(s) .. from within Europe, Germany, Cologne! Pin-Headers are ONLY needed if you want to develop custom-firmware! USB extension cable (20cm) is highly RECOMMENDED * taxes may apply * shipping-fees will apply * both get calculated once you enter your address! We accept a ton of payment-methods. But if you prefer something else or it isn't working, just use the \"Pay later\"-method. You will get an email afterwards, with additional options like bank transfer.. Resellers¶ Or choose one of our Resellers in your country: Netherlands https://zdvshop.nl Hungary https://www.okosabbotthon.hu/slae-sh-cc2652rb-zigbee-usb-adapter USA https://cloudfree.shop/product/slaesh-zigbee-stick Get listed, too? Antenna types¶ Dimensions¶ Fully assembled with the smallest antenna its around 7cm longs. The whole stick itself measures around 50x14mm. The CC2652RB breakout part will be around 18x14mm. It's smaller than a CR2032 coin cell! And can easily powered by one for multiple years :fontawesome-regular-grin-hearts: Pinout¶ Nearly all free usable pins of the CC2652R are accessable through the pin-headers. 2x12 and 1x9 1.27mm pin-headers LEDs¶ Blue: general purpose (GPIO6) Orange: general purpose (GPIO7) Green: power LED (3V3) Antenna¶ It can be shipped in two antenna-options: SMA-connector (female, whole) -> so you can use any SMA (male, pin) antenna! on-chip antenna ZigBee coordinator¶ It's easy to use with the popular zigbee2mqtt project from koenkk! Many thanks to him and his awesome work! :fontawesome-regular-grin-hearts: After getting my fixed costs, we will reward him with every sold ZigBee-stick! Info You can just replace your less powerfull CC2531/CC2538 or what ever stick you used before.. .. with this new powerfull CC2652R device! Warning For the images the stick is plugged into the PC/Pi directly to show its dimensions. Better DO NOT do it like this, use a USB-Extension cable instead!! See further explanation here. Installation¶ Firmware¶ Download¶ If you already ordered it with the correct firmware, skip this and continue here. Download the correct FW, using the z-stack firmware 3.x.0: from koenkk¶ COORDINATOR https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_3.x.0/bin ROUTER https://github.com/Koenkk/Z-Stack-firmware/tree/master/router/Z-Stack_3.x.0/bin In both cases, we will need the CC2652 **RB file.** Download and extract. from me¶ This is JUST for debugging purposes.. do not run this firmware in a productive environment. it does not get updated! Download this firmware file znp_CC2652RB_20200715.bin. Main difference to koenkk's version: LED's (blue and orange) are turned ON at startup. the orange one will blink on each received UART character. Flash¶ Use this guide below. zigbee2mqtt¶ Just start it as usual. See the following documentation: https://www.zigbee2mqtt.io/#getting-started Warning Check this guide for switching from one to another coordinator. Homeassistant / Hass.io¶ There is this super cool hassio add-on from danielwelch! Which let's us use the zigbee2mqtt as an easy to use add-on. Here is a really good installation guide. Hint Do not use /dev/ttyACMx. This will use different linux-drivers.. Warning Another thing we need to take care of, is to use the \"long\" serial-port names! Do NOT use the syntax like /dev/ttyUSBx. Instead use the one like /dev/serial/by-id/usb-Silicon_Labs_slae.sh_cc2652rb_stick_-_slaesh_s_iot_stuff_00_12_4B_00_21_A8_E3_95-if00-port0! Why should we do this? Cause the serial-port using the enumerated-syntax can (and may will) change! Using the /dev/serial/by-id/.... syntax will never change. And docker, or the running linux, will find the correct associated serial-port for our device! ;) How can we check the correct name? Go to the Hass.io/Supervisor-tab, go to System and click on the Hardware-button. And please do this for all other USB-devices you are using, even in other add-on's. :) nymea¶ Just stumbled across this cool project: https://nymea.io. It offers good ZigBee support and is actively developed/tested using our stick. The docs are great and there are many other protocols supported of course too! Super easy extendable through a well developed plugin system. A joy for you devs out there.. Its definitely worth a try! Matter support!¶ Matter uses OpenThread for its underlying protocol. So you are good to go to conenct your new Matter devices via our stick. :) There are two options how to build an border router. NCP RCP See firmware downloads below.. OpenThread border router¶ You can also easily use it as a OpenThread border router! Together with the use of wpantund you can control and publish your local OpenThread network. wpantund will connect to the stick flashed with the OpenThread border router FW and will create a local network interface! this can then easily be used to communicate to OpenThread devices simply by using their IPv6 addresses :fontawesome-regular-grin-hearts: Firmware¶ Just flash one of the following firmware files: https://github.com/slaesh/cc2652-stick/tree/master/firmware-files/openthread as described here. Flashing¶ Warning Every flash-process may brick your device. Chances are low, but there! :) So, only update if you face any issues or there are recommended updates. If everything is working smoothly.. There is no need to be up to date! Run updates on a \"another\" machine, do not use the \"production environment\". There are multiple ways to flash: Using the ZigStart Multi Tool recommended JelmerT's serial bootload tool Using a JTAG-Adapter Serial bootloader tool¶ automatic bootloader You dont have to put the CC2652RB manually into the bootloader mode Its done by the tool automatically! So no need to reopen the enclosure for flashing.. Determine com-port¶ On windows, use this in a Powershell: $comports = Get-WMIObject Win32_SerialPort; $comports | Get-PnpDeviceProperty -InstanceId {$_.pnpdeviceid} -Keyname DEVPKEY_Device_BusReportedDeviceDesc | ForEach-Object { foreach($comport in $comports) { if ($comport.pnpdeviceid -eq $_.instanceid) { new-object psobject -property @{COMPORT = $comport.deviceid; 'Device-Name' = $_.data} } } }\n On linux, use this: flash it¶ Install python Use python --version to be sure, that you are running python 3 or above! If you are NOT running 3.4 or higher, you need to install pip, too. Install dependencies with pip install pyserial intelhex Download the cc2538-bsl.py file or just clone the repo. git clone https://github.com/JelmerT/cc2538-bsl.git\n Open the directory containing the python-script Open a command line there or just navigate into the folder Type in this command to flash your image to the stick: ./cc2538-bsl.py -p “comport” -evw “fw-file”\n Info -e will erase the chip -w writes the file into flash -v will verify the checksum Development¶ This stick is a great starting point if you want to get in touch with the 2.4 GHz technologies: ZigBee OpenThread / Matter Bluetooth 5 (BLE) any custom RF protocol based on IEEE 802.15.4 You can get ready in just a few minutes and send your first packets through the air!! =) .. and thats really satisfying ;D Enviroment¶ There is at least one way to programm and debug the CC2652R devices: CCS - Code Composer Studio from TI You can download the latest version here. It shippes with so many example projects! For all possible protocols. BOOTLOADER SETTINGS TAKE CARE WHILE FLASHING! To use the auto-bootloader and flashing via USB you need to take care that the embedded bootloader is enabled and the Backdoor-Pin is routed to GPIO-Pin 13 and active low ! Otherwise it's not possible to flash via USB!! My blinky demo can be found here. Trouble shooting¶ Checking the functionality and reading fw-version¶ You can now use this website: https://webserial.slae.sh It only works with Chrome or Edge Browser! You need to STOP ANY PROGRAM USING THE SERIAL PORT !! Or use this python script: To test the stick just run this scipt: https://github.com/slaesh/cc2652-stick/tree/master/coordinator-test. Maybe do it twice, if it fails the first time. On linux the script may auto-detect the right comport! Otherwise, and on windows, you have to specify it! zigbee2mqtt isn't working¶ koenkk and i needed to add some code to work properly, cause of the auto bootloader schematic. So first of all, check which version of zigbee2mqtt you are running currently! See those hints. If updating is not resolving your issue, please download this firmware for the stick. And flash it using the guide above. This FW is a coordinator, too. But will turn both LED's (blue and orange) ON at startup! The orange one will blink everytime the stick receives any character via UART. So we can use this for debug purposes: Plug the Stick -> LED's should be both ON! Start zigbee2mqtt If both LED's will turn off during starting zigbee2mqtt we don't have the correct version or some bad settings! Check your configuration.yaml to NOT include rtscts: true in the advanced section. Still struggling? just get in touch with us via Telegram !! can't get any serial debug messages¶ Your serial monitor need to release RTS and DTR. Like on a unix-system, using miniterm: miniterm.py /dev/ttyUSB1 230400 --rts 0 --dtr 0\n Will open the ttyUSB1 with a baurdrate of 230400. The RTS signal is connected to the RESET-Pin and DTR is connected to the Bootloader_Enable-Pin! If you dont wan't this behavior, you can destroy/cut the solder-pads underneath.. HW files¶ https://easyeda.com/mxii.monxii/cc2652rb_minimalistic Licenses¶ Hardware License: Solderpad 2.0 Software License: GPL v3 Documentation license: CC BY 4.0 Emails are hard to track and are getting messy real quickly.. So just text us on Telegram for any requests and technical support! ","length":10234,"excerpt":"","siteName":null} |