Beta testers wanted for new firmware version

I’m preparing a new firmware build for the next batch of kits.

Most of the changes are behind the scenes - code optimizations and code layout changes. The “visible” changes are the following:


  • Fixed a bug that caused a loudness drop of the vowel oscillator (you might have to rebalance the oscillators mix a bit on patches using vowel)
  • Fixed a bug that caused the filtered noise “oscillator” to output incorrect values when the parameter was set to a high value.
  • The envelopes now have a smoother curve, and slower attack / decay / release times can be achieved on extreme settings (123-127).
  • Fixed a timing bug that caused the main oscillators pitch to be off by 8 cents.


  • CC90 and CC87 can be used to control the cutoff frequency and resonance of the second filter on the dual SVF filter board.
  • The Shruthi-1 now uses an officially registered manufacturer ID for SysEx communication.

A note about the SysEx thing… At the time I started the Shruthi-1 project, I did not bother registering a manufacturer ID ($200 / year) so I used a number that was listed as available on the MMA site. It is now used by another developer so I’d like to move out of this slot. I have registered a manufacturer ID (00H 21H 02H) that is going to be used for all projects, and starting from v0.94, the Shruthi-1 and the bootloader will use this new manufacturer ID for SysEx transfers ; but will still recognize the old manufacturer ID. What this means is that:

  • Patch dumps/backups done with v0.94 (and above) won’t be readable with v0.93 (and below).
  • Patch dumps/backups done with v0.93 (and below) will be readable on any version.

Firmware update files are still using the old manufacturer id to make sure they can be read by the deployed version of the bootloader.

You will find the files here

I’d really like this v0.94 to become a v1.00, so your feedback and intensive testing is appreciated…

convenient, I just happen to have every filter board available to test with. Let me know if you want me to look at anything specific. So is the new bootloader available? I’ll be flashing blank AVRs tonight…

Here is the new bootloader It recognizes both SysEx update data with the old and the new manufacturer id (so you can send the .syx for v0.91, v0.92 etc, through the new bootloader).

So far so good over here (on 3 Shruthi-1’s)
I could swear they used to restart themselves after midi firmware updates though? They didn’t with .94… (using the .syx files)
But after turning off & on again, all 3 appear to work just fine :slight_smile:

Same here. Shruthi did not reboot by itself, but everything’s okay.

Ahah, fixed the reset problem in the .syx and .mid! It was sending the reset command with the new manufacturer id.

Can’t get up from .91, does the bootloader fix that and is it sosmething I can send via midi? It downloads as a text file. I am using sept 21st version of .94 with all the usual software. I hold down button 6 on power up, alternate leds light, it sends they all go dark, no response and on reboot I am, back at the old os.

You cannot update the bootloader by MIDI - you need to install the .hex with avrdude and an ISP programmer.

Sealion: I think it downloading as a text file is common… At least it happens here too if I simply click on it to download. But on my Mac at least, I can right click on it and “Download as…” And I get the file in the normal, correct way.
The bootloader shenanigans is all greek to me. But one of my Shruthi’s originally had v.91 (so must also have an older bootloader) and that was upgraded (via midi) to the latest v.94 just fine.

will upgrading the bootloader be needed to run the updated firmware?

one of my Shruthi’s originally had v.91 (so must also have an older bootloader) and that was upgraded (via midi) to the latest v.94 just fine.


Just look above, the 1rd entry on this topic…:

Firmware update files are still using the old manufacturer id to make sure they can be read by the deployed version of the bootloader.

You don’t need to upgrade the bootloader to do the update. That purpose of the MIDI bootloader and the firmware upgrade system is to prevent you from having to use an ISP programmer.

The new bootloader doesn’t much more compared to the previous one - it just recognizes files with the new manufacturer id. You don’t need to upgrade it since I’ll continue distributing file compatible with the old manufacturer id.

Problem solved! The newish emu midi 1x1 usb does not have enough power for the old optoisolator chip. I have one of the first clear cased ones. I tried to two different kinds of usb ports, a version 1.0 and a usb 2.0 on my hp windows 7 machine. As I understand it the chip is literally an led and reader inside that transmits and reads so there is no ground connection between the send machine and the receive machine. I guess the early chips needed a lot of power for the internal led. (Power implies heat which implies burnout in vintage machines with can’t read midi issues.) The emu midi tab interface does work with a Gorf2 or a saamichsid, so it must be this chip.

When I went to the emu 0404 old-style card midi I/o connectors, which is a directly bus connected card, those midi ports did drive the update. Sending it as mid using bourne’s midibar acted a bit odd and the lcd pulsed and then went dark and would not restart to the new or old OS on power off/up. Worried, I switched to elektron’s c6 software and sysex, reset C6 so the ports to point to the 0404 card’s midi, and just to be safe lowered the speed to 200, powered off and on with button 6 down and the leds started their normal blinky climb up progession. So the bootloader was okay and I’m there from 0.91.

Success in windows 7 32 bit and a warning on usb midi cables versus bus powered midi cards for early shruthi-1s. Ordering new opto chips is on my list.

thanks guys! didn’t understand the implications of that earlier post!

new bootloader + 0.94 check out on blank uCs over here…

If anyone is looking for a cheap yet powerful programmer, I can vouch for this thing:

done, ordered one thanks

windows 7 so I should get Putty? My usbtiny has not worked well for me and we swapped it with another, and and tested it on someone else’s machines so I’ve been looking for something better. On teh good news front my sammichsid is finally stable in stereo and Gorf likes it.

putty is what I use and it works fine on windows 7, If you are used to avrdude then you have to change the mode from WinAVR to avrdude in the terminal

I’ve just uploaded a new version. No new features, just code optimizations.