Raspberry Pi Pico
Neopixels Over Bluetooth
This project is about using Adafruit's Bluefruit LE UART Friend breakout and the Bluefruit LE Connect phone app to control Neopixels over Bluetooth.
Here is a shot from the Color Picker module of the phone app.
This is the circuit that I built. Neopixels are hard to photograph - the colours on the app and the Neopixels were a reasonably close match.
You need a library for this - get the latest .mpy one from here,
This code is not perfect. You could check that the data packets are intended as colour choices - the first byte received tells you that. You can also do the CRC check to validate the packet. This isn't bad though for being able to choose a colour without having to interact directly with the circuit.
from time import sleep import board import busio import neopixel pixel_pin = board.GP16 num_pixels = 12 ORDER = neopixel.GRB pixels = neopixel.NeoPixel(pixel_pin, num_pixels, brightness=0.2, auto_write=False, pixel_order=ORDER) pixels.fill((0,0,0)) pixels.show() uart = busio.UART(tx=board.GP12, rx=board.GP13, baudrate=9600) while True: data = uart.read(6) if data is not None: data = list(data) if len(data)==6: dr = data dg = data db = data pixels.fill((dr, dg, db)) pixels.show() sleep(0.1)