{"id":15163195,"url":"https://github.com/mauriciobarroso/nearfi_code","last_synced_at":"2026-01-03T10:57:06.769Z","repository":{"id":161226900,"uuid":"314609009","full_name":"mauriciobarroso/nearfi_code","owner":"mauriciobarroso","description":"Proximity Wi-Fi Repeater based on ESP32 SoCs","archived":false,"fork":false,"pushed_at":"2025-06-28T22:42:23.000Z","size":421,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-05T19:10:57.006Z","etag":null,"topics":["c","esp-idf","esp32","esp32c3","esp32c6","esp32s2","esp32s3","nat","repeater","wifi","wifi-repeater"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mauriciobarroso.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-11-20T16:28:31.000Z","updated_at":"2025-06-28T22:42:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"3743463e-5b29-40b1-b607-ec008685e1f9","html_url":"https://github.com/mauriciobarroso/nearfi_code","commit_stats":{"total_commits":134,"total_committers":2,"mean_commits":67.0,"dds":0.03731343283582089,"last_synced_commit":"a387c8691b93985ce0ef826d20e84fd88269a97f"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/mauriciobarroso/nearfi_code","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mauriciobarroso%2Fnearfi_code","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mauriciobarroso%2Fnearfi_code/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mauriciobarroso%2Fnearfi_code/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mauriciobarroso%2Fnearfi_code/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mauriciobarroso","download_url":"https://codeload.github.com/mauriciobarroso/nearfi_code/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mauriciobarroso%2Fnearfi_code/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000686,"owners_count":26082837,"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","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["c","esp-idf","esp32","esp32c3","esp32c6","esp32s2","esp32s3","nat","repeater","wifi","wifi-repeater"],"created_at":"2024-09-27T02:20:43.093Z","updated_at":"2025-10-08T21:57:18.584Z","avatar_url":"https://github.com/mauriciobarroso.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NearFi\nNearFi is a proximity Wi-Fi repeater based on ESP32-S2 and ESP-IDF.\n\n## 1. Install prerequisites\nTo compile with ESP-IDF you need execute the next commands to get the necessary packages:\n\n```\nsudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util\n```\n\n## 2. Get ESP-IDF\nTo build this application for the ESP32-S2, you need the software libraries provided by Espressif in ESP-IDF repository.\n\nTo get ESP-IDF, navigate to your installation directory and execute the next commands:\n\n```\nmkdir ~/esp\ncd ~/esp\ngit clone -b release/v4.2 --recursive https://github.com/espressif/esp-idf.git\n```\n\nThe version 4.2 of ESP-IDF is mandatory.\n\n## 3. Set up the tools\nAside from the ESP-IDF, you also need to install the tools used by ESP-IDF, such as the compiler, debugger, Python packages, etc. Execute the next commands:\n\n```\ncd ~/esp/esp-idf\n./install.sh esp32s2\n```\n\n## 4. Se up the environment variables\nIn the terminal where you are going to use ESP-IDF, run:\n\n```\ncd ~/esp/esp-idf\n. $HOME/esp/esp-idf/export.sh\n```\n\n## 5. Clone the project\nTo buld and flash this application you need clone it in your workspace with the next command:\n\n```\ngit clone --recursive https://github.com/mauriciobarroso/nearfi_code.git\n```\n\n## 6. Build, flash and monitor the output\nThe project is ready to compile. The default settings are in `sdkconfig.defaults` file. To build the project execute the next commands in the project folder:\n\n```\nidf.py fullclean\nidf.py set-target esp32s2\nidf.py build\n```\n\nTo flash the binary files created you need execute the next command:\n\n```\nesptool.py --chip esp32s2 --port /dev/ttyUSB1 --baud 460800 --before=default_reset --after=no_reset --no-stub write_flash --flash_mode dio --flash_freq 80m --flash_size 4MB 0x1000 /home/mauricio/projects/getbit/nearfi/nearfi_code/build/bootloader/bootloader.bin \u0026\u0026 idf.py flash monitor\n```\n Once you are done flashing the binary files, you can see the output on the monitor openned with the last command. Reset the device and wait the monitor show something like this:\n \n```\nESP-ROM:esp32s2-rc4-20191025\nBuild:Oct 25 2019\nrst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)\nSPIWP:0xee\nmode:DIO, clock div:1\nValid secure boot key blocks: 0\nsecure boot verification succeeded\nload:0x3ffe6268,len:0x7c\nload:0x3ffe62e4,len:0x804\nload:0x4004c000,len:0x1478\nload:0x40050000,len:0x2c04\nentry 0x4004c2a0\nI (314) cache: Instruction cache \t: size 16KB, 4Ways, cache line size 16Byte\nI (315) cpu_start: Pro cpu up.\nI (315) cpu_start: Application information:\nI (319) cpu_start: Project name:     NearFi\nI (324) cpu_start: App version:      1.2.0\nI (329) cpu_start: Compile time:     Jun  7 2022 15:24:56\nI (335) cpu_start: ELF file SHA256:  13571ac874202adb...\nI (341) cpu_start: ESP-IDF:          v4.2-dirty\nI (346) cpu_start: Single core mode\nI (351) heap_init: Initializing. RAM available for dynamic allocation:\nI (358) heap_init: At 3FFD6238 len 00025DC8 (151 KiB): DRAM\nI (364) heap_init: At 3FFFC000 len 00003A10 (14 KiB): DRAM\nI (370) cpu_start: Pro cpu start user code\nI (432) spi_flash: detected chip: generic\nI (433) spi_flash: flash io: dio\nI (433) cpu_start: Starting scheduler on PRO CPU.\nI (436) app: Initializing components instances\nI (463) Button: Initializing button component...\nI (463) gpio: GPIO[21]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:3 \nI (466) Buzzer: Initializing buzzer component...\nI (472) gpio: GPIO[4]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 \nI (481) wifi: Initializing wifi component...\nI (489) wifi:wifi driver task: 3ffdfa34, prio:23, stack:6656, core=0\nI (492) system_api: Base MAC address is not set\nI (497) system_api: read default base MAC address from EFUSE\nI (519) wifi:wifi firmware version: 1865b55\nI (519) wifi:wifi certification version: v7.0\nI (519) wifi:config NVS flash: enabled\nI (520) wifi:config nano formating: disabled\nI (524) wifi:Init data frame dynamic rx buffer num: 32\nI (528) wifi:Init management frame dynamic rx buffer num: 32\nI (534) wifi:Init management short buffer num: 32\nI (538) wifi:Init dynamic tx buffer num: 32\nI (542) wifi:Init static rx buffer size: 1600\nI (546) wifi:Init static rx buffer num: 8\nI (550) wifi:Init dynamic rx buffer num: 32\nI (554) wifi_init: rx ba win: 16\nI (558) wifi_init: tcpip mbox: 32\nI (562) wifi_init: udp mbox: 32\nI (566) wifi_init: tcp mbox: 32\nI (569) wifi_init: tcp tx win: 32000\nI (574) wifi_init: tcp rx win: 32000\nI (578) wifi_init: tcp mss: 1460\nI (582) wifi_init: WiFi IRAM OP enabled\nI (586) wifi_init: WiFi RX IRAM OP enabled\nI (591) wifi_init: LWIP IRAM OP enabled\nI (923) phy: phy_version: 603, 72dfd77, Jul  7 2020, 19:57:05, 0, 2\nI (924) wifi:enable tsf\nI (925) wifi:mode : sta (7c:df:a1:54:b6:d4) + softAP (7c:df:a1:54:b6:d5)\nI (928) wifi:Total power save buffer number: 16\nI (932) wifi:Init max length of beacon: 752/752\nI (936) wifi:Init max length of beacon: 752/752\nI (941) app: Other event\nI (944) app: Other event\nI (947) app: Other event\nI (950) wifi: Starting provisioning...\nI (955) wifi:mode : sta (7c:df:a1:54:b6:d4)\nI (960) app: Other event\nI (964) wifi:mode : sta (7c:df:a1:54:b6:d4) + softAP (7c:df:a1:54:b6:d5)\nI (969) wifi:Total power save buffer number: 16\nI (974) app: Other event\nI (977) wifi:Total power save buffer number: 16\nI (980) app: Other event\nI (984) app: Other event\nW (986) wifi_prov_scheme_softap: Error adding mDNS service! Check if mDNS is running\nI (995) wifi_prov_mgr: Provisioning started with service name : PROV_54B6D4 \nI (1002) app: WIFI_PROV_START\nI (1007) app: *****************************\nI (1011) app: * Station MAC: 7CDFA154B6D4 *\nI (1016) app: * Soft-AP MAC: 7CDFA154B6D5 *\nI (1021) app: *****************************\nI (1025) app: Creating RTOS tasks...\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmauriciobarroso%2Fnearfi_code","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmauriciobarroso%2Fnearfi_code","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmauriciobarroso%2Fnearfi_code/lists"}