





DETAILED DESCRIPTION
The MonkeyJam projects will use the FRDM-K20D50 board (which has a Cortex M4 core with DSP instructions) along with the FRDM-JAM shield so you can make your very own guitar /bass stomp box. The end result will be a functional DSP system that will allow you to do high quality amplifier simulation and effects. The FRDM-JAM does not limit you to DSP on musical instruments! There are 3.5mm stereo jacks to DSP filtering any type of audio signal. You could even use the USB interface to create a USB-MIDI Synthesizer! Lastly, no need to bring the house down..... a headphone amplifier circuit is provided so you can jam out without bothering the neighbors.
Skills Developed:
- Real Time Processing
- DSP Algorithms
- Fixed Point Mathematics
- 24-bit I2S Data Converter Interfacing
- Soldering SOIC8 and 1206 Surface mount devices
- Cortex CMSIS DSP Library
There is lots of goodies to pull out of the firmware. There is a heavy focus on fixed point, real time per sample processing. Filter is done with IIR biquads and the example code has a "on the fly" filter design that can update coefficients atomically. You can even see a simple way of modeling a vacuum tube style overdrive in embedded code:
Materials
There are plenty of videos that can get you started with the Monkey Jam
https://www.youtube.com/playlist?list=PLWM8NW5LEukgM-D5eRMtKZ8R2WfXnqKGp
- MonkeyJam Watch Me 1st
- FRDM-JAM Hardware Overview
- MonkeyJam Software Overview
- Introduction to Fixed Point Math for Embedded Systems - Part 1 of 3
- Introduction to Fixed Point Math for Embedded Systems - Part 2 of 3
- Introduction to Fixed Point Math for Embedded Systems - Part 3 of 3
- Real Time Signal Processing Part 1 of 3
- Real Time Signal Processing Part 2 of 3
- Real Time Signal Processing Part 3 of 3
- q31_t (Q0.31) Number Format for the CMSIS DSP Libraries and the MonkeyJam Software
- Guitar physics in a nutshell
- Ideas for hacking the MonkeyJam
Special Note: This was originally designed for the FRDM-K20D50. It can be used with the K64F or K22F with a few mods to route the I2S signals. Refer to the schematics for the K64F to see what needs remapped. You will also need to tweak the port IO in the code if you want to use the K64F or K22. There is a branch on the github repo that does this.
I will be working on a new board that works with K64F directly.
Firmware
Example firmware is available on github:
https://github.com/ehughes/MonkeyJam
This project was originally built with the Free Codewarrior tools for Micocontrollers. The latest release is 10.6:
What you want is:
Special Edition: CodeWarrior for Microcontrollers 10.6 (Eclipse, Offline)
At somepoint I will be porting this to Kinetis Design Studio.
IIR Filter Design Tool
There is also a companion IIR Filter Design Tool:
https://community.freescale.com/docs/DOC-100240
Source is available here:
https://github.com/ehughes/BiquadFilterView
Sound Samples
Each sound sample was my Carvin Ultra-V guitar plugged direct into the MonkeyJam Board. The output was fed to a Zoom Handy Recorder H4n (Thanks to Brandin Claar of Remodulate LLC for the recorder). The H4N recorded the signal at 44.1KHz Sample rate @16-bit. The sound files were converted to mono format via Goldwave. No processing (other than a volume boost on the files) was performed. I listen to the recording in real-time via a line out on the H4N.
STE-009-Bridge-VariousSettings-d-g-em_strum.wav
- Neck + Bridge Pickup
- PATCH_TUBEY_CLEAN
- The pots were moved around throughout the file
STE-010-Neck-VariousSettings-Jammy.wav
- Neck + Bridge Pickup
- PATCH_TUBEY_CLEAN
- The pots were moved around throughout the file
STE-011- Bridge - Various Settings - On-Off Demo-RandomDroppedD.wav
- Bridge Pickup
- PATCH_OVERDRIVE
- Alpha Pot - 5 O'Cock Beta Pot - 12 O'Cock Gamma Pot - 12 O'Cock
STE-012- Neck - Various Settings - On-Off Demo-Jammy.wav
- Neck Pickup
- PATCH_OVERDRIVE
- Alpha Pot - 5 O'Cock Beta Pot - 7 O'Cock Gamma Pot - 7 O'Cock
PATCH_TUBEY_CLEAN
PATCH_OVERDRIVE
Live Demo:
(Not the best recording but live at Maker Faire 2014)
Authors
- /
- Active Participants

Components & Releases

Fabricate
Delete release
Are you sure you want to delete this Release?
This action cannot be undone.
Unable to download from CircuitMaker
You cannot download files inside CircuitMaker.
Please, open this page in browser and download file from there.
To copy hyperlink, press Ctrl+C with selected text below:
Comments ()