Super Sixteen firmware update 1.1 - installation support thread

Creator of of the Super Sixteen Sequencer and based in San Francisco. This is a DIY and Finished Good product for Eurorack.

Moderators: Kent, extralifedisco

User avatar
extralifedisco
Common Wiggler
Posts: 128
Joined: Thu Apr 05, 2018 5:03 pm
Location: San Francisco, CA

Re: Super Sixteen firmware update 1.1 - installation support thread

Post by extralifedisco »

grm wrote: Mon Mar 07, 2022 10:47 pm well, thank YOU for helping me with this. i ended up doing a complete new installation of my old and most likely by now extremely crooked OS, ther were many things that did not work well or at all anymore, so now i tried with EVERYTHING fresh (latest arduino version, with latest AVRboards update on macOS 11), most likely with success. HOORAY! will test the module in the rack tomorrow it is already 5:30am over here and the cold keeps me want to stay under the blankets. hope it went through the UNO to the SSSeq's MCU.
Excellent! Fingers crossed it works. I didn't catch whether you were upgrading or programming from scratch, but if you are programming from scratch then you probably need to set the fuses so the clock runs at 16mhz instead of 4mhz. If you get a weird strobing display, that's probably it. The command to set the fuses is the same as uploading the firmware, you just replace the end part (after -U) as follows:

Code: Select all

avrdude -c usbtiny -p m328p -U lfuse:w:0xFF:m -U hfuse:w:0xDE:m -U efuse:w:0x05:m
I will update the top of this thread and the release page with a note about arduino config files - thanks for helping troubleshoot!
User avatar
grm
Common Wiggler
Posts: 131
Joined: Fri Nov 18, 2016 4:49 pm
Location: swamp

Re: Super Sixteen firmware update 1.1 - installation support thread

Post by grm »

i had not mentioned it, but i've build it from scratch (from your open source PCB designs, thank you very much!). it had not been running before with the older firmware. i have not even thought of the fuse settings (don't even know what that exactly is), but i understand the concept of overclocking.

anyway, before i had tried what you described above, i had briefly plugged the module into the power supply and nothing besides a few LEDs lit up dimly.

after that, i tried flashing the fuse-setting code. strangely, the port name has changed overnight and is now usbmodem1421, but that is because i had now plugged the usb into the second port on the comp ;) . for the documentation sake and hoping that this might others (as clueless as me, if they exist here) here's the commands i used:

Code: Select all

/Users/granolagreul/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/bin/avrdude -C/Users/granolagreul/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf -v -patmega328p -carduino -P/dev/cu.usbmodem1421 -b115200 -D -Ulfuse:w:0xFF:m -U hfuse:w:0xDE:m -U efuse:w:0x05:m
the response of avrdude came back as follows and i am not sure if that is good or the usual, does sound not right:

Code: Select all

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/Users/granolagreul/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf"
         User configuration file is "/Users/granolagreul/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/cu.usbmodem1421
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : Arduino
         Description     : Arduino
         Hardware Version: 3
         Firmware Version: 4.4
         Vtarget         : 0.3 V
         Varef           : 0.3 V
         Oscillator      : 28.800 kHz
         SCK period      : 3.3 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: reading input file "0xFF"
avrdude: writing lfuse (1 bytes):

Writing |                                                    | 0% 0.00s ***failed;  
Writing | ################################################## | 100% 0.06s

avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xFF:
avrdude: load data lfuse data from input file 0xFF:
avrdude: input file 0xFF contains 1 bytes
avrdude: reading on-chip lfuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
         0x00 != 0xff
avrdude: verification error; content mismatch

avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: safemode: lfuse changed! Was ff, and is now 0
Would you like this fuse to be changed back? [y/n] n
avrdude: safemode: Fuses OK (E:00, H:00, L:FF)
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0xfe

