{"id":1289,"date":"2021-10-15T13:21:55","date_gmt":"2021-10-15T13:21:55","guid":{"rendered":"https:\/\/smartsensordevices.com\/?p=1289"},"modified":"2021-10-15T14:49:02","modified_gmt":"2021-10-15T14:49:02","slug":"build-your-own-firmware-for-bleuio-an-advertising-example","status":"publish","type":"post","link":"https:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/","title":{"rendered":"Build your own firmware for BleuIO &#8211; 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&#8217;s 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 &#8220;BleuIO Example&#8221;.<\/li><li>You can scan for it using another dongle with the BleuIO firmware or download a BLE scanning App like &#8216;BLE Scanner&#8217; or &#8216;LightBlue&#8221;.<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":1291,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18,21],"tags":[],"class_list":["post-1289","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 v23.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Build your own firmware for BleuIO - An advertising example - SMART SENSOR DEVICES AB<\/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:\/\/smartsensordevices.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 - An advertising example - SMART SENSOR DEVICES AB\" \/>\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:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/\" \/>\n<meta property=\"og:site_name\" content=\"SMART SENSOR DEVICES AB\" \/>\n<meta property=\"article:published_time\" content=\"2021-10-15T13:21:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-10-15T14:49:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2021\/10\/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=\"siteManager\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ssd_techs\" \/>\n<meta name=\"twitter:site\" content=\"@ssd_techs\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"siteManager\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/\"},\"author\":{\"name\":\"siteManager\",\"@id\":\"https:\/\/smartsensordevices.com\/blog\/#\/schema\/person\/fb91963eccab9e33d2377d360b28d7a1\"},\"headline\":\"Build your own firmware for BleuIO &#8211; An advertising example\",\"datePublished\":\"2021-10-15T13:21:55+00:00\",\"dateModified\":\"2021-10-15T14:49:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/\"},\"wordCount\":330,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/smartsensordevices.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2021\/10\/build-bleuio-firmware.jpg\",\"articleSection\":[\"BleuIO\",\"BleuIO tutorial\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/\",\"url\":\"https:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/\",\"name\":\"Build your own firmware for BleuIO - An advertising example - SMART SENSOR DEVICES AB\",\"isPartOf\":{\"@id\":\"https:\/\/smartsensordevices.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2021\/10\/build-bleuio-firmware.jpg\",\"datePublished\":\"2021-10-15T13:21:55+00:00\",\"dateModified\":\"2021-10-15T14:49:02+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/#primaryimage\",\"url\":\"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2021\/10\/build-bleuio-firmware.jpg\",\"contentUrl\":\"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2021\/10\/build-bleuio-firmware.jpg\",\"width\":794,\"height\":447},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/smartsensordevices.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Build your own firmware for BleuIO &#8211; An advertising example\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/smartsensordevices.com\/blog\/#website\",\"url\":\"https:\/\/smartsensordevices.com\/blog\/\",\"name\":\"SMART SENSOR DEVICES AB\",\"description\":\"IOT solutions for the future\",\"publisher\":{\"@id\":\"https:\/\/smartsensordevices.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/smartsensordevices.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/smartsensordevices.com\/blog\/#organization\",\"name\":\"SMART SENSOR DEVICES AB\",\"url\":\"https:\/\/smartsensordevices.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/smartsensordevices.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2020\/03\/cropped-SSD-color.png\",\"contentUrl\":\"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2020\/03\/cropped-SSD-color.png\",\"width\":756,\"height\":230,\"caption\":\"SMART SENSOR DEVICES AB\"},\"image\":{\"@id\":\"https:\/\/smartsensordevices.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/ssd_techs\",\"https:\/\/www.linkedin.com\/company\/smart-sensor-devices-ab\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/smartsensordevices.com\/blog\/#\/schema\/person\/fb91963eccab9e33d2377d360b28d7a1\",\"name\":\"siteManager\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/smartsensordevices.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/cca20a2883c689ad2ed55eff75dd546d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/cca20a2883c689ad2ed55eff75dd546d?s=96&d=mm&r=g\",\"caption\":\"siteManager\"},\"url\":\"https:\/\/smartsensordevices.com\/blog\/author\/ssdadmin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Build your own firmware for BleuIO - An advertising example - SMART SENSOR DEVICES AB","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:\/\/smartsensordevices.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 - An advertising example - SMART SENSOR DEVICES AB","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:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/","og_site_name":"SMART SENSOR DEVICES AB","article_published_time":"2021-10-15T13:21:55+00:00","article_modified_time":"2021-10-15T14:49:02+00:00","og_image":[{"width":794,"height":447,"url":"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2021\/10\/build-bleuio-firmware.jpg","type":"image\/jpeg"}],"author":"siteManager","twitter_card":"summary_large_image","twitter_creator":"@ssd_techs","twitter_site":"@ssd_techs","twitter_misc":{"Written by":"siteManager","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/#article","isPartOf":{"@id":"https:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/"},"author":{"name":"siteManager","@id":"https:\/\/smartsensordevices.com\/blog\/#\/schema\/person\/fb91963eccab9e33d2377d360b28d7a1"},"headline":"Build your own firmware for BleuIO &#8211; An advertising example","datePublished":"2021-10-15T13:21:55+00:00","dateModified":"2021-10-15T14:49:02+00:00","mainEntityOfPage":{"@id":"https:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/"},"wordCount":330,"commentCount":0,"publisher":{"@id":"https:\/\/smartsensordevices.com\/blog\/#organization"},"image":{"@id":"https:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/#primaryimage"},"thumbnailUrl":"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2021\/10\/build-bleuio-firmware.jpg","articleSection":["BleuIO","BleuIO tutorial"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/","url":"https:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/","name":"Build your own firmware for BleuIO - An advertising example - SMART SENSOR DEVICES AB","isPartOf":{"@id":"https:\/\/smartsensordevices.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/#primaryimage"},"image":{"@id":"https:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/#primaryimage"},"thumbnailUrl":"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2021\/10\/build-bleuio-firmware.jpg","datePublished":"2021-10-15T13:21:55+00:00","dateModified":"2021-10-15T14:49:02+00:00","breadcrumb":{"@id":"https:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/#primaryimage","url":"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2021\/10\/build-bleuio-firmware.jpg","contentUrl":"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2021\/10\/build-bleuio-firmware.jpg","width":794,"height":447},{"@type":"BreadcrumbList","@id":"https:\/\/smartsensordevices.com\/blog\/build-your-own-firmware-for-bleuio-an-advertising-example\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/smartsensordevices.com\/"},{"@type":"ListItem","position":2,"name":"Build your own firmware for BleuIO &#8211; An advertising example"}]},{"@type":"WebSite","@id":"https:\/\/smartsensordevices.com\/blog\/#website","url":"https:\/\/smartsensordevices.com\/blog\/","name":"SMART SENSOR DEVICES AB","description":"IOT solutions for the future","publisher":{"@id":"https:\/\/smartsensordevices.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/smartsensordevices.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/smartsensordevices.com\/blog\/#organization","name":"SMART SENSOR DEVICES AB","url":"https:\/\/smartsensordevices.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/smartsensordevices.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2020\/03\/cropped-SSD-color.png","contentUrl":"https:\/\/smartsensordevices.com\/blog\/wp-content\/uploads\/2020\/03\/cropped-SSD-color.png","width":756,"height":230,"caption":"SMART SENSOR DEVICES AB"},"image":{"@id":"https:\/\/smartsensordevices.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/ssd_techs","https:\/\/www.linkedin.com\/company\/smart-sensor-devices-ab\/"]},{"@type":"Person","@id":"https:\/\/smartsensordevices.com\/blog\/#\/schema\/person\/fb91963eccab9e33d2377d360b28d7a1","name":"siteManager","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/smartsensordevices.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/cca20a2883c689ad2ed55eff75dd546d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/cca20a2883c689ad2ed55eff75dd546d?s=96&d=mm&r=g","caption":"siteManager"},"url":"https:\/\/smartsensordevices.com\/blog\/author\/ssdadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/smartsensordevices.com\/blog\/wp-json\/wp\/v2\/posts\/1289"}],"collection":[{"href":"https:\/\/smartsensordevices.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/smartsensordevices.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/smartsensordevices.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/smartsensordevices.com\/blog\/wp-json\/wp\/v2\/comments?post=1289"}],"version-history":[{"count":2,"href":"https:\/\/smartsensordevices.com\/blog\/wp-json\/wp\/v2\/posts\/1289\/revisions"}],"predecessor-version":[{"id":1292,"href":"https:\/\/smartsensordevices.com\/blog\/wp-json\/wp\/v2\/posts\/1289\/revisions\/1292"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/smartsensordevices.com\/blog\/wp-json\/wp\/v2\/media\/1291"}],"wp:attachment":[{"href":"https:\/\/smartsensordevices.com\/blog\/wp-json\/wp\/v2\/media?parent=1289"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/smartsensordevices.com\/blog\/wp-json\/wp\/v2\/categories?post=1289"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/smartsensordevices.com\/blog\/wp-json\/wp\/v2\/tags?post=1289"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}