About
The Memecode Controller 1 (MC1) is a hardware and software kit to build a
MIDI
controller that primarily targets the Fractal Audio
Axefx Standard and Ultra
series of effects processors. The kit enables someone with a basic understanding of circuits and
soldering to put together a controller that closely meets their needs in terms of layout and
dimensions while also have some Axefx specific functionality like tuner display, the ability to
send and receive Axefx sysex commands and display the current patch name. If they also have
an understanding of programming languages (specifically C) then they could modify the firmware
even further to achieve specific functionality.
Overview of functions:
- Display and selection of presets within 3 banks of 128 presets.
- Set and display current Axefx tempo.
- Display the current patch name.
- Send CC or Axefx set parameter messages based on controller position or IA state.
- Change scene.
- Go into Axefx tuner mode, and display tuning information live as it streams from the Axefx.
- Allow basic grouping of mutually exclusive IA buttons.
- Direct access via knobs to the AMP1 and AMP2 blocks Gain/Bass/Mid/Treble/Presence/Master settings.
- 6 internal expression knobs and 2 external expression inputs for foot controllers.
Current requirements for firmware development:
- Windows XP 32bit.
- Parallel port.
- Pony Prog 2000 (free).
- WinAVR compiler (free).
It's possible that other platforms can work, but that is a known good platform.
Firmware
The firmware source code is provided with the kit. It's written in fairly modular C code and
compiles for both the hardware platform and as a virtual desktop software controller that
runs on a normal PC or Mac. This allows you to test
changes on a desktop computer without having to go through the cycle of building the firmware
and flashing it down onto the AVR chip that runs the hardware version of the controller. The
hardware platform is the
ET-AVR stamp
from Futurlec which is basically an 8-bit AVR processor running at 16mhz.
Firmware features:
- Compiles on 3 platforms: WinAVR-gcc (for hardware), Visual Studio 2008 (for windows),
and XCode v4+ (for mac)
- Has a setup menu with per-preset and global sections
- Per-Preset settings:
- Sections for each IA button that contain a variable number of commands. Each command can be
configured to do Nothing, send a CC, turn an Axefx block on/off, change scene or
send a sysex command.
- Configure grouping of mutually exclusive IA's.
- Global settings:
- Sections for configuring the expression knob commands, split into "Normal", "Amp1" and "Amp2"
modes. Each with 8 sets of commands, one for each expression input. Commands and their edit page
are the same style as the preset IA ones.
- CC config for tuner and tempo messages.
- MIDI channel setting.
- Some advanced parameters.
- Factory reset command.
- Saves and loads preset and global settings from the 4k of EEPROM persistent memory
- Supports 1 pair of MIDI in and out ports (a 2nd pair of ports is a possibility in the future)
- Supports the following MIDI I/O:
- [Send] Program/preset change
- [Send] CC message
- [Send/Receive] Axefx sysex get/set block parameter (including bypass state)
- [Receive] Axefx tuner messages
- [Receive] Axefx tempo messages
- [Send/Receive] Axefx get current patch request message and the following response
- Software de-bouncing of buttons. Including a "held" down stage.
Purchase
The original run of PCB's is now sold out. However if you want to fabricate your own PCB and
use the software you can buy just the firmware and source and build all the hardware yourself.
In this case all the files will be distributed to you electronically and there is no physical
product to ship.
Options:
| 1) Software Only
| 2) Hardware
|
Firmware binary+source
| Yes
| Yes
|
Desktop version binary+source
| Yes
| Yes
|
Circuit schematic/Gerber
| Yes
| Yes
|
Parts manifest
| Yes
| Yes
|
Build manual
| Yes
| Yes
|
External graphics files
| Yes
| Yes
|
Unpopulated PCB
|
| Yes
|
Populated and tested PCB
|
|
|
Components for the PCB
|
|
|
12 Foot-switches
|
|
|
10 x LEDs, 6 linear potentiometers
|
|
|
LCD and ribbon cable
|
|
|
ET-AVR Stamp
|
|
|
ET-AVR ISP for flashing firmware
|
|
|