Experiments with embedded devices. This repository contains Arduino sketches and accompanying Python scripts.
Usage:
- Connect to serial port at 115200 baud
- Send
A
to flash blue LED - Send
B
to flash green LED - Send
C
to flash red LED
Usage:
- Scan for devices to find the device you want to connect to
- Update
BLE_DEVICE_ADDRESS
variable - Currently hardcoded to read BLE Characteristics of certain handler numbers at src/bleak.py#L25
- Uses an
asyncio.Queue
for collecting notifications. This is in preparation to feed data into an ML workflow for training
Usage:
- Much simpler sketch for transmitting acc data over serial
- Has more bandwidth for higher sampling rate as well
- Transmit 16-bit integer PCM from the Nicla Voice through serial port
- This was particarly tricky to figure out because:
- Arduino docs suggests that PDM library can be used, which is not the case
- Audio samples are only accessible through
NDP.extractData
. Moreover,NDP
will only be initialised if all 3 synpkg are successfully loaded - This means that your Nicla Voice will always boot with a bunch of shit printed into the Serial port, which you need to kill
- Requires
pyserial
module