Rockit Firmware v1.13
3-Voice Paraphonic Upgrade for HackMe Rockit Synthesizer
Transform your mono Rockit into a 3-voice paraphonic beast with intelligent voice allocation across DCO1, DCO2, and future external osc.
This complete build package contains:
- rockit_paraphonic.c - Voice allocation engine
- rockit_paraphonic.h - Header file
- All original Rockit 1.12 source files - Ready to compile
- Makefile - Complete build configuration
- main_patch.txt - Modifications needed for eight_bit_synth_main.c
- midi_patch.txt - Modifications needed for midi.c
- README.md - This file
- INTEGRATION_GUIDE.md - Detailed setup instructions
- QUICK_REFERENCE.md - Usage guide and example patches
- CHECKLIST.md - Implementation tracker
MIDI CC 102: Values 0-42
- Always plays the 3 lowest notes pressed
- Perfect for: Bass lines, stable chord voicings
- Example: Press C-E-G-B → plays C, E, G
MIDI CC 102: Values 43-84
- Plays the 3 most recently pressed notes
- Perfect for: Lead melodies, dynamic playing
- Example: Press C-E-G-B → plays E, G, B
MIDI CC 102: Values 85-127 (DEFAULT)
- Each new note cycles to the next voice
- Perfect for: Arpeggios, rhythmic patterns, texture
- Creates movement and variation
-
eight_bit_synth_main.c
- Added
#include "rockit_paraphonic.h" - Added
paraphonic_init()call inmain()
- Added
-
midi.c
- Added
#include "rockit_paraphonic.h" - Modified NOTE_ON handler to call
paraphonic_note_on() - Modified NOTE_OFF handler to call
paraphonic_note_off() - Added CC 102 handler for mode switching
- Added
- rockit_paraphonic.c
- rockit_paraphonic.h
- Makefile (added rockit_paraphonic.c to CSRCS)
MCU: ATMEGA164P/644
Code Size: ~2KB additional flash
RAM Usage: ~100 bytes additional
Max Polyphony: 3 voices
Note Stack: 16 notes deep
Latency: Sub-millisecond voice allocation
- avr-gcc compiler
- avrdude programmer software
- Make (or use Arduino IDE with modifications)
- AVR programmer (USBasp, Arduino as ISP, etc.)
- HackMe Rockit synth
- MIDI interface to Respeaker
- I2C DAC on Respeaker configured for CV out
- Mode: Round Robin
- Pre-delay: 40ms, 30% mix
- Chorus: Moderate depth, slow rate (0.3 Hz)
- Tube: Light drive before booster
- Result: Rich, moving pad with wide stereo
- Mode: Low Note Priority
- All oscillators slightly detuned
- Pre-delay: Minimal (10ms, 10% mix)
- Tube: Heavy drive after booster
- Result: Massive bass that stays locked to root
- Mode: Last Note Priority
- Filter envelope: Fast attack (10ms), medium decay
- Pre-delay: 100ms, 20% mix
- Chorus: Light depth, faster rate (1 Hz)
- Result: Lead voice with delay doubling
See QUICK_REFERENCE.md for more patches!
Edit rockit_paraphonic.c, line 62:
para_state.mode = MODE_ROUND_ROBIN; // Change to MODE_LOW_NOTE or MODE_LAST_NOTEEdit rockit_paraphonic.c, line 343:
if(uc_data_byte_one == 102) // Change 102 to your desired CC numberEdit rockit_paraphonic.h, change:
unsigned char note_stack[16]; // Change 16 to desired size (8-32 recommended)Must Read:
- main_patch.txt - Required code changes for eight_bit_synth_main.c
- midi_patch.txt - Required code changes for midi.c
- INTEGRATION_GUIDE.md - Complete integration walkthrough
Reference:
- QUICK_REFERENCE.md - Mode guide, patches, tips
- CHECKLIST.md - Implementation tracker
GNU GPLv3 - Same as original Rockit
This means you can:
- Use this firmware in your builds
- Modify it as needed
- Sell synths running this firmware
- Share your modifications
Attribution:
- Original Rockit: Matt Heins / HackMe Electronics
- Paraphonic firmware: [1d4r3k]
- Juno architecture inspiration: Roland Corporation
Paraphonic Firmware: [1d4r3k]
Based On: HackMe Rockit by Matt Heins
Special thanks to the open-source synth DIY community!
Issues? Check the troubleshooting section above.
Questions? Read the documentation files:
- INTEGRATION_GUIDE.md for setup help
- QUICK_REFERENCE.md for usage guide
- CHECKLIST.md for implementation tracking
Still stuck? The code is well-commented - read through it!
- Read main_patch.txt and midi_patch.txt
- Apply the patches to the source files
- Run
make - Program your Rockit with
make program - Send MIDI CC 102 to switch modes
- Make some thick, lush, paraphonic sounds!
- Sell it and fund the next project! 💰
Version: 1.0
Date: November 2025