avrdude done.  Thank you.
AND, then i remembered that i still have not checked in if the IC that i had soldered instead of the W25Q80DVSNU104 would need to be replaced or not (have totally forgotten, that the seller has send me 25Q128F7861510 in a package of W25Q80DVSNU104, so they ended up on the board.) AND even worse. i just now realized that the voltage regulator got really hot just from the ISP connection and it turned out i have soldered a L7905 instead of a L7805 :doh: so i really hope i have not fried anything by that. will fix that first, most likely see you in the hardware department.

anyway many thanks for your detailed and kind help. much appreciated.
User avatar
grm
Common Wiggler
Posts: 131
Joined: Fri Nov 18, 2016 4:49 pm
Location: swamp

Re: Super Sixteen firmware update 1.1 - installation support thread

Post by grm »

update: i've desoldered the negative voltage regulator and soldered a correct one it, when powering the module the display stays of and LED 7, 10 & 15 are lit (brigther than with the wrong regulator). let me know if i shall split this issues and post it in the other thread?
User avatar
extralifedisco
Common Wiggler
Posts: 128
Joined: Thu Apr 05, 2018 5:03 pm
Location: San Francisco, CA

Re: Super Sixteen firmware update 1.1 - installation support thread

Post by extralifedisco »

grm wrote: Tue Mar 08, 2022 1:22 pm update: i've desoldered the negative voltage regulator and soldered a correct one it, when powering the module the display stays of and LED 7, 10 & 15 are lit (brigther than with the wrong regulator). let me know if i shall split this issues and post it in the other thread?
Ah, that's interesting. I don't really know what applying a positive voltage to a negative regulator causes on the output! Perhaps it let the full 12V through to the CPU? If it quickly overheated, I would guess that it caused an overvoltage fault somewhere and drained it to ground via short circuit internally in one of the ICs. Based on the module behavior, my suspicion is that the shift registers are not recieving serial comms from the CPU and are just stuck in their last state, with leds 7/10/15 activated by coincidence. The display driver is probably in the same state but the transistor drivers are driven by the CPU directly so they aren't turned on.

My first guess is that the CPU (Atmega chip) was either damaged or put in a reset state by the voltage regulator issue. One way to check would be to try to program the chip again. If you can program it successfully, the chip is likely fine. If not, you are likely looking at replacing it. If your Super Sixteen and Arduino Uno both have socketed DIP-28 chips, you could try swapping them and programming it over USB rather than ICSP, which may be easier to check.
User avatar
MarkSinister
Learning to Wiggle
Posts: 48
Joined: Sat Apr 22, 2017 2:59 am
Location: Oxfordshire UK

Re: Super Sixteen firmware update 1.1 - installation support thread

Post by MarkSinister »

I built an original kickstarter Super Sixteen sometime ago and today I finally got around to updating the firmware. Whilst there is a lot of useful information in this thread and in Matthew's video, the process was not obvious to me as I am computationally illiterate. I obtained the Pololu USB AVR Programmer V2.1 purchased from Cool Components in the UK (cool components.co.uk). I use a Mac and the I found the Pololu WEB site had useful information on setting up AVRDUDE using the Terminal app and determining the Serial Port name to use (https://www.pololu.com/docs/0J36/5.c). Not being familiar with command line entry it took me a while to work out that I needed to point AVRDUDE to the download folder where the firmware file was located: The following instruction worked for me:

avrdude -P /dev/tty.usbmodem003810462 -p m328p -c stk500 -U flash:w:/Users/Mark/Downloads/firmware.hex

Anyone else working on a Mac and following a similar process with the Pololu USB AVR Programmer would have to substitute "/dev/tty.usbmodem003810462" for their correct port name, as determined by the instructions on the Pololu WEB site, and "/Users/Mark/Downloads/firmware.hex" for the address in which the firmware is located.

All seems to be working OK as I get the "Sng" text when pressing "Shift" and "16". I am now looking forward to an interesting time exploring the new functionality.
User avatar
grm
Common Wiggler
Posts: 131
Joined: Fri Nov 18, 2016 4:49 pm
Location: swamp

Re: Super Sixteen firmware update 1.1 - installation support thread

Post by grm »

