{"id":4629,"date":"2022-02-23T09:26:59","date_gmt":"2022-02-23T09:26:59","guid":{"rendered":"https:\/\/www.beaconzone.co.uk\/blog\/?p=4629"},"modified":"2024-10-20T13:36:11","modified_gmt":"2024-10-20T13:36:11","slug":"programmable-beacons","status":"publish","type":"post","link":"https:\/\/www.beaconzone.co.uk\/blog\/programmable-beacons\/","title":{"rendered":"Programmable Beacons"},"content":{"rendered":"\n<p>Many people come to us asking for &#8220;programmable beacons&#8221; when in fact they want beacons with configurable iBeacon UUID, major and minor. All beacons allow the UUID, major and minor to be changed, usually via an iOS and\/or Android app and sometimes via USB\/UART for changing the values, over time, via a program. This is changing the settings rather than programming.<\/p>\n\n\n\n<p>Truly programmable beacons are those where the internal software can be updated. The beacon contains a system on a chip that&#8217;s small computer running code to implement the beacon functionality. In most cases, the software can be updated via pads on the PCB:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.beaconzone.co.uk\/blog\/wp-content\/uploads\/2016\/04\/pc037_pcb_smaller-1024x768.jpg\" alt=\"\" class=\"wp-image-217\" style=\"width:256px;height:192px\" srcset=\"https:\/\/www.beaconzone.co.uk\/blog\/wp-content\/uploads\/2016\/04\/pc037_pcb_smaller-1024x768.jpg 1024w, https:\/\/www.beaconzone.co.uk\/blog\/wp-content\/uploads\/2016\/04\/pc037_pcb_smaller-300x225.jpg 300w, https:\/\/www.beaconzone.co.uk\/blog\/wp-content\/uploads\/2016\/04\/pc037_pcb_smaller-768x576.jpg 768w, https:\/\/www.beaconzone.co.uk\/blog\/wp-content\/uploads\/2016\/04\/pc037_pcb_smaller.jpg 1200w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">Programming pads in the centre<\/figcaption><\/figure><\/div>\n\n\n<p>Programming requires use of a programmer:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"751\" height=\"822\" src=\"https:\/\/www.beaconzone.co.uk\/blog\/wp-content\/uploads\/2020\/01\/J-Link_BASE.jpg\" alt=\"\" class=\"wp-image-4630\" style=\"width:188px;height:206px\" srcset=\"https:\/\/www.beaconzone.co.uk\/blog\/wp-content\/uploads\/2020\/01\/J-Link_BASE.jpg 751w, https:\/\/www.beaconzone.co.uk\/blog\/wp-content\/uploads\/2020\/01\/J-Link_BASE-274x300.jpg 274w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><figcaption class=\"wp-element-caption\">Segger J-Link Programmer<\/figcaption><\/figure><\/div>\n\n\n<p>It can be difficult to program larger numbers so a custom-made jig is used:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"225\" src=\"https:\/\/www.beaconzone.co.uk\/blog\/wp-content\/uploads\/2020\/01\/beaconprogramming_smaller_300.jpg\" alt=\"\" class=\"wp-image-4631\"\/><figcaption class=\"wp-element-caption\">BeaconZone Programming jig<\/figcaption><\/figure><\/div>\n\n\n<p>It&#8217;s not possible to see and update the existing code in a beacon. Any newly uploaded program has to be created from scratch using c\/c++ code. This is called embedded programming, is non-trivial and takes of the order of months. <\/p>\n\n\n\n<p><a href=\"https:\/\/beaconzone.consulting\/\" target=\"_blank\" rel=\"noreferrer noopener\">Read about Beaconzone custom solutions<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Many people come to us asking for &#8220;programmable beacons&#8221; when in fact they want beacons with configurable iBeacon UUID, major and minor. All beacons allow the UUID, major and minor to be changed, usually via an iOS and\/or Android app and sometimes via USB\/UART for changing the values, over time, via a program. This is &hellip; <a href=\"https:\/\/www.beaconzone.co.uk\/blog\/programmable-beacons\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Programmable Beacons&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[90],"tags":[],"_links":{"self":[{"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/posts\/4629"}],"collection":[{"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/comments?post=4629"}],"version-history":[{"count":12,"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/posts\/4629\/revisions"}],"predecessor-version":[{"id":9564,"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/posts\/4629\/revisions\/9564"}],"wp:attachment":[{"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/media?parent=4629"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/categories?post=4629"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/tags?post=4629"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}