happyhappysundays / SparkBox

A BlueTooth/BLE effects pedal for the Spark40 guitar amp.
GNU General Public License v3.0
41 stars 13 forks source link

SparkBox V1.00

SparkBox is a BT pedal for the Positive Grid Spark 40. Now with expression pedal input and a web interface for adding up to 12 banks for four presets.

alt text

Functions

Pedal functions

Preset bank functions

alt text

Arduino libraries and board versions

Note: Currently there may be a problem with LittleFS compiling on the Arduino IDE 2.x. No issues on 1.x.

Under Files->Preferences->Additional Boards Manager URLs, enter the following:

Under Tools->Board->Board manager ensure that you have the following version:

Under Tools->Manage Libraries ensure that you have the following libraries and versions:

The program won't fit into a standard APP partition. The cure is easy though:

Compile options (in config.h)

Uncomment this to use with Android devices that are happier with classic BT code.

You have no mods to monitor the battery, so it will show empty (default).

You are monitoring the battery via a 2:1 10k/10k resistive divider to GPIO23. You can see an accurate representation of the remaining battery charge and a kinda-sorta indicator of when the battery is charging. Maybe.

You have the battery monitor mod described above AND you have a connection between the CHRG pin of the charger chip and GPIO 33. Go you! Now you have a guaranteed charge indicator too.

Expression pedal define. Comment this out if you DO NOT have the expression pedal mod.

Dump preset define. Comment out if you'd prefer to not see so much text output

Uncomment for better Bluetooth compatibility with Android devices

Uncomment when using a Heltec module as their implementation doesn't support setMTU()

Choose and uncomment the type of OLED display that you use: 0.96" SSD1306 or 1.3" SH1106

Uncomment if two-colour OLED screens are used. Offsets some text and shows an alternate tuner

Uncomment if you want preset number to scroll together with the name, otherwise it'll be locked in place

Uncomment if you'd prefer not to use the power-saving sleep modes

When adjusting the level of effects, always start with Master level settings. Comment this line out if you like it to remember your last choice

Comment out if your buttons connect to the GND rather than to VCC, this will engage internal pullup and sleep routines also. If you make a decision on the build right now, it's recommended to connect buttons to VCC and to use ACTIVE_HIGH directive.

How many switches do we have

Use IO35 instead of IO33. Just for Paul.

GPIOs of the buttons in your setup in the form of switchPins[]{GPIO_for_button1, GPIO_for_button2, GPIO_for_button3, GPIO_for_button4, ... }. Note that GPIOs 25,26,27 and 14 are recommended ones if you want to get the least battery drain in the stand-by mode.

Until one or the other is voted as a winner you can choose between two animations at startup.

Option visual aid to see which tone has been selected. Lights one of four LEDs on pins defined by ledPins[].

Heltec module version

alt text alt text alt text

ESP32 version

alt text alt text alt text alt text alt text alt text alt text alt text alt text alt text

ESP32 pedal parts list

Item Description Link
1 Box https://www.aliexpress.com/item/32693268669.html?spm=a2g0s.9042311.0.0.27424c4dlzGiUH
2 Stomp switch https://www.aliexpress.com/item/32918205335.html?spm=a2g0s.9042311.0.0.27424c4dszp4Ie
3 ESP-WROOM-32U module https://www.aliexpress.com/item/32864722159.html?spm=a2g0s.9042311.0.0.27424c4dlzGiUH
4 LCD screen https://www.ebay.com.au/itm/333085424031 (small) or https://www.aliexpress.com/item/32950307344.html (large). Be sure to get the i2c version, or you can convert an SPI via this video https://www.youtube.com/watch?v=uPWzL_MZ4q4&list=LL&index=4&t=590s&ab_channel=Defpom%27sElectronicsRepair
5 BT antenna https://www.aliexpress.com/item/4001054693109.html?spm=a2g0s.9042311.0.0.27424c4dlzGiUH and https://www.ebay.com.au/itm/233962468558
6 USB extension https://www.aliexpress.com/item/32808991941.html?spm=a2g0s.9042311.0.0.27424c4dlzGiUH
7 Power switch https://www.jaycar.com.au/dpdt-miniature-toggle-switch-solder-tag/p/ST0355
8 DC input jack https://www.jaycar.com.au/2-5mm-bulkhead-male-dc-power-connector/p/PS0524
9 Pedal jack https://www.jaycar.com.au/6-5mm-stereo-enclosed-insulated-switched-socket/p/PS0184
10 LiPo battery https://www.ebay.com.au/itm/133708965813
11 LiPo charger https://www.ebay.com.au/itm/161821599467
12 LiPo booster https://www.jaycar.com.au/arduino-compatible-5v-dc-to-dc-converter-module/p/XC4512
13 9V to 5V converter https://www.ebay.com.au/itm/303839459634
14 Glass window (opt) https://www.aliexpress.com/item/4000377316108.html?spm=a2g0s.12269583.0.0.1a1e62440DlgU2