extralifedisco wrote: Tue Mar 08, 2022 6:48 pm
grm wrote: Tue Mar 08, 2022 1:22 pm update: i've desoldered the negative voltage regulator and soldered a correct one it, when powering the module the display stays of and LED 7, 10 & 15 are lit (brigther than with the wrong regulator). let me know if i shall split this issues and post it in the other thread?
Ah, that's interesting. I don't really know what applying a positive voltage to a negative regulator causes on the output! Perhaps it let the full 12V through to the CPU? If it quickly overheated, I would guess that it caused an overvoltage fault somewhere and drained it to ground via short circuit internally in one of the ICs. Based on the module behavior, my suspicion is that the shift registers are not recieving serial comms from the CPU and are just stuck in their last state, with leds 7/10/15 activated by coincidence. The display driver is probably in the same state but the transistor drivers are driven by the CPU directly so they aren't turned on.

My first guess is that the CPU (Atmega chip) was either damaged or put in a reset state by the voltage regulator issue. One way to check would be to try to program the chip again. If you can program it successfully, the chip is likely fine. If not, you are likely looking at replacing it. If your Super Sixteen and Arduino Uno both have socketed DIP-28 chips, you could try swapping them and programming it over USB rather than ICSP, which may be easier to check.
hey, again thank you for your response and excuses for my long absence here. only today i found some time for tinkering with the super sixteen again. and did manage to do the .hex upload and the fuse setting as described above on the same atmeg ic, but the result is the same as before (only the LEDs of step 7,10,15 come on). then i used a brand new atmeg IC and flashed it successfully, with the result of the LEDs of steps 10,11,12, 14,15 lighting up and no other functions when the module gets powered up. >>> as stated above i still have had the wrong(?) WINBOND ic on the board, it is a W25Q128FVSG instead of a W25Q80DVSNU104, so the next thing i did was to change that. now i have the correct memory IC on the board, but the results are the same. since i guess this is an issue with other things than the just firmware, i will also post this in the build thread. any hints of where to look next welcome. i've measured the voltage pins of all the ICs and they seem to get what they need. one thing i have also found out, is that when disconnecting the CPU board from the control board while powered the random step led patterns that light up change, when reconnecting.
User avatar
extralifedisco
Common Wiggler
Posts: 128
Joined: Thu Apr 05, 2018 5:03 pm
Location: San Francisco, CA

Re: Super Sixteen firmware update 1.1 - installation support thread

Post by extralifedisco »

:hyper: :mrgreen: :goo:
Super Sixteen firmware version 1.2 is now available!

Download the .hex here and flash using any AVR programmer:
https://github.com/matthewcieplak/super ... s/tag/1.2a

The latest firmware update for Super Sixteen is now available! Version 1.2 includes these new features:
  • 2-voice paraphonic sequencing using CV as 1v/oct pitch output
  • smoothed CV "LFO" mode
  • use "Reset" input to trigger mutations
  • note audition mode
  • 4 new mutations - chord, chord (quantized), sub osc, and vibrato
A video tutorial on the latest features is below:



Let me know if you have any feedback or questions or need support installing!
thedeany
Learning to Wiggle
Posts: 4
Joined: Fri May 13, 2022 10:05 pm

Re: Super Sixteen firmware update 1.1 - installation support thread

Post by thedeany »

When calibrating V/Oct for the paraphonic mode, how should the oscillators’ pitch be set? I had one osc all the way down and had to raise my other osc about 30% or so to match its pitch roughly before I could calibrate further. Is that expected? I was hoping it would work with them both all the way down so I don’t have to worry about hitting one of the oscillators’ knob and having to find its correct pitch again.

Sorry, I’m relatively new to Eurorack and typical behavior when tuning more than one oscillator!
User avatar
extralifedisco
Common Wiggler
Posts: 128
Joined: Thu Apr 05, 2018 5:03 pm
Location: San Francisco, CA

Re: Super Sixteen firmware update 1.1 - installation support thread

Post by extralifedisco »

thedeany wrote: Wed Jun 01, 2022 11:41 pm When calibrating V/Oct for the paraphonic mode, how should the oscillators’ pitch be set? I had one osc all the way down and had to raise my other osc about 30% or so to match its pitch roughly before I could calibrate further. Is that expected? I was hoping it would work with them both all the way down so I don’t have to worry about hitting one of the oscillators’ knob and having to find its correct pitch again.

