Project Summary
MonkeyJam 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.
MBED Support coming *very soon*
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
Materials:
Step 0: Prerequisite Videos
The videos are organized into a nice YouTube playlist:
H.I.T 1: Monkey Jam - YouTube
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
Step 1: Get a FRDM-JAM
MonkeyJam Build Package on the FRDM-JAM site. Please let us know if you are interested in a pre-assembled version. If there is enough demand we will get some preassembled for purchase, I will get a Kickstarter going! Don't be afraid to build it yourself, Soldering is fun! There is plenty of good stuff on the web on how to do SMT soldering. All of the parts on the board are fairly simply once you get the hang of it and everything can be hand soldered The key is having some decent tools.
Step 2: Put it Together
Attach the FRDM-JAM to the FRDM-K20D50. The FRDM-K20D50 comes with female headers that you can solder on so the boards can be easily separated. Note that as of Rev Gamma (current version), it is possible to connect to a K64F. The software isn't quite there but it hardware connections are available. If you are unsure, stick with the FRDM-K20D50
Step 3: Download
Download the Example Software from Github. The video "Loading and Configuring the MonkeyJam Example Software" will step you though downloading the program and doing some basic configuration.
Step 4: Hack and Slash!
Plug In and jam!
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.

| File (See Attachments) | Patch | Notes |
|---|
| STE-003-Neck-a12b12g12-mlike.wav | PATCH_TUBEY_CLEAN | Neck Pickup Alpha Pot - 12 O'Cock Beta Pot - 12 O'Cock Gamma Pot - 12 O'Cock Pattern Similar to Metallica Sanitarium |
| STE-005-Neck-a7b5g5-mlike.wav | PATCH_TUBEY_CLEAN | Neck Pickup Alpha Pot - 7 O'Cock Beta Pot - 5 O'Cock Gamma Pot - 5 O'Cock Pattern Similar to Metallica Sanitarium |
| STE-006-Neck-a12b7g5-mlike.wav | PATCH_TUBEY_CLEAN | Neck Pickup Alpha Pot - 12 O'Cock Beta Pot - 7 O'Cock Gamma Pot - 5 O'Cock Pattern Similar to Metallica Sanitarium |
| STE-007-Neck-VariousSettings-d-g-em_strum.wav | PATCH_TUBEY_CLEAN | Neck Pickup The pots were moved around throughout the file Strummed D-Major, G-Major and E-Minor |
| STE-008-Neck+Bridge-VariousSettings-d-g-em_strum.wav | PATCH_TUBEY_CLEAN | Neck + Bridge Pickup The pots were moved around throughout the file Strummed D-Major, G-Major and E-Minor |
| STE-009-Bridge-VariousSettings-d-g-em_strum.wav | PATCH_TUBEY_CLEAN | Bridge + Bridge Pickup The pots were moved around throughout the file Strummed D-Major, G-Major and E-Minor |
| STE-010-Neck-VariousSettings-Jammy.wav | PATCH_TUBEY_CLEAN | Neck + Bridge Pickup The pots were moved around throughout the file B-Minor Type Jam |
| STE-011- Bridge - Various Settings - On-Off Demo-RandomDroppedD.wav | PATCH_OVERDRIVE | Bridge Pickup Alpha Pot - 5 O'Cock Beta Pot - 12 O'Cock Gamma Pot - 12 O'Cock Random Dropped D twiddling |
| STE-012- Neck - Various Settings - On-Off Demo-Jammy.wav | PATCH_OVERDRIVE | Neck Pickup Alpha Pot - 5 O'Cock Beta Pot - 7 O'Cock Gamma Pot - 7 O'Cock Random B-Minor twiddles (bluesy) |
PATCH_OVERDRIVE
+––––––––––––––––––+ +––––––––––––––––––––––––––+ +–––––––––––––––––––––+
| | | | | |
Signal In | IIR BiQuad | | Hard Overdrive | | IIR BiQuad | Signal Out
+–––––––––+>| +––––+>| +––––+>| +–––––––––––––+>
| [Peaking EQ] | | [atan24pi Look Up Table] | | [Low Pass Filter] |
| | | | | |
+––––––––––––––––––+ +––––––––––––––––––––––––––+ +–––––––––––––––––––––+
0.1 < Q < 1.5 [Pot Alpha] Q = 0
50 < Fs < 750 [Pot Gamma] Fs = 2000
-20 < dbGain < 20 [Pot Beta]
PATCH_TUBEY_CLEAN
+––––––––––––––––––+ +––––––––––––––––––––––––––+ +–––––––––––––––––––––+
| | | | | |
Signal In | IIR BiQuad | | Soft Overdrive | | IIR BiQuad | Signal Out
+–––––––––+>| +––––+>| +––––+>| +–––––––––––––+>
| [LowShelf] | | [atan4pi Look Up Table] | | [Low Pass Filter] |
| | | | | |
+––––––––––––––––––+ +––––––––––––––––––––––––––+ +–––––––––––––––––––––+
0.05 < Q < 2.58 [Pot Alpha] Q = 2.0
1000 < Fs < 4000 [Pot Beta] Fs = 2500
-15 < dbGain < 15 [Pot Gamma]
Utilities, etc:
Biquad Filter View - A IIR Biquad Filter Design & Visualization Tool