{"id":18835174,"url":"https://github.com/blockchainsllc/nrf-in3-template","last_synced_at":"2026-01-26T18:30:17.451Z","repository":{"id":50175899,"uuid":"244632192","full_name":"blockchainsllc/nrf-in3-template","owner":"blockchainsllc","description":"Boiler Plate for IN3 projects on the Nordic nRF52840 using Nordic SDK and Softdevice.","archived":false,"fork":false,"pushed_at":"2022-12-08T07:24:44.000Z","size":1902,"stargazers_count":1,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-30T07:43:35.699Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blockchainsllc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-03-03T12:37:19.000Z","updated_at":"2024-12-02T00:22:59.000Z","dependencies_parsed_at":"2023-01-25T08:45:39.204Z","dependency_job_id":null,"html_url":"https://github.com/blockchainsllc/nrf-in3-template","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blockchainsllc%2Fnrf-in3-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blockchainsllc%2Fnrf-in3-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blockchainsllc%2Fnrf-in3-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blockchainsllc%2Fnrf-in3-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blockchainsllc","download_url":"https://codeload.github.com/blockchainsllc/nrf-in3-template/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239769774,"owners_count":19693934,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-08T02:14:52.923Z","updated_at":"2026-01-26T18:30:17.338Z","avatar_url":"https://github.com/blockchainsllc.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IN3 on NRF52840 Template\nBoiler Plate for IN3 projects on the Nordic nRF52840 using Nordic SDK and Softdevice.\n\n#### Usage\n 1. Be sure to have all [dependencies](#dependencies) installed\n 2. Delete old builds with `make clean`\n 3. Compile sources with `make ./Makefile` or just `make`\n 4. Connect the device\n 5. Erase device memory to be sure only the desired firmware is in the device `make erase`\n 6. Write Nordic Softdevice with `make flash_softdevice`\n 7. Write in3 firmware with `make flash`\n 8. Connect the device to other capable device with internet connection accordingly to the loaded transport module\n\n ##### Compilation and Flashing\n ```\n make clean\n make\n make erase\n make flash_softdevice\n make flash\n ```\n\n##### All Make commands\n- `make flash`: Runs `nrfjprog` to program the device with latest firmware\n- `make erase`: Runs `nrfjprog` to erase the device\n- `make flash_softdevice`: Runs `nrfjprog` to program the device with latest [softdevice](https://www.nordicsemi.com/Software-and-Tools/Software/S140) hex\n- `make debug-server`: Runs Segger J-Link Debugger Server\n- `make debug`: Uses `gcc` to compile the program and execute debugging commands\n- `make sdk_config`: Uses `java` and [CMSIS Configuration Wizard](https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.2.0/sdk_config.html) to allows users to easily configure ARM source files without using the Keil uVision IDE. Loads `config/sdk_config.h` from sources.\n- `make check_env`: Check for NRF5 SDK folder\n- `make update_in3`: Updates the version of in3 being used.\n\n## Supported transport modules\n\nChange `main.c`to activate he desired transport module, `UART` is de the default. Only **ONE** transport module can be activated on the current firmware version.\n\n- UART - **_default_** - Universal Asynchronous Receiver/Transmitter\n- BLE -  Bluetooth Low-Energy\n- USB - Universal Serial Bus\n\n#### UART - Universal Asynchronous Receiver/Transmitter\nDeveloper need an UART to USB adapter to be able to access this interface. We used `FTDI232`for testing.\n - [Mouser.de FTDI 232](https://www.mouser.de/ProductDetail/Parallax/28024?qs=%2Fha2pyFaduj%2FYF1ey9away8PnRzDxED6kbp3OE70Ey4%3D)\n - [Bus Pirate](http://dangerousprototypes.com/docs/Bus_Pirate)\n\n##### Usage\n1. Connect the UART to USB adapter to the nRF accordingly to the pinout\n2. Create a python virtual environment `virtualenv -p python3 venv`\n3. Activate it `source venv/bin/activate`\n4. Install the dependencies `pip install -r scripts/requirements.txt`\n5. Run the script `python scripts/in3_uart_adapter.py`\n6. Turn on the dev board or press the reset button\n7. Script must show the incubed payload and request the data from the in3 server\n\n##### UART pinout on nRF5840:\n\n| PIN NUMBER | PIN NAME | FTDI232  |\n|:----------:|:--------:|:--------:|\n|   P0.29    |   TXD    |   RXD    |\n|   P0.31    |   RXD    |   TXD    |\n|   P1.13    |   RTS    |   CTS    |\n|   P1.15    |   CTS    |   DTR    |\n\n#### BLE - Bluetooth Low-Energy\nMissing pairing. Working with hardcoded parameters.\n\n#### USB - Universal Serial Bus\n*Future feature*\n\n## Dependencies\n- [Nordic nRF52 SDK](https://www.nordicsemi.com/Software-and-Tools/Software/nRF5-SDK)\n- [Nordic Command Line Tools](https://www.nordicsemi.com/Software-and-Tools/Development-Tools/nRF-Command-Line-Tools/Download)\n- [Micro-ecc library](https://github.com/kmackay/micro-ecc)\n  - [Installation steps](https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v12.2.0%2Flib_crypto.html\u0026cp=4_0_1_3_9_2\u0026anchor=lib_crypto_installing)\n\n#### Tested on\n- [Nordic nRF52840 PCA10056](https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52840-DK)\n- [Nordic nRF52840 Dongle](https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52840-Dongle)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblockchainsllc%2Fnrf-in3-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblockchainsllc%2Fnrf-in3-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblockchainsllc%2Fnrf-in3-template/lists"}