{"id":16144948,"url":"https://github.com/hallard/rak3172-breakout","last_synced_at":"2026-02-21T19:33:19.449Z","repository":{"id":56766684,"uuid":"383274275","full_name":"hallard/RAK3172-Breakout","owner":"hallard","description":"STM32WL LoRaWAN Breakout board for RAK3172","archived":false,"fork":false,"pushed_at":"2023-05-26T10:43:07.000Z","size":2024,"stargazers_count":34,"open_issues_count":0,"forks_count":19,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-10-20T06:35:25.650Z","etag":null,"topics":["breakout","lora","lorawan","stm32","stm32wl"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hallard.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-05T22:04:17.000Z","updated_at":"2025-07-14T12:25:49.000Z","dependencies_parsed_at":"2024-11-01T19:42:04.792Z","dependency_job_id":"e152ac00-b16b-4f88-a10e-a916f3f087bd","html_url":"https://github.com/hallard/RAK3172-Breakout","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/hallard/RAK3172-Breakout","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hallard%2FRAK3172-Breakout","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hallard%2FRAK3172-Breakout/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hallard%2FRAK3172-Breakout/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hallard%2FRAK3172-Breakout/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hallard","download_url":"https://codeload.github.com/hallard/RAK3172-Breakout/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hallard%2FRAK3172-Breakout/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29691045,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T18:18:25.093Z","status":"ssl_error","status_checked_at":"2026-02-21T18:18:22.435Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["breakout","lora","lorawan","stm32","stm32wl"],"created_at":"2024-10-10T00:14:35.637Z","updated_at":"2026-02-21T19:33:19.419Z","avatar_url":"https://github.com/hallard.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# RAK3172 breakout board\n\n\u003cimg src=\"https://github.com/hallard/RAK3172-Breakout/blob/main/pictures/RAK3172-Breakout-top.png\"\u003e\n\nBased on [RAK3172](https://docs.rakwireless.com/Product-Categories/WisDuo/RAK3172-Module/Overview/) from RAK Wireless.\n\nI'm using mainly to flash custom firmware in it, and not using AT default firmware.\n\n##Changes log\n\n**V1.1**\n\n- Fixed Boot0 wiring to 3V3 instead of ground\n- Fixed BOM on schematics \n\n**V1.0**\n\n- RAK3172 Module\n- No USB/Serial, SMD FTDI 6 pins connector (**use 3.3V FTDI One, not 5V**)\n- Exposed JTAG pins needed to flash module (PA13-SWDIO / PA14-SWCLK / RESET)\n- Red Led on PB5\n- Green Led on PB10\n- Optional 2 Tactile Switch (boot and reset)\n- I2C 4 pins location for \"classic\" sensors\n\n## Detailed Description\n\nNo specific documentation for now, it's just a kind of wiring helper as schematic\n\n\n## Schematic\n\n\u003cimg src=\"https://github.com/hallard/RAK3172-Breakout/blob/main/pictures/RAK3172-Breakout-sch.png\"\u003e\n\n## Boards \n\nYou can order the board on [oshpark](https://oshpark.com). \n\n- [V1.1](https://oshpark.com/shared_projects/s3n0gTxi) \n- [V1.0](https://oshpark.com/shared_projects/Ss2INNiR) \n\n\nIt's a pitty after several discuss with OSHPark that I can't have any rewards for each people ordering my boards, this would allow me to order free PCB for shared projects and create new ones. For information my shared boards generated a total of **$285 162.00** orders at PCBs.io in 4 years, not bad at all :-)\n\nHoping one day OSHparks will thanks me giving them this market. \n\n### Assembled boards\n\n**Top \u0026 bottom side**\n\nTBD\n\n\u003cimg src=\"https://github.com/hallard/RAK3172-Breakout/blob/main/pictures/RAK3172-Breakout-top.png\"\u003e\n\u003cimg src=\"https://github.com/hallard/RAK3172-Breakout/blob/main/pictures/RAK3172-Breakout-bot.png\"\u003e\n\n\n## Bill Of Material\n\nNothing fancy, all components are 0805 and/or PTH and can be ordered almost anywhere (digikey, mouser, radiospare, ...). \nuse only what you need dependings on what you want to do. \n\nCheck [BOM](https://github.com/hallard/RAK3172-Breakout/blob/main/RAK3172-Breakout-BOM.xlsx) File.\n\nPS : 100uF 0805 capacitors C4,C5,C6 and C7 are for use with coin cell battery, no need to put them if not powering from coin. Also take care of contact is using cell coin\n\n\n### Test Board out of factory stock \n\nWhen the boards are from factory, default AT firmware is flashed and thus we have the possibility to test the board before flashing custom firmware and maily also get defaults keys from device.\n\nTo do so, connect a 3V3 FTDI Type USB/Serial to access Serial Console \n\n\u003e :warning: **Do not use 5V configured FTDI** \n\nI personnaly use these one for [Sparkun](https://www.sparkfun.com/products/14050) but you can find clones anywhere on the Web.\n\n![](https://cdn.sparkfun.com/assets/parts/1/1/8/8/8/14050-01.jpg)\n\nOnce done open Serial terminal (the one from FTDI Serial Port) configured as `9600` BPS `8N1`, no flow control, echo typed characters and set to CR+LF for enter key, press reset button and you should be able to see banner\n\n```\nLoRa (R) is a registered trademark or service mark of Semtech Corporation or its affiliates. LoRaWAN (R) is a licensed mark.\n\n______  ___   _   __  _    _ _          _               \n| ___ \\/ _ \\ | | / / | |  | (_)        | |              \n| |_/ / /_\\ \\| |/ /  | |  | |_ _ __ ___| | ___  ___ ___ \n|    /|  _  ||    \\  | |/\\| | | '__/ _ \\ |/ _ \\/ __/ __|\n| |\\ \\| | | || |\\  \\ \\  /\\  / | | |  __/ |  __/\\__ \\__ \\\n\\_| \\_\\_| |_/\\_| \\_/  \\/  \\/|_|_|  \\___|_|\\___||___/___/\n========================================================\nRAK3172-H Version:v1.0.2 May 26 2021\nCurrent Work Mode: LoRaWAN.\n```\n\nThen type `AT` command to see if the RAK board answer, in this example the board answered `OK` which is correct\n```\nAT \nOK\n```\n\nNow get the device version\n```\nAT+VER=? \nV1.0.2\nOK\n```\n\nNow get the device keys information \n```\nAT+DEVEUI=? \nac1f09fffe0527f5\nOK\nAT+APPEUI=? \nac1f09fff8683172\nOK\nAT+APPKEY=? \nac1f09fffe0527f5ac1f09fff8683172\nOK\n```\n\nI'm using [TTN](https://www.thethingsnetwork.org/) for testing so please follow excellent RAK guide on how to provision your device onto TTN [here](https://docs.rakwireless.com/Product-Categories/WisDuo/RAK3172-Module/Quickstart/#connecting-to-the-things-network-ttn)\n\nIn our case we will use the AppKey generated from TTN when provisionning device, just provision your device onto TTN, get the key and put into the device as follow with command `AT+APPKEY` in our case AppKey is `B3D2F9587DED7B03AD9F1809564192E0`\n```\nAT+APPKEY=B3D2F9587DED7B03AD9F1809564192E0 \nOK\n```\nCheck it's ok\n```\nAT+APPKEY=?                                \nb3d2f9587ded7b03ad9f1809564192e0\nOK\n```\n\nSet LoRaWAN Mode + OTAA + Class A + Frequency Plan EU868 (Band 4) + ADR\n```\nAT+NWM=1 \nOK\n\nAT+NJM=1 \nOK\n\nAT+CLASS=A \nOK\n\nAT+BAND=4 \nOK\n\nAT+ADR=1 \nOK\n```\n\nNow time to join (be sure device is provisioned on TTN and you have a TTN gateway around)\n```\nAT+JOIN=1:0:10:8 \nOK\n```\n\nsome seconds later you should have confirmation\n```\n+EVT:JOINED\n```\n\nNow send ASCII \"1234\" confirmed message\n```\nAT+SEND=2:31323334 \nOK\n+EVT:SEND CONFIRMED OK\n```\n\nAnd here we go, all is working fine, now time to have some fun with custom firmware\n\n\n### Compile and flash Firmware\n\nYou can flash the board with excellent [mbed-os](https://os.mbed.com/mbed-os/) framework. \nEasy way is to use [mbed studio IDE](https://os.mbed.com/studio/). \nWe added this board into [stm32customtargets](https://github.com/ARMmbed/stm32customtargets), don't hesitate to read the [readme](https://github.com/ARMmbed/stm32customtargets/blob/master/README.md). \nFinally the main firmware [mbed-os-example-lorawan](https://github.com/ARMmbed/mbed-os-example-lorawan) program.\n\nOnce IDE installed: \n\n- use `file` / `import program` and them import the example with URL `https://github.com/ARMmbed/mbed-os-example-lorawan`\n- right click in the project name and select `Add Library` and enter `https://github.com/ARMmbed/stm32customtargets`\n- open the file `custom_targets.json` from folder `stm32customtargets` and copy whole contents\n- paste copied contents in the main root folder file `custom_targets.json` (yes replace the whole file) \n- open the file `mbed_app.json` and change parameters on the section `target_overrides`\n    - LoRaWAN parameters such as frequency plan, OTAA, Duty Cycle, ...\n    - replace keys with the ones you got from above step `lora.device-eui`, `lora.application-eui` and `lora.application-key`\n- add the following section near the end of the file `mbed_app.json`.\n\n```json\n        \"RAK3172_BREAKOUT\": {\n            \"stm32wl-lora-driver.rf_switch_config\": 2,\n            \"stm32wl-lora-driver.crystal_select\": 0,\n            \"stm32wl-lora-driver.debug_rx\": \"LED1\",\n            \"stm32wl-lora-driver.debug_tx\": \"LED2\",\n            \"stm32wl-lora-driver.debug_invert\": 1\n        }\n```\n\nThen on IDE select target \"RAK3172_BREAKOUT\", build and flash with your favorite programmer (I'm using STLink) with GND/SWDIO/SWDCLK/RESET connected. \n\n### Build and Flash\n\nFrom IDE you can build the example. If you plug your STLink while project opened, mbed ide will ask you if you want to set it up for this project/target, once approved you can compile, flash and even debug from mbed ide (need some tools installed, [read](https://os.mbed.com/docs/mbed-studio/current/monitor-debug/debugging-with-mbed-studio.html), very nice.\n\n\n\u003cimg src=\"https://github.com/hallard/RAK3172-Breakout/blob/main/pictures/RAK3172-Breakout-mbed-ide.png\"\u003e\n\nYou can also see logs with the FTDI adapter and any Serial terminal set to 115200 bauds 8 bits no parity 1 stop bit (8N1)\n\n```\nMbed LoRaWANStack initialized \n CONFIRMED message retries : 3 \n Adaptive data  rate (ADR) - Enabled \n Connection - In Progress ...\n Connection - Successful \n Dummy Sensor Value = 3 \n 23 bytes scheduled for transmission \n Message Sent to Network Server \n Dummy Sensor Value = 5 \n 23 bytes scheduled for transmission \n Message Sent to Network Server \n Dummy Sensor Value = 7 \n 23 bytes scheduled for transmission \n```\n\nGreen LED will be on when on receive mode and Red when sending data.\n\n## License\n\n\u003cimg alt=\"Creative Commons Attribution-NonCommercial 4.0\" src=\"https://i.creativecommons.org/l/by-nc/4.0/88x31.png\"\u003e   \n\nThis work is licensed under a [Creative Commons Attribution-NonCommercial 4.0 International License](http://creativecommons.org/licenses/by-nc/4.0/)    \nIf you want to do commercial stuff with this project, please contact [CH2i company](https://www.ch2i.eu/en#support) so we can organize an simple agreement.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhallard%2Frak3172-breakout","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhallard%2Frak3172-breakout","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhallard%2Frak3172-breakout/lists"}