
this project has been in the works for over a year now. The guitar is based on an DIY kit (Harley Benton JA) which is heavily modded and upgraded, mainly with electronics.

Hardware design is split in three main parts:
1. Pickguard, a large PCB itself using an Cypress PSoC5LP MCU is responsible for:
- most of the analog circuitry as pickup buffers, active hum cancelling system, analog pot controls
- digital controls as capacitive touch buttons and one X-Y pad (large X9 area)
- low EMI light control with constant current drivers - neon light, button leds and leds built into the P90 pickups
- generating CV control signals for the analog VCA+VCF (PT8211 + I2S used as cheap DC dac), controlling the volume and filter cutoff frequency + resonance.

2. Analog effect section consisting of an octave up (basically a precision rectifier), a state variable filter + VCA built around SSM2164 quad VCA chip and an 8 channel I2C volume controller. This chip is used as a switch to select the filter type (lowpass, highpass, bandpass, notch), bypass the octaver, mix in two DSP channels and combine everything into one mono output. The X axis of the touch pad controls the cutoff frequency and the Y axis takes over the resonance.

3. Power + DSP section placed in a 3D printed enclosure at the back of the guitar:
- It provides the power for everything. Initially i've used a ready made power bank, but after hacking around it to get the battery level i decided to design a more optimized version having all the fancy quick charge/PD charging options plus better 5V output filtering. 5V is converted to 3.3V with a buck converter, this is the main digital power bus, 5V is also boosted to 12V and regulated down to 9V as main analog supply rail (opamps, filters, VCA etc).
- Teensy4.1 + PSRAM, being the main DSP and display driver.
- 4 port USB hub, combining all the data and power into one USB-C socket. Here - it is used for the KitProg debugger for the PSoC MCU. Once the firmware is mature i'm going to remove it and use the PSoC's own USB for potential firmware upgrades in the future.
- Hardware MIDI input/output + Teensy's USB MIDI.
- 8 button RGB illuminated keypad. This is a separate sub-module controlled by a small risc-v MCU (CH32V003) doing all the keypad scanning, debouncing and LED control, talks to Teensy via I2C + interrupt line.
- 2 axis + button gamepad joystick for controlling the DSP effects.



Display:
i wanted a small display with capacitive touch screen. One of the sources for such a display + nice looking bezel turned out to be a cheap P8 smart watch. I reverse engineered the original connections and designed a matching PCB with SPI (display control) and I2C (touch interface). LVGL9 is used for the GUI.
Main functions are: hardware setup and settings, guitar tuner and some demo animations.

Keypad + RGB Led module:
4 buttons have (will have) a configurable functions, ie. play a sample, tap tempo etc. The other 4 used for quick preset access.

DSP:
where the Teensy4.1 shines. The first iteration of that board used ESP32-P4, however, after initial test and tries i decided i won't be needing any wireless, plus getting the performance out of RTOS brought many more issues, i've redesigned the board around T4.1, which i know and feel confident to work with.
Teensy is powered directly from the 3.3V bus using the trick with one LED supplying the power to the VBAT pin. USB is routed into one of usb hub ports.
Communication between the Teensy and the PSoC5LP happens via level shifted SPI bus + single interrupt line.
MIDI:
Teensy works as a MIDI merger combining messages coming via USB or the hardware inputs, sending them to the pickguard MCU and receiving CC from the PSoC. Touch sense buttons and the X-Y pad can be used to send MIDI messages, too.
Audio inputs:
both bridge + neck pickups are buffered and routed into stereo inputs of the AK4558 codec. Audio library runs on 32bit floating point math.
Digital effects:
1. Drone synth. Initally i've experimented with building a sustainer pickup into the guitar. I did not want to sacrifice the neck P90 pickup for it, in the end i decided to go with synth based route.
Pressing the Drone button on the pickguard tells the Teensy to capture the current fundamental frequency and to start the drone synth. It is a combination of a few sinusoidal waves, base pitch, 2nd and 3rd harmonics, subharmonics used as ring modulation source. All this is controlled from a bunch of randomized control signal generators. They provide a smooth and always changing controls for the amplitude and vibrato applied to the drone components. Kind of a synth that never sounds the same. Sin waves are used since the output signal will be distorted in various effect pedals anyway.
The Drone has two voices to make the transition between two notes smooth. Plus it can be used a standard 2 voice synth playing the notes coming via MIDI. In the works is an envelope controlled ducker module, which automatically lowers the drone volume while playing. The overall drone volume is controlled with one section of the stacked potentiometer mounted on the pickguard PCB.
2. Simple looper with vinyl scratch option. Always recording a few seconds of audio and if necessary allowing to loop it and use emulated vinyl scratch on it. Not sure yet if i leave it this way or move the vinyl scratch to the next effect:
3. Sample player - special effects player. Pre loaded samples can be played or engaged in scratch mode, where the play speed and direction is controlled by the movement of the gamepad joystick. Still working on it...
The main concept for this guitar is not to make another instrument with built in amp sims, ready made sounds to be just amplified. What i wanted to focus on is shaping the guitar sounds that happens before any distortion, amp etc. Hence the filter + VCA section which can completely change the sounds of two P90 pickups, adding a second or third voice to it, intermodulating with whatever is being played using the strings. All this leads to many new interesting effects, sounds and even ways of playing. All the DSP based effects are added to the original sound only, the main signal is latency free. Saying that, the main, biggest and most useful feature on this guitar is one simple push pull switch which takes all the electronics out of the signal path and makes the instrument work as regular passive output completely analog guitar
A side quest was developing a pickup winder to make a pair of "cyberpunky" illuminated pair of P90 pickups. There are two LEDs inside each pickup, one (blue) shows the pickup is currently active and the other (pink) tells if the active hum cancelling system is enabled. The covers are 3D printed using a transparent resin.


Since this is a Cyberpunk inspired project, there are some hidden "data links" visible only under UV light:






