{"id":27633753,"url":"https://github.com/djaus2/rpipicowgpsandbt","last_synced_at":"2026-04-27T20:31:47.565Z","repository":{"id":187687524,"uuid":"677287075","full_name":"djaus2/RpiPicoWGPSandBT","owner":"djaus2","description":"A set of Arduino Sketches for execution on a RPI Pico W involving GPS Bluetooth and Azure IoT Hub","archived":false,"fork":false,"pushed_at":"2023-08-28T01:21:50.000Z","size":549,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-23T18:19:27.445Z","etag":null,"topics":["arduino","bleutooth","gps","serial-communication"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/djaus2.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":"2023-08-11T07:35:27.000Z","updated_at":"2024-05-04T09:30:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"d0fd57db-de2c-40a8-833b-1a1c6a541c15","html_url":"https://github.com/djaus2/RpiPicoWGPSandBT","commit_stats":null,"previous_names":["djaus2/rpipicowgpsandbt"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/djaus2/RpiPicoWGPSandBT","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaus2%2FRpiPicoWGPSandBT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaus2%2FRpiPicoWGPSandBT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaus2%2FRpiPicoWGPSandBT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaus2%2FRpiPicoWGPSandBT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/djaus2","download_url":"https://codeload.github.com/djaus2/RpiPicoWGPSandBT/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaus2%2FRpiPicoWGPSandBT/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32354566,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-27T20:07:02.737Z","status":"ssl_error","status_checked_at":"2026-04-27T20:07:00.910Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["arduino","bleutooth","gps","serial-communication"],"created_at":"2025-04-23T18:19:25.924Z","updated_at":"2026-04-27T20:31:47.559Z","avatar_url":"https://github.com/djaus2.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RPI Pico W GPS Bluetooth and Azure IoT Hub\n\nA set of Arduino Sketches for execution on a RPI Pico W  building up to and including sending GPS location data over Bluetooth in BT Classic mode. Also send GPS data to an Azure IoT Hub.\n\n\u003chr/\u003e\n\n### Update/Correction\n\n\u003e The calculation of Latitude and Longitude from NMEA data has been corrected ina a number of projects as per my blog post :[GPS: NMEA 101](https://davidjones.sportronics.com.au/web/GPS-NMEA_101-web.html).\n\n\u003chr/\u003e\n\n## Blog Post\n\n[RPI-Pico-Arduino-AzSDK: Bluetooth and GPS Update](https://davidjones.sportronics.com.au/ardpico/RPI-Pico-Arduino-AzSDK-BlueTooth_Setup_Update-ardpico.html)\n\n## Hardware\n\n### Bluetooth\nThe RPI PicoW comes with Bluetooth. The BSP used has been updated to include that.\n- The repository for the Pico W Arduino BSP: [earlephilhower-arduino-pico on Github](https://github.com/earlephilhower/arduino-pico)\n- Installation [instructions](https://davidjones.sportronics.com.au/ardpico/RPI-Pico-Arduino-AzSDK-PicoWSetup-pic-ard.html#how-to-install-arduino-bsp-onto-a-rpi-pico)\n- [Bluetooth documentation for the BSP](https://arduino-pico.readthedocs.io/en/latest/bluetooth.html)\n\n### Arduino GPS Receiver\n  - Arduino Compatible GPS Receiver Module Jaycar (Australia) CAT.NO:  XC3710\n  - https://www.jaycar.com.au/arduino-compatible-gps-receiver-module/p/XC3710\n  - nblox NEO-7M Module  BAUD is 9600\n\n## Projects\n\n1.**USART1 Echo**\n\n  - Echo text from **Serial terminal** _(uppercased)_ back to it after first passing it through **USART1 in loopback mode**.\n\n2.**Basic GPS**\n\n  - Read and echo NMEA sentences to **Serial terminal**\n\n3.**InteractiveGPS**\n\n  - Can send commands to device from **Serial terminal**:\n    - s: Start\n    - p: Stop\n    - n: No filter on messages\n    - n: Filter all _(none displayed)_\n    - a: Display GPGGA - Global Positioning System Fix Data\n    - l: Display GPGLL - Geographic Position, Latitude / Longitude\n    - v: Display GPGSV - Satellites in view\n\n4.**LocationGPS**\n\n  - Filter all messages except GPGGA\n  - Get latitude, longitude and height\n  - _Note that string processing of NMEA messages is explicit rather than using existing libraries._\n  - Commands:\n  - - s: start\n    - p: stop\n    - n display none\n    - d: Display GPGGA string\n    - l: Display as location tupple\n    - t: Display as json telemetry\n  - Has been modified for Sketch 7.\n    - Parsing of NMEA in \"reusable\" function.\n\n5.**BTSerialUppercase**\n\n  - Receive text over Bluetooth and echo it back after upper-casing it.\n  - Is the Android IDE **SerialBT** _BTSerialUppercase_ example  \n  - Added echo to IDE Terminal of the characters being passed, unadulterated.\n  - **_Note:_** Bluetooth Classic, not BLE.\n  - Found the [Android phone app Serial Bluetooth Terminal](https://play.google.com/store/apps/details?id=de.kai_morich.serial_bluetooth_terminal) was easier to pair than desktop.\n\n6.**BluetoothGPS**\n\n  - **\u003cfont color=\"blue\"\u003e\u003cbold\u003e**Send Location data over Bluetooth to paired host.**\u003c/bold\u003e\u003c/font\u003e**\n  - As per 4 but data and commands over Bluetooth _(Merger of 4. and 5.)_\n  - Receives commands over BT as per **_BTSerialUppercase_** and interprets them as per **_LocationGPS_**.\n    - That is, sends Location data back over BT when available as per **_LocationGPS_** _(to SerialBT instead of Serial)_ \n  - **_Note:_** Bluetooth Classic, not BLE.\n\n7.**Azure_IoT_Hub_GPS**\n\n  - Send GPS location data, generated as per **LocationGPS**, as Telemetry to an Azure IoT Hub. \n    - _Minus interactive commands._\n  - Filter all messages except **GPGGA**\nGet latitude, longitude and height\n  - From **LocationGPS** uses json location option.\n      - That is, all creation of the telemetry string explicitly uses string processing rather than GPS and json classes.\n  - Now works.\n\n8. **read-d2c-messages**\n\n  - .NET Console app to monitor messages sent to IoT Hub by 7.\n  - Uses .NET Core 3.1\n  - See code for connection details.\n  \n  \u003e Nb: Was found that in **Azure IoT Explorer**, needed to paste same connection string as the Custom Endpoint for the device. Built-in [Yes] option did not work.\n  \n9. **read-d2c-messages-Net6**\n\n  - As per 8. but uses .NET 6.0\n  - See code for connection details.\n\n\u003chr /\u003e\n\n## Footnote\n\nWorking on a Blazor app to display the GPS coordinates sent by 8. on a map.\nSee [djaus2/GPSMapIoTHub](https://github.com/djaus2/GPSMapIoTHub)\n  \n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjaus2%2Frpipicowgpsandbt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdjaus2%2Frpipicowgpsandbt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjaus2%2Frpipicowgpsandbt/lists"}