Skip to content

Latest commit

 

History

61 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FXcursion

A guitar processor based on STM32H743ZITx. Currently in a prototype phase - a lot of things were tested separately, but now we work on bringing everything together into a final prototype to check everything before finishing the actual hardware design.

Features

pedal6 (4_black)
  • A flexible mixer with 4 mono/2 stereo inputs and outputs.
    Easily integrate your guitar with other instruments and equipment.

  • Built-in multitreack looper and recording capabilities.
    Capture your musical ideas on the spot and save them to an SD-card, . stay on the beat with a dedicated LED indication for the Looper.

  • Modular effects chain.
    Arrange reverb, chorus, distortion, flanger, and more effects in any order you choose - for each input or their mix. Place Recorder, Looper, FX chain, Mixer and Monitor blocks in any sequence you need.

  • Intuitive interface that's out of your way.
    Easily adjust parameters and fine-tune your sound while staying focused on your music. Different sound routing options to fit all scenarios, adjustable and saved as presets.
    Thought-out navigation with knobs and buttons
    made both for nerds and for those who like their gear simple.

  • Connectivity without compromise
    Four combined XLR/TRS inputs with phantom power, full-sized MIDI In|Out|Thru ports, two external pedal/switch connectors, USB Type-C for audio streaming, file browsing and charging, four mono/differential TRS outputs.

Getting started

Clone with submodules. A plain git clone leaves the SystemSW folders empty and nothing will link:

git clone --recurse-submodules https://github.com/RATsynthesizers/FXcursion.git

Already cloned without them? Fill them in:

git submodule update --init --recursive

About the submodules

SystemSW is one repository — RATsynthesizers/SystemSW — checked out at two paths, one per controller:

TestBenchmarks/FXcursion_Audio_SHIELD/SystemSW
TestBenchmarks/FXcursion_Interface_SHIELD/SystemSW

Both boards share it because both compile the same inter-controller protocol out of SystemSW/Lib/InterComProtocol — the frame layout, the loop session state machine, the CRC. The two pointers must always be on the same commit. A split pointer is how the sender and the receiver end up built against different definitions of the same frame, which on this link means silently misrouted audio rather than a build error. Check them with:

git submodule status

Both lines must show the same SHA. When you bump one, bump the other in the same commit.

If a submodule fails to fetch a commit, it usually means someone committed a pointer without pushing SystemSW itself. Push there first, then here.

Building

We use STM32CubeIDE for development. Each controller's IDE project lives in its own STM32CubeIDE/ folder, with ApplicationSW, Config, SystemSW, UtilitySW and Tests beside it and reached through Eclipse linked resources. Include paths therefore use ${workspace_loc:/${ProjName}/...} rather than ../, because only the workspace form resolves through a link.

There are also host test suites that build for the PC and exclude anything touching the HAL, so a green run there says nothing about whether the firmware compiles — build in the IDE for that (or GIT Bash in Windows directory):

cmake -S WIP/FXcursion_Audio_SHIELD/Tests -B /tmp/at && cmake --build /tmp/at

Building the firmware from the command line (or other IDEs) might be possible, but we haven't tested this yet.

Hardware designs are availible at https://github.com/RATsynthesizers/FXcursion-HW

♡ Stay tuned for updates! ♡

Docs

Documentation currently lives in the wiki.

Sponsors

PCBWay sponsored our project with free PCB prototyping services. You can read more about our experience working with them on our Hackaday.

About

Guitar processor prototype

Resources

Stars

17 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages