Bit late to the party, but I’ve built a couple of these now with various filter boards using blank chips and thought I would share the process that works for me in terms of programming firmware and factory patches as there still seem to be some in the community having the odd problem.
Point to note that I am a PC user on Win 7 64 bit and sending / receiving MIDI via a Behringer UMC404HD. I am also using a standard generic ebay bought (assuming Chinese) USB ISP. The below is with the obvious disclaimer that it is used at your own risk and I cannot be held responsible etc etc.
It is assumed you have installed the driver successfully for your programmer and you have all the hex and syx files.
Btw the six pin programmer adaptor plugs into your control board with the tab pointing up - i.e next to your screen.
1: Install WINAVR 20100110 - standard install paths
2: Add ‘;C:\WinAVR-20100110\bin’ into the environment variables Path via the control panel\system\advanced system settings
3: Open a command prompt (as administrator)
4: Navigate to the directory where your hex files are - I normally put these in the root of C in a folder called ‘mi’. The command would therefore be ‘cd c:\mi’ (in my case)
5: Run the following scripts (copy and paste):
avrdude -B 100 -V -p m644p -c usbasp -P usb -e -U lock:w:0x3F:m -e -u -U efuse:w:0xFD:m -U hfuse:w:0xD6:m -U lfuse:w:0xFF:m -U lock:w:0x0f:m
avrdude -B 1 -V -p m644p -c usbasp -P usb -U eeprom:w:internal_eeprom.hex:i -U flash:w:shruthi1_1.02.hex:i -U flash:w:muboot.hex:i -U lock:w:0x2f:m
6: If you get the fault code(s) ‘avrdude: stk500_getsync(): not in sync: resp=0x00’ and ‘avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51’ these are related to the internal USBASP firmware but have no effect on successfully loading the code so you can safely ignore them. You do not need to flash the programmer despite what the internet tells you.
I have learned it is advisable to redo the firmware via Midi as sometimes ISP programming can leave you with distorted sounding waves, especially on OSC 2. Download and install (unzip) c6.exe - always run as admin
7: Power up your Shruthi holding down S6
8: Run c6.exe
9: Configure delay to 500ms - I have found this speed works 100% of the time as lower delay speeds sometimes cause inconsistent results, especially loading the factory patches
10: Load 'shruthi1_1.02 .syx
11: Click ‘Send’
12: Reboot your Shruthi NORMALLY - i.e. do not hold down S6
13: Run c6.exe
14: Configure delay to 500ms
15: Load shruthi1_factory_data.syx
That pretty much covers it. I hope the above helps other builders out there having issues. If anyone has questions - just ask.