{"id":97,"date":"2021-10-15T14:22:08","date_gmt":"2021-10-15T14:22:08","guid":{"rendered":"https:\/\/www.bleuio.com\/blog\/?p=97"},"modified":"2022-01-24T14:43:29","modified_gmt":"2022-01-24T14:43:29","slug":"build-your-own-firmware-for-bleuio-an-advertising-example","status":"publish","type":"post","link":"https:\/\/www.bleuio.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/","title":{"rendered":"Build your own firmware for BleuIO \u2013 An advertising example"},"content":{"rendered":"\n<p>The BleuIO is Bluetooth low energy USB dongle that can be used to create new BLE 5.0 applications in the fastest and easiest way.&nbsp;The BleuIO comes with a bootloader that allows you to update the firmware or flash your own application to the dongle.&nbsp;<\/p>\n\n\n\n<p>This guide will show you how to get started with making your own firmware for the BleuIO Dongle by importing our advertising example project and running it on the BleuIO dongle.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Introduction<\/h2>\n\n\n\n<p>This project has both USB CDC and BLE in Peripheral Mode. This allows you to create your own command interpreter that takes in commands to the Dongle via a serial terminal. You can then use this to execute BLE tasks such as start set advertsing or response data, start and stop advertsing etc.<\/p>\n\n\n\n<p>The project, like the previous, uses FreeRTOS and handles the usb cdc functions in the usb_cdc_task located in the usb_cdc.c:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.bleuio.com\/getting_started\/img\/build_fw_img\/cdc_task.png\" alt=\"USB CDC task!\"\/><\/figure>\n\n\n\n<p>And the ble functions in the ble_peripheral_task located in ble_peripheral_task.c:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.bleuio.com\/getting_started\/img\/build_fw_img\/ble_peripheral_task.png\" alt=\"\"\/><\/figure>\n\n\n\n<p>The example will start advertsing and is connecteble. It also has the Device Information Service (DIS) with some default values taken from Dialog Semiconductor\u2019s ble_peripheral example. This and the advertising data can be changed in ble_peripheral_task.c:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.bleuio.com\/getting_started\/img\/build_fw_img\/dis_service.png\" alt=\"DIS Service and Advertising Data!\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Setup<\/h2>\n\n\n\n<p>Download the example project&nbsp;<a href=\"https:\/\/www.bleuio.com\/getting_started\/bleuio_advertising_example.zip\"><strong><em>HERE (bleuio_advertising_example.zip<\/em><\/strong><\/a>&nbsp;or you can clone it from&nbsp;<strong>Github<\/strong>&nbsp;at&nbsp;<a href=\"https:\/\/github.com\/smart-sensor-devices-ab\/bleuio_ble_advertising_example.git\">https:\/\/github.com\/smart-sensor-devices-ab\/bleuio_ble_advertising_example.git<\/a><\/p>\n\n\n\n<p>Follow the guide for&nbsp;<a href=\"https:\/\/www.bleuio.com\/getting_started\/docs\/build_your_firmware\/#setup\"><strong>Build Your Own Firmware<\/strong><\/a>&nbsp;to import and build the project.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/www.bleuio.com\/getting_started\/docs\/advertising_example_firmware\/#running-the-application\"><\/a>Running the Application<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>When running the example it will, just like the previous example, open a com port that will echo what every you type into the terminal. It will also start advertising with the name \u201cBleuIO Example\u201d.<\/li><li>You can scan for it using another dongle with the BleuIO firmware or download a BLE scanning App like \u2018BLE Scanner\u2019 or \u2018LightBlue\u201d.<img decoding=\"async\" src=\"https:\/\/www.bleuio.com\/getting_started\/img\/build_fw_img\/BLE_Scanner.jpg\" alt=\"BLE Scanner!\"><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The BleuIO is Bluetooth low energy USB dongle that can be used to create new BLE 5.0 applications in the fastest and easiest way.&nbsp;The BleuIO comes with a bootloader that allows you to update the firmware or flash your own application to the dongle.&nbsp; This guide will show you how to get started with making [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":98,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,2],"tags":[],"class_list":["post-97","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bleuio","category-bleuio-tutorial"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Build your own firmware for BleuIO \u2013 An advertising example - BleuIO - Create Bluetooth Low Energy application<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.bleuio.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Build your own firmware for BleuIO \u2013 An advertising example - BleuIO - Create Bluetooth Low Energy application\" \/>\n<meta property=\"og:description\" content=\"The BleuIO is Bluetooth low energy USB dongle that can be used to create new BLE 5.0 applications in the fastest and easiest way.&nbsp;The BleuIO comes with a bootloader that allows you to update the firmware or flash your own application to the dongle.&nbsp; This guide will show you how to get started with making [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.bleuio.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/\" \/>\n<meta property=\"og:site_name\" content=\"BleuIO - Create Bluetooth Low Energy application\" \/>\n<meta property=\"article:published_time\" content=\"2021-10-15T14:22:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-01-24T14:43:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2022\/01\/build-bleuio-firmware.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"794\" \/>\n\t<meta property=\"og:image:height\" content=\"447\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"BleuIO\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/build-your-own-firmware-for-bleuio-an-advertising-example\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/build-your-own-firmware-for-bleuio-an-advertising-example\\\/\"},\"author\":{\"name\":\"BleuIO\",\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/#\\\/schema\\\/person\\\/89bc581382d5964043f96efc54b75b80\"},\"headline\":\"Build your own firmware for BleuIO \u2013 An advertising example\",\"datePublished\":\"2021-10-15T14:22:08+00:00\",\"dateModified\":\"2022-01-24T14:43:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/build-your-own-firmware-for-bleuio-an-advertising-example\\\/\"},\"wordCount\":329,\"image\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/build-your-own-firmware-for-bleuio-an-advertising-example\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/01\\\/build-bleuio-firmware.jpg\",\"articleSection\":[\"BleuIO\",\"BleuIO tutorial\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/build-your-own-firmware-for-bleuio-an-advertising-example\\\/\",\"url\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/build-your-own-firmware-for-bleuio-an-advertising-example\\\/\",\"name\":\"Build your own firmware for BleuIO \u2013 An advertising example - BleuIO - Create Bluetooth Low Energy application\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/build-your-own-firmware-for-bleuio-an-advertising-example\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/build-your-own-firmware-for-bleuio-an-advertising-example\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/01\\\/build-bleuio-firmware.jpg\",\"datePublished\":\"2021-10-15T14:22:08+00:00\",\"dateModified\":\"2022-01-24T14:43:29+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/#\\\/schema\\\/person\\\/89bc581382d5964043f96efc54b75b80\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/build-your-own-firmware-for-bleuio-an-advertising-example\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/build-your-own-firmware-for-bleuio-an-advertising-example\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/build-your-own-firmware-for-bleuio-an-advertising-example\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/01\\\/build-bleuio-firmware.jpg\",\"contentUrl\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/01\\\/build-bleuio-firmware.jpg\",\"width\":794,\"height\":447,\"caption\":\"Build your own firmware for BleuIO\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/build-your-own-firmware-for-bleuio-an-advertising-example\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Build your own firmware for BleuIO \u2013 An advertising example\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/\",\"name\":\"BleuIO - Create Bluetooth Low Energy application\",\"description\":\"Learn Bluetooth Low Energy programming and build Bluetooth Low Energy Application\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/#\\\/schema\\\/person\\\/89bc581382d5964043f96efc54b75b80\",\"name\":\"BleuIO\",\"sameAs\":[\"https:\\\/\\\/www.bleuio.com\\\/blog\"],\"url\":\"https:\\\/\\\/www.bleuio.com\\\/blog\\\/author\\\/biadmin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Build your own firmware for BleuIO \u2013 An advertising example - BleuIO - Create Bluetooth Low Energy application","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.bleuio.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/","og_locale":"en_US","og_type":"article","og_title":"Build your own firmware for BleuIO \u2013 An advertising example - BleuIO - Create Bluetooth Low Energy application","og_description":"The BleuIO is Bluetooth low energy USB dongle that can be used to create new BLE 5.0 applications in the fastest and easiest way.&nbsp;The BleuIO comes with a bootloader that allows you to update the firmware or flash your own application to the dongle.&nbsp; This guide will show you how to get started with making [&hellip;]","og_url":"https:\/\/www.bleuio.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/","og_site_name":"BleuIO - Create Bluetooth Low Energy application","article_published_time":"2021-10-15T14:22:08+00:00","article_modified_time":"2022-01-24T14:43:29+00:00","og_image":[{"width":794,"height":447,"url":"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2022\/01\/build-bleuio-firmware.jpg","type":"image\/jpeg"}],"author":"BleuIO","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.bleuio.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/#article","isPartOf":{"@id":"https:\/\/www.bleuio.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/"},"author":{"name":"BleuIO","@id":"https:\/\/www.bleuio.com\/blog\/#\/schema\/person\/89bc581382d5964043f96efc54b75b80"},"headline":"Build your own firmware for BleuIO \u2013 An advertising example","datePublished":"2021-10-15T14:22:08+00:00","dateModified":"2022-01-24T14:43:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.bleuio.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/"},"wordCount":329,"image":{"@id":"https:\/\/www.bleuio.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/#primaryimage"},"thumbnailUrl":"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2022\/01\/build-bleuio-firmware.jpg","articleSection":["BleuIO","BleuIO tutorial"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.bleuio.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/","url":"https:\/\/www.bleuio.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/","name":"Build your own firmware for BleuIO \u2013 An advertising example - BleuIO - Create Bluetooth Low Energy application","isPartOf":{"@id":"https:\/\/www.bleuio.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.bleuio.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/#primaryimage"},"image":{"@id":"https:\/\/www.bleuio.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/#primaryimage"},"thumbnailUrl":"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2022\/01\/build-bleuio-firmware.jpg","datePublished":"2021-10-15T14:22:08+00:00","dateModified":"2022-01-24T14:43:29+00:00","author":{"@id":"https:\/\/www.bleuio.com\/blog\/#\/schema\/person\/89bc581382d5964043f96efc54b75b80"},"breadcrumb":{"@id":"https:\/\/www.bleuio.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.bleuio.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.bleuio.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/#primaryimage","url":"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2022\/01\/build-bleuio-firmware.jpg","contentUrl":"https:\/\/www.bleuio.com\/blog\/wp-content\/uploads\/2022\/01\/build-bleuio-firmware.jpg","width":794,"height":447,"caption":"Build your own firmware for BleuIO"},{"@type":"BreadcrumbList","@id":"https:\/\/www.bleuio.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.bleuio.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Build your own firmware for BleuIO \u2013 An advertising example"}]},{"@type":"WebSite","@id":"https:\/\/www.bleuio.com\/blog\/#website","url":"https:\/\/www.bleuio.com\/blog\/","name":"BleuIO - Create Bluetooth Low Energy application","description":"Learn Bluetooth Low Energy programming and build Bluetooth Low Energy Application","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.bleuio.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.bleuio.com\/blog\/#\/schema\/person\/89bc581382d5964043f96efc54b75b80","name":"BleuIO","sameAs":["https:\/\/www.bleuio.com\/blog"],"url":"https:\/\/www.bleuio.com\/blog\/author\/biadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/posts\/97","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/comments?post=97"}],"version-history":[{"count":1,"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/posts\/97\/revisions"}],"predecessor-version":[{"id":99,"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/posts\/97\/revisions\/99"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/media\/98"}],"wp:attachment":[{"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/media?parent=97"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/categories?post=97"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bleuio.com\/blog\/wp-json\/wp\/v2\/tags?post=97"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}