It's technically straightforward on linux, or using a BBC microbit (there is example code in the Nordic SDK).