Sorry, I’m relatively new to Eurorack and typical behavior when tuning more than one oscillator!
Yeah that's fairly typical for VCOs I think. If you had 2 of the exact same they'd be closer but low freq ranges are highly varies. I leave one of mine (braids) all the way down to avoid knob bumps and the other is tuned up about 15% to match. In theory they both be tuned to concert pitch so C on your sequencer is the same as a C on your keyboard etc.

The calibration range on super sixteen will give you about 2 semitones adjustment in ideal circumstances, so if your required offset is more than that you will have to tune the oscillator.
thedeany
Learning to Wiggle
Posts: 4
Joined: Fri May 13, 2022 10:05 pm

Re: Super Sixteen firmware update 1.1 - installation support thread

Post by thedeany »

Great, thanks. I appreciate the quick reply!
yodog
Learning to Wiggle
Posts: 34
Joined: Tue Jul 28, 2020 4:50 pm

Re: Super Sixteen firmware update 1.1 - installation support thread

Post by yodog »

Hi Matthew,

I'm excited to get the new firmware going, but this whole installation process is very foreign to me. I'm on a Mac and was able to install avrdude using MacPorts, which involved also downloading and installing XCode. I was able to follow your instructions and change my directory in terminal to my desktop where the firmware.hex file is located. Now when copy/pasting I'm seeing "avrdude: ser_open(): can't open device "COM3": No such file or directory". I see in the GitHub description that I may need to change the serial port or programmer type, but I don't quite know how to figure out what I'm supposed to change them to. This is the AVR programmer that I have here, which is different than the one you recommended. Will this one work? It seems to power the module all by itself when plugged into the USB port.

Thanks in advance!
User avatar
extralifedisco
Common Wiggler
Posts: 128
Joined: Thu Apr 05, 2018 5:03 pm
Location: San Francisco, CA

Re: Super Sixteen firmware update 1.1 - installation support thread

Post by extralifedisco »

yodog wrote: Fri Jun 03, 2022 10:07 pm Hi Matthew,

I'm excited to get the new firmware going, but this whole installation process is very foreign to me. I'm on a Mac and was able to install avrdude using MacPorts, which involved also downloading and installing XCode. I was able to follow your instructions and change my directory in terminal to my desktop where the firmware.hex file is located. Now when copy/pasting I'm seeing "avrdude: ser_open(): can't open device "COM3": No such file or directory". I see in the GitHub description that I may need to change the serial port or programmer type, but I don't quite know how to figure out what I'm supposed to change them to. This is the AVR programmer that I have here, which is different than the one you recommended. Will this one work? It seems to power the module all by itself when plugged into the USB port.

Thanks in advance!
Hi yodog,
Excellent, sounds like you're most of the way there! User MarkSinister posted some great info about finding serial port names on mac just a few posts up this thread. You won't have a COM3, COM5 but a longer device ID.
https://www.modwiggler.com/forum/viewto ... 1#p3721061

In general on mac you'll find your peripheral devices listed in /dev/, so from the terminal you'll type "ls /dev" to see everything. Most likely your programmer shows up as a "usb modem" type device, so you can filter the list like so:
ls /dev/tty.usb*
Looking at the amazon listing for your programmer, it does say in the description "works with WINDOWS only" so support might be spotty. Generally this means that the USB driver chip on the board is not a name-brand one and has some 3rd-party manufacturer ID. I don't know how well OS X deals with those. On windows you often have to install a special driver to use off-brand Arduinos or the like, which is made pretty easy by a piece of software called zadig. But if you can plug/unplug your device and see it show up and disappear from the usb device listing in /dev, it should work with AVRdude, so try it and see!
yodog
Learning to Wiggle
Posts: 34
Joined: Tue Jul 28, 2020 4:50 pm

Re: Super Sixteen firmware update 1.1 - installation support thread

Post by yodog »

