There are two ways to update firmware. One is using Flash download tool. This is easier option for most of people, but works only on Windows. Another option is using esptool.py. It will be a bit more advanced, but it should not be hard.
**For Windows user: This video might be helpful to understand. https://www.youtube.com/watch?v=GGn-agl8hng (Japanese) **
- Download and install CP210X driver. https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers
- Download Flash download tool https://www.espressif.com/en/support/download/other-tools
- Connect USB cable to ESP32-LyraT's (the base board) "UART" port. Disconnect all MIDI connections. You still need the USB cable for POWER port, it means two cables need to be connected.
- Open Device Manager and check your USB Serial port name. You can locate it under 'Ports (COM & LPT)', and it should read similarly to 'Silicon Labs CP210x USB to UART Bridge' followed by your port number in brackets.
- Download the firmware from here.
- Press "Boot" button and "RST" button on the ESP32-LyraT board, keep pressing it, then release "RST" button only, then release "Boot" button. Now it should be firmware uploading mode. (There is no UI feedback or indication)
- Run the 'flash_download_tool_x.x.x.exe' file, your version number will be in place of the 'x'.
- Select Developer Mode.
- Select ESP32 DownloadTool.
- Follow the screenshot for the parameters.
- Choose the '…' button to select the firmware file that you downloaded.
- 0x230000 is a very important number, it is the starting address of the firmware. Do NOT put any other numbers in the field.
- Make sure that the checkbox to the left of the firmware file path is ticked and that the whole horizontal row is highlighted green, otherwise whilst you may establish successful sync with the ESP32-LyraT, the firmware will not be flashed.
- Be sure to enter your USB Serial port name into the COM field.
- Press the 'START' button under the status area to flash the firmware.
- Press "RST" button to reboot the board. You should be able to see firmware version in the booting message.
QUN V1.01
**For OS X user: This video might be helpful to understand. https://youtu.be/gtFntynAsYw **
- Download and install CP210X driver. https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers
- Install esptool.py. You may need to install Python as well. There are several ways to install the software, but the most less confusing way is using Homebrew(https://brew.sh/) for OS X. Open the Terminal app, then put the following command.
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
(It asks to input your password)
....
$ brew install esptool
...
-
Connect USB cable to ESP32-LyraT's (base board's) "UART" port. Disconnect all MIDI connections. You still need the USB cable for POWER port, it means two cables need to be connected.
-
Open Terminal and check your USB Serial port name. For example,
/dev/cu.SLAB_USBtoUART
. For Linux, something like/dev/ttyUSB0
. For Windows, something likeCOM4
. You can confirm the port is available by the following command on Mac OS X:
$ ls /dev/cu.*
$ ls /dev/tty.*
-
Download the firmware from here.
-
Press "Boot" button and "RST" button on ESP32-LyraT board, keep pressing it, then release "RST" button only, then release "Boot" button. Now it should be firmware uploading mode. (There is no UI feedback or indication)
-
Execute the following command. The number 0x230000 is very important. Don't put any other number. Otherwise it will break other important data such as saved preset or license information.
esptool.py --port /dev/cu.SLAB_USBtoUART write_flash 0x230000 qun_v101.bin
- If you stall at
Connecting......____
, then the board is not in firmware uploading mode. - Press "RST" button to reboot the board. You should be able to see firmware version in the booting message.
QUN V1.01
Here is the steps to install factory presets.
- Update the firmware to the latest (2.10 and later).
- Download qun_factory_preset.bin and install.
- Boot the device. "Imported" message will be shown.
- Reinstall the latest firmware (v2.10 and later)
To switch to factory preset banks, in the load1 to 4 mode, press "Rec" on the base board.
- SAW wave's PWM disabled to improve the performance
- Granular's width (starting point of the playback) can be controlled more precisely. PWM response is more organic with Granular.
- Fix bugs with Cut/Paste/Delete looper track
- Change operation for Cut/Paste and changing looper tracks. Please check the manual for the detail.
- Attack curve is changed to linear.
- Looper performance improved. Looper mixout menu in mixer was eliminated due to performance issue.
- Bug fix of Envelope Generator modulation, introduced v2.32
- Bug fix of MIDI message receiving introduced at v2.32
- Improved delay algorithm. It has much more organic response. Very short delay time can be used making sound fatter.
- Slightly better MIDI latency
- EG behavior change, the curve is closer to analog envelope generator, it's suitable for filter modulation.
- Sound quality improved from 44.1kHz to 48kHz. (Floating point is used for internal calculation). This might cause some behavior changes.
- Send and Return function added. When the mode is ON, signal before Envelope generator from OSC1 can be captured through Right output, and will be returned back to AUX R. Returned signal will be processed as OSC1.
- Fixed some issues with MIDI learning.
- Granular logic was improved, more snappy response, more possibilty to get usable result. It can be used as kind of wavetable synth when you set very short length with one grain.
- A bug fix of Pulth Width mod behavior modulated by freq1/freq2.
- Note on for note zero will be ignored (Keystep Pro sends the message for some reason)
- A bug fix : System crash with precise value adjustment.
- Catch value indicator: Dial value adjustment is disable when you do precise value adjustment by "Rec" and "Mode" button. However, if you turn the dial, "*" character will be indicated when the current value matches the knob value. It can be used as "Catch" mode to prevent value jumping.
- Some changes to configure Duo mode easier. Now MIX and OSC2 Env sel are ignored in Duo mode, those parameters are forcefully set properly for Duo Mode to avoid configuration erros. OSC1 parameters can be copied to OSC2 by long pressing button 7 in Poly/Duo mode configuration.
- MIDI learning will learn CC# and MIDI channel. It means it can learn CC# even the MIDI channel is different.
- 9th and 10th Submode such as FM Conf can be selected by "Rec" or "Mode" buttons on the base board.
- Master pan removed to improve stability
- Sound engine optimizations, including better filter response.
- Keysync (following MIDI note pitch) paramater resumed. Modulation wheel mode was deleted instead.
- Sometimes fine adjustment is hard. Now you can use "Rec" and "Mode" button to change the value by 1. To do this, keep pressing one of 8 buttons and instead of rotating dial, press "Rec" for decrease, "Mode" for increase.
- Pattern shuffle is added to sequencer. You can shuffle sequencer's playing order.
- Looper becomes Multitrack (3 tracks) + Copy & Paste buffer
- Mixer sub-mode is added. Output can be panned (stereo).
- Looper signal can be routed to AUX L
- Fixed arpeggiator logic
- Keysync was removed
- Sound engine optimizations
- Wavefolding is added (VCF/button 7), OSC1 Bypass was removed from UI.
- Mode indication becomes icon
- Seq tune : MIDI keyboard input result is more predictable when key is not C.
- Bug fix: Possible system crush when saving / loading tone.
- Second filter is added. It works when 2 pole filter is selected.
- Swing (shuffle) with the sequencer.
- Sending 14-bit MIDI internally for VCF cutoff and OSC tunes for better transition (If you have 14-bit MIDI controller it can be done by external controller as well)
- More smooth dial transition for all parameters
- You can name preset when saving.
- Indication improvements
- Slight change of VCF range.
- Fix very low frequency issue with LFO.
- Help message added with sticky_mode button. When you press MODE button on the dauther board, sub-mode list will be shown.
- Behavior change: Now sequencer data is paired with Tone preset.
- Sequencer data save button (In Seq bank menu) was removed. 8 sequencer banks are available.
- Sequencer data will be saved when preset is saved (Set:Save Bnk1-4).
- Sequencer data will be loaded when preset is loaded (Set:Load Bnk1-4).
- By this change, previous saved sequencer data will be erased.
- Sequencer count can go more than 8. When it's set more than 8, next bank will be played. (If you set it as 16 in Bank 1, then bank 1 and bank 2 will be connected)
- Sequencer bank data can be cleared(Initialized) in Seq bank menu. In Seq bank mode, press button + turn dial, it goes to COPY mode. Select "Clear" to clear the bank.
- Sequencer can start / stop from Seq bank sub mode. Play or stop by long-pressing any button of button 1 to 8.
- Sound engine won't be turned off with Granular sub-mode.
- Fixed some issues with touch buttons
- Fixed the dial linearity issue
- Fixed : 4 pole non-linear issue
- Fixed : Improved VCF bass response.
- Fix the typo in button adjustment mode.
- Some code for battery operation. Battery opertaion is still testing. The documentation will be updated when the test is finished.
- UI code was rewritten to support battery operation. It should work for most of devices, but if you experience button recognition issue, please perform Button Adjustment widzard (Check the manual for detail). If you keep having trouble, please contact [email protected]
- Suspend: The device goes suspend mode by long pressing (4 sec) Mode button on LyraT board. Press RST to resume.
- BLE MIDI on/off : BLE MIDI can be turn off by long pressing "Play" button. The change will not be applied until rebooting. It will save power consumption with battery operation.
- Bug fix: Bug fix with Running status MIDI handling. If you are experiencing MIDI input issue with MIDI clock, then it could fix the issue.
- New feature: Now you can step record Sequencer's tune by MIDI keyboard when you are in Seq tune mode. While you are pressing step index button 1 to 8, play note from MIDI keyboard. The note will be recorded for the step.
- Bug fix : Some bug fixes related sequencer. (Scale quantize, key shifting, BPM and others)
- Behavior change: In the sequencer mode, when note width(length) is long enough to touch next note, then it will be slurs or ties. EG will not be retriggered.
- Bug fix: Audio record save area was overlapped.
- Time shift algorithm slightly improved.
- Bug fix: Temporary MIDI override bug fix
-
Bug fix: Skipping SysEx message
-
Bug fix: Some bugs in granular
- Behavior change : Envelope generator parameter change will affect immediately. (e.g. Decay change will affect current playing note immediately. Previously the change was postponed until next trigger)
- Fixed MIDI running status decoding issue
- Improved time stretching quality
- Small bug fixes
It's beta. The specification in the new feature could be changed. It may have bugs.
- New feature : Temporary MIDI CC override. You can assign any MIDI CC to any parameter easily for temporary convenient control.
- New feature : Granular synthesis engine.
- Behavior change: Now MIDI channel 1 message is treated as global channel message.
- Line in volume fix
- Now the synth always receives MIDI ch 1 (take ch1 as global channel)
- Bug fix: AUX L channel fix (AUX L was AUX R)
- Bug fix: AUX channel was swapped.
- Buf fix: SYNC IN was not working properly.
- New feature: You can change sequencer's bank by pressing "Rec" and "Mode" button when you are in Play mode.
- New feature: You can copy sequencer bank in Sequencer Bank sub mode. See manual for detail.
- Bug fix: Input volume fix with line through mode and polyphonic mode.
- Bug fix: Some UI malfunctions caused by v1.25 fix. Please update if you use v1.25
- Fixed a bug : System crashes when Effect type values set to the max(127)
- Fixed MIDI receiving channel bug. (Dial cannot change the value when receiving MIDI channel is more than 1)
- ADC button logic rollback. Update is not necessary from v1.22 unless you have issues with button recognition.
- Improved stability
- Small performance improvement to reduce possible glitch in extreme setting
- Improved stability
- Non-linear filter character was changed slightly.
- Improved pulse width transition
- Improved filter transition response.
- ADC button logic update, affected only for specific ESP32-LyraT boards which have unusual value.
- Improved stability