Important
This repository is still in the prototype stage with many of The Twist's components, resources, and documentation being WIP. Nevertheless, leaving a star (⭐) helps the project and keeps you in the loop!
🌀 The Bender Twist is a free, portable platform which augments the functional capabilities of LT-series amps made by a certain guitar brand that rhymes with "bender" and names products after horses.
This repository contains the key functionality behind the twist, which is designed to be combined with other add-ons that may be developed in the future (think rechargeable battery support, etc.)
The two main parts within this codebase are the backend server–controlling access point, API, and Amp connectivity functionalities–and the frontend control panel, which provides a user-friendly and easily accessible interface for using and interacting with your Twist device. An overview of both of these parts can be found in the respository's Wiki Documentation.
- Device connection configuration
- Device preset remote control
- Preset (footswitch) playlist management
- Light/dark UI modes
Note
Everything in this repository is designed and tested to be run on a Raspberry Pi Zero 2W. This doesn't mean it won't work on other (primarily Linux) platforms or devices, just that we don't currently support them.
- Install The Twist on your Pi
a. Flash the Official Image (Recommended)
Go to the latest release, download the "twist-pi-official-image-v{semver}.img.xz" file, and follow the flashing guide to get it on your pi!
b. Alternatively: SSH into Pi and DIY install
git clone https://github.com/bendertools/twist-pi.git cd twist-pi chmod +x scripts/setup.sh ./scripts/setup.sh
- Connect to the WiFi network "the-twist" and you're set!
To start the backend manually, run:
cd backend
uvicorn app:app --host 0.0.0.0 --port 80 --reload
To build new changes to the Svelte frontend, run. Unfortunately, due to no amp simulator being built for LtAmp.py (that maintainer should really get on that!!), you may have to build every time you make changes. Sorry :(
cd frontend
npm run build
Planned features, known bugs, and the overall project roadmap are coorinated using a combination of GitHub's Issues and Projects. The project tab is where more broad, long-term, and important work is tracked, while day-to-day development progress is reserved for Issues and Pull Requests.