Thanks for the response. I tried the method you mentioned above, but the device isn't listed in ls /dev so I think I'm just going to have to order that Pololu device. I'll send an update when it arrives.
yodog
Learning to Wiggle
Posts: 34
Joined: Tue Jul 28, 2020 4:50 pm

Re: Super Sixteen firmware update 1.1 - installation support thread

Post by yodog »

yodog wrote: Sun Jun 05, 2022 7:31 pm Thanks for the response. I tried the method you mentioned above, but the device isn't listed in ls /dev so I think I'm just going to have to order that Pololu device. I'll send an update when it arrives.
Thanks so much for the help. The Pololu programmer worked. I was able to find the port number just like you said using ls /dev/tty.usb*. This Pololu page mentions that the correct port number is the lowest number listed. I just copy/pasted MarkSinister's command line and replaced the port number with that number and specified the firmware location. Excited to try out the new features.

Thanks again!
jonnyjupiter
Common Wiggler
Posts: 134
Joined: Tue Aug 11, 2020 3:41 am

Re: Super Sixteen firmware update 1.1 - installation support thread

Post by jonnyjupiter »

Awesome - thanks!
No problems updating this time.
Last time I think I may have blown my chip due to doing the wrong thing with the fuses, but this time with AVRDude already installed, everything went swimmingly.
Looking forward to triggering the mutation modes. Great job!
User avatar
extralifedisco
Common Wiggler
Posts: 128
Joined: Thu Apr 05, 2018 5:03 pm
Location: San Francisco, CA

Re: Super Sixteen firmware update 1.1 - installation support thread

Post by extralifedisco »

A small bugfix release: version 1.2a fixes a bug in 1.2 which transposed the primary pitch output up by 2V in most cases. This resulted in older saved sequences playing back higher pitched than they should. Latest version is here:
https://github.com/matthewcieplak/super ... s/tag/1.2a
jonnyjupiter
Common Wiggler
Posts: 134
Joined: Tue Aug 11, 2020 3:41 am

Re: Super Sixteen firmware update 1.1 - installation support thread

Post by jonnyjupiter »

Thought my Kickall module had gone mad! Good to know.
jonnyjupiter
Common Wiggler
Posts: 134
Joined: Tue Aug 11, 2020 3:41 am

Re: Super Sixteen firmware update 1.1 - installation support thread

Post by jonnyjupiter »

It got stuck in mutation mode so that I had to power cycle to get out e.g. Turing mode just kept on randomising stuff or you couldn't get out of a repeat cycle. If the behaviour happens more regularly I'll let you know. I was doing lots of button combos so I could have freaked the module out.
jonnyjupiter
Common Wiggler
Posts: 134
Joined: Tue Aug 11, 2020 3:41 am

Re: Super Sixteen firmware update 1.1 - installation support thread

Post by jonnyjupiter »

extralifedisco wrote: Sat Jun 11, 2022 12:55 pm A small bugfix release: version 1.2a fixes a bug in 1.2 which transposed the primary pitch output up by 2V in most cases. This resulted in older saved sequences playing back higher pitched than they should. Latest version is here:
https://github.com/matthewcieplak/super ... s/tag/1.2a
Hi Matthew
Is there a precompiled hex version available?
Cheers.
jonnyjupiter
Common Wiggler
Posts: 134
Joined: Tue Aug 11, 2020 3:41 am

Re: Super Sixteen firmware update 1.1 - installation support thread

Post by jonnyjupiter »

Found it. Sorted. Octave back to normal. Many thanks.
User avatar
extralifedisco
Common Wiggler
Posts: 128
Joined: Thu Apr 05, 2018 5:03 pm
Location: San Francisco, CA

Re: Super Sixteen firmware update 1.1 - installation support thread

Post by extralifedisco »

jonnyjupiter wrote: Sun Jun 12, 2022 8:26 am Hi Matthew
Is there a precompiled hex version available?
Cheers.
Good catch, thanks! I've added the .hex file to the release page:
https://github.com/matthewcieplak/super ... s/tag/1.2a
Post Reply

Return to “Extralife Instruments”