Around 20 devices in range should really be ok, and 6 definitely - I have pretty much that many in range all the time. The IDE is running on Mac OS?
Are you using literally just the code that you posted above, or is that part of a much larger project that you're uploading?
Also, can you use that code to change a characteristic on a different BLE device? Could it be something specific about your custom device that is causing Puck.js problems?
Final thing - you could try characteristic.writeValue([0xff]); instead of characteristic.writeValue(0xff);. It shouldn't make a difference but could be worth a try.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Around 20 devices in range should really be ok, and 6 definitely - I have pretty much that many in range all the time. The IDE is running on Mac OS?
Are you using literally just the code that you posted above, or is that part of a much larger project that you're uploading?
Also, can you use that code to change a characteristic on a different BLE device? Could it be something specific about your custom device that is causing Puck.js problems?
Final thing - you could try
characteristic.writeValue([0xff]);
instead ofcharacteristic.writeValue(0xff);
. It shouldn't make a difference but could be worth a try.