forked from W4D/soundcube-firmware
126 lines
3.0 KiB
Markdown
126 lines
3.0 KiB
Markdown
# Soundcube Firmware
|
|
|
|
## Install new firmware
|
|
|
|
1. Go to [Releases](https://code.w4d.dev/W4D/soundcube-firmware/releases)
|
|
2. Download latest `soundcube-firmware.ino.uf2` file
|
|
3. On your Soundcube Board: Press and hold the outer most white button as seen from the USB-C socket
|
|
4. While holding the button press the inner most white button once
|
|
- the board will go into bootloader mode and appear as USB thumb drive
|
|
6. Copy the `soundcube-firmware.ino.uf2` file to the thumb drive and wait for the board to restart
|
|
|
|
|
|
## SD Card contents
|
|
|
|
|
|
```
|
|
config.txt
|
|
click.wav
|
|
sound/
|
|
├─ 1.wav
|
|
├─ 2.wav
|
|
├─ 3.wav
|
|
├─ 4.wav
|
|
├─ 5.wav
|
|
├─ 6.wav
|
|
├─ 7.wav
|
|
├─ 8.wav
|
|
|
|
```
|
|
|
|
### config.txt
|
|
|
|
Json formatted config file. For now only edge led color working.
|
|
|
|
```
|
|
{
|
|
"boxid":"",
|
|
"edge": {
|
|
"color":{
|
|
"idle":{
|
|
"r":50,
|
|
"g":0,
|
|
"b":50
|
|
},
|
|
"active":{
|
|
"r":0,
|
|
"g":50,
|
|
"b":50
|
|
}
|
|
}
|
|
},
|
|
"ring": {
|
|
"color":{
|
|
"idle":{
|
|
"r":0,
|
|
"g":50,
|
|
"b":50
|
|
},
|
|
"active":{
|
|
"r":0,
|
|
"g":80,
|
|
"b":50
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### click.wav
|
|
|
|
Put a file called `click.wav` (not longer than a few seconds) in the root of the SD card and it will play when you press a button.
|
|
|
|
|
|
### Sounds
|
|
|
|
Put all sounds into the `/sound` subfolder. Name them `1.wav, 2.wav, 3.wav...`
|
|
|
|
|
|
## Wave File Format
|
|
|
|
Export all sounds except `click.wav` as **48000Hz (48kHz) 16bit Stereo**.
|
|
|
|
`click.wav` needs to be **22050Hz (22kHz) 16bit Mono**
|
|
|
|
### Audacity
|
|
|
|
You can use Audacity to export all soundfiles to WAV format.
|
|
|
|
Download it here [Github](https://github.com/audacity/audacity/releases)
|
|
|
|
1. Load file into Audacity
|
|
2. Select Track
|
|
3. File -> Export Audio
|
|
|
|
#### Format options in Audacity
|
|
|
|
**Sounds**
|
|
|
|
- WAV(Microsoft)
|
|
- Chanels: Stereo
|
|
- Samplerate: 48000Hz
|
|
- Encoding: Signed 16-bit PCM
|
|
|
|
**click.wav**
|
|
|
|
- WAV(Microsoft)
|
|
- Channels: Mono
|
|
- Samplerate: 22050Hz
|
|
- Encoding: Signed 16-bit PCM
|
|
|
|
----
|
|
|
|
## Code something yourself
|
|
|
|
1. Download [Arduino IDE](https://www.arduino.cc/en/software/)
|
|
2. Install and open "Preferences"
|
|
3. Follow these [instructions](https://github.com/earlephilhower/arduino-pico?tab=readme-ov-file#installation)
|
|
- No need to change checkboxes, only paste the URL and hit OK.
|
|
4. Install **Raspberry Pi Pico** boards ([HowTo install boards](https://support.arduino.cc/hc/en-us/articles/360016119519-Add-boards-to-Arduino-IDE))
|
|
5. Install libraries ([HowTo install libraries](https://docs.arduino.cc/software/ide-v2/tutorials/ide-v2-installing-a-library/)): Adafruit Neopixel, AS5600 (Rob Tillaart), TCA9555 (Rob Tillaart)
|
|
6. Choose **Generic RP2350** as board and the correct port (Mac: /dev/cu.usbmodemXXXX, PC: COMXX Serial Port)
|
|
7. Go to **Tools -> Flash Size** and choose **16MB (no FS)**
|
|
8. Make your changes in the code
|
|
9. Hit Upload Button (Arduino IDE compiles and uploads it automatically)
|
|
|