HowTo: Compile MutableInstruments firmware under Win7-64bit step by step

I’m not sure what’s going on, it looks like it’s failing to cat all the files together. What if you directly run on the command line the line starting by “cat” and ending by “”?

Anybody having more success running this in a mingw/cygwin shell?

So, I would copy that command line from “cat” through to “” and paste it after make?


…I’ve been getting the same message.

Could you post a screenshot please?

I should clarify, I was unable to figure out how copy the command line this shell. So I tested make cat and make, I received a similar message.

So I understand this kinda lame and goes against the spirit of DIY, but is there anyway I can download the complied hex and bootloader to flash my Shruthi-1?

It’s on the github already: here

If you just use the standard firmware i don’t see a reason why just not use a compiled firmware… you’re not baking your 7805’s yourself are you?
The compiled ones are here

Precompiled firmware files are here

Thanks guys, I’ll just use the pre-complied shruthi-1 hex and flash my chip with my AVR programmer. I can flash a blank chip through the 6 pin on the digital control board right?

Yes, don’t forget to flash the eeprom on the 644 either with the factory-date - internal_eeprom.hex file. It has the first 16 patches and sequences.

I have a question.

I’ve been able to make the shruthi1.hex file, but for some reason I cannot get the Python tool to make either .mid or .syx files… when I use either the “make -d -f shruthi/makefile midi” or “make -d -f shruthi/makefile syx” commands, there are no .mid or .syx files created at all.

So I tried to manualy convert the .hex file by using the python command as described (“python tools\\hex2sysex\\ build\\shruthi1\\shruthi1.hex —syx —output_file build\\YourOutputFileName.syx”), but this gives me the following error message:

“CRITICAL:root:Specify one, and only one firmware .hex file!”

As far as I can see, there are only one .hex file specified in the command. The .hex file is there, and the path should be OK, as it comes with a “file not found” if I change the path in the command to something else.

I’ve tried everything… nothing seems to work.

Razmo, try to replace command line dashes with double hyphens python tools\\hex2sysex\\ build\\shruthi1\\shruthi1.hex --syx --output_file build\\YourOutputFileName.syx

Thank you Schrab! … that worked :O)

Installed on win-7-64 I got foolwing error - missing ?
somebody has an idea?

C:\\mutable instruments\\shruthi-1-master>make
avrlib/ shruthi1/ No such file or directory
shruthi/makefile:29: shruthi1/ No such file or directory
mkdir -p shruthi1/
C:\\arduino\\hardware\\tools\\avr\\bin/ = build/avr-g++ -MM -mmcu=atmega644p -I.
-g -Os -w -Wall -DF_CPU=20000000 -D_PROG_TYPES_COMPAT_ -fdata-sections -ffunct
ion-sections -fshort-enums -fno-move-loop-invariants -DDISABLE_DEFAULT_UART_RX_I
SR -DATMEGA644P -DSERIAL_RX_0 -mcall-prologues -fno-exceptions avrlib/ -M
F shruthi1/adc.d -MT shruthi1/adc.o
process_begin: CreateProcess(NULL, C:\\arduino\\hardware\\tools\\avr\\bin/ = build/av
r-g++ -MM -mmcu=atmega644p -I. -g -Os -w -Wall -DF_CPU=20000000 -D__PROG_TYPES_C
OMPAT__ -fdata-sections -ffunction-sections -fshort-enums -fno-move-loop-invaria
no-exceptions avrlib/ -MF shruthi1/adc.d -MT shruthi1/adc.o, …) failed.

Looks like you have a wrongly set path in your makefile…

Been trying this tutorial for a while now, but strange things are happening.
I’m trying to compile the Ambika firmware.

in SH shell
make -f controller/makefile => makes voicecard.hex ,
I even made a typo at some point ‘controller/malefile’ with an L :wink: and it still started making voicecard.hex ??


sh-2.04$ make -f controller/makefile
mkdir -p build/ambika_voicecard/

going a bit crazy here :wink:

if I use make -f controller/makefile directly in windows CMD prompt, it makes controller and voicecard hex just fine. No problems at all. So strange.

why should one use SH here exactly ?
and has anyone successfully compiled the firmware under windows (I’m on Win7) using this tutorial, or any other way ?


Well I managed to get the controller and voicecard compiled.

I was wondering; after you made some changes to the code, can you upgrade the compiled firmware by putting it on the sd card and perform an upgrade ? (besides using a programmer or thru midi)

I converted the hex to bin using; avr-objcopy -I ihex ambika_controller.hex -O binary AMBIKA.BIN

Just checking if this is ok ? Are there settings I should be aware off ? thanx

Ah, I noticed you can alter the root makefile and use the parameter bin to compile a bin file.
make -f controller/makefile bin

is this the correct way ?

> make -f controller/makefile bin

Yes, this is how I build bin files.