Many people come to us asking for “programmable beacons” 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.
Truly programmable beacons are those where the internal software can be updated. The beacon contains a system on a chip that’s small computer running code to implement the beacon functionality. In most cases, the software can be updated via pads on the PCB:
Programming requires use of a programmer:
It can be difficult to program larger numbers so a custom-made jig is used:
It’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.
Read about Beaconzone custom solutions