The files below are for use solely with various Tortuga Audio preamp products that use the V2 or V2.1 preamp controller boards.
Use the appropriate firmware version for your model. If you select the wrong version for your preamp no harm will come to your unit. However, it may not work properly and will you will need to upload the correct version and try again.
What is firmware?
All of Tortuga Audio’s preamp’s are controlled by a software driven embedded microcontroller similar to those used in so many commercial, industrial and consumer products today. Software running on the microcontrollers is often referred to as “firmware.
Firmware is a class of computer software that controls a specific hardware device and is typically stored in that devices’s read only memory. By its nature firmware is neither easy to erase nor is it easy to replace or update especially as compared to software applications that run on a personal computer. Firmware usually runs directly on a microcontroller’s “bare metal” without any intervening operating system.
Why update your firmware?
The simple reality with software is there are always bugs that need fixing and new features and capabilities that keep getting added. Most of the time the casual owner of equipment can ignore all that. But sometimes the bug is significant and once the fix is in the only way to get that fix into your machine is to do a firmware update.
Which firmware version do I currently have?
How do you know what firmware version you have? The 3 digit firmware version will display briefly in the right display ~5 seconds after power is applied to your V2 preamp.
About USB cables – important!
Firmware updating requires a USB cable connection between your PC and your V2/V2.1 preamp device. The #1 problem that people encounter when trying to update their firmware is the inability to make a connection. In most cases this is caused by their USB cable.
Most of us have several USB cables laying around because we have cell/smartphones and other devices that use USB cables for charging. Unfortunately, many of those USB cables are for charging only and lack the ability to transmit data. “Charging only” USB cables will not work with the bootloader and firmware update system! You need to use a proper USB “data” cable that has the conductors for the D+ and D- USB data signals.
Finished preamps | type A male USB both ends
All finished Tortuga preamps require a USB cable with type A male connectors on both ends. The cable is supplied with all finished Tortuga Audio preamps. Connecting the cable does nothing by itself. Your PC should not react.
DIY boards | with micro-B USB socket
If you have an older V2 LDR3x DIY board with a micro-B socket board soldered to the J8 header on the board you’ll need a cable with a male A end and male micro-B USB end. An LED light on the micro USB connector breakout board on the V2 will light up once it’s connected to your PC.
DIY boards | with 5 pin USB J8 header
If you are using a Tortuga USB connector cable with the female end connected to the J8 header make sure you have the female end connected such that the red wire is next to microcontroller end of J8 header and not the end with the white dot.
Firmware update procedure overview
Updating your preamp’s firmware requires the use of a bootloader program running on a PC together with the latest firmware “hex” file. You can download both the bootloader application and the firmware file from our website.
To execute the actual upload process you:
- Disconnect power from your preamp
- Download & start the bootloader program (PC only)
- Download the new firmware file for your preamp product
- Establish USB link from your PC to your V2 preamp.
- Choose your updated firmware file
- Upload the updated firmware into your preamp.
The rest of this document elaborates on the firmware updating process described above.
Step 1 | Disconnect power from your preamp
Turn off your preamp and disconnect it from your power source.
It’s not enough that your preamp is turned off. IT MUST BE DISCONNCECTED FROM POWER! This is key and often confuses people so read carefully. The Bootloader is only able to connect to your preamp during the 5 second period immediately after power is applied. If the connection hasn’t been made during that 5 second start-up period you have to remove power and try again.
Step 2 | Download & start the bootloader program (PC only)
The (mikro)Bootloader is a small PC based software application that you use to establish USB communications with, and upload new firmware into, the V2 preamp.
Unfortunately the Bootloader is a PC/Windows only application. There’s no MAC version currently available. We are not anti-MAC, but the supplier of our programming tools stubbornly refuses to provide a MAC version of the Bootloader program while providing no reasons for not doing so.
The Bootloader program is a simple executable file (mikroBootloaderUSBHID.exe). Unlike conventional software, it does not have to be installed/registered into your PC. The program file simply has to reside somewhere on your PC. We suggest you download it to your PC desktop. The first time your run this program (by double clicking on it) it will create a small text file named “settings.ini” in the same directory. No special drivers are needed. It doesn’t install or change anything in your PC. If your PC has a USB port, you should be good to go. We know the Bootloader works with Windows 7 through 11. It may also work with older versions of Windows but we haven’t tested that. To remove the Bootloader program from your PC simply erase both the mikroBootloaderUSBHID.exe and settings.ini files from whatever directory you put them in.
You only need to download the bootloader application one time since it rarely if ever changes. Please find the download link below.
When you’ve started the bootloader program on your PC, the program will appear something like image below and nothing else will happen yet.
Step 3 | Download the firmware file
The firmware file is a “something.hex” file. It’s a plain text file wherein the code is formatted using a specific hexadecimal protocol. It’s perfectly safe to download it. You can view it with any text editor or word processor if you’re curious what it looks like “under the hood”.
When you try to download the firmware file it may show up as lines of text in your browser. In that case right-click on that browser page and do a “save as” to download the actual file to your computer.
There are 4 versions of the V2/V2.1 firmware file as listed below. Each version is specific to a product class. Please be sure you download the right file for your specific V2 product.
- DIY V2 board (not associated with any specific finished Tortuga Audio V2/V2.1 product)
- The 3-input LDR.V2 and any LDRx model with 3 inputs
- The 4-input LDRxB and any LDRx model with 4 inputs
- The 1-input LDR1.V2 and LDR1B.V2 preamps
A separate download link is provided below for each of these 4 V2 variants.
DIY V2 board
Download the following version for use in the DIY version of the V2/V2.1 board.
LDR3.V2 & 3-input LDRx preamps
Download the following version for use in the LDR3.V2 model and the 3-input LDRx model preamps.
LDRxB and 4-input LDRx preamps
Download the following version for use in the LDRxB model and the 4-input LDRx model preamps.
LDR1.V2 and LDR1B.V2 preamps
Download the following version for use in the single input LDR1.V2 and LDR1B.V2 preamps.
Step 4 | Establish the USB link to the preamp
At this point your V2 board should be powered down (not just turned off, but actually disconnected from any power source), and the V2 board should be connected to your PC via a USB cable. Keep in mind that connecting the USB cable while the V2 is powered down will result in no change to the Bootloader program already running on your PC.
Very important concept (read carefully): The only time the Bootloader program (already running on your PC) can connect with your V2 board is during the 5 second period after power is applied to the V2 board. If a connection is not achieved within this 5 second window, you have to remove power from the V2 board and try again.
Here is the specific sequence of events for establishing a USB link between your PC and the Bootloader program already running on your PC.
- Apply power to your preamp (but don’t attempt to turn it on in any way)
- The little USB symbol to the right of “1 Wait for USB link” should turn red
- At this point you have 5 seconds to establish the USB link by pressing the “2 Connect” button on the Bootloader program running on your PC
- The Device window should then display “LR3x.V2 Board” or “LDR.V25” or similar and the MCU Type window should display “PIC18” or “STM32F” or similar
- The History Window should now say “Waiting MCU response…Connected”
If you run out of time, don’t panic, just remove power again, wait a few seconds and then reapply power to the preamp which restarts the 5 second Bootloader timer.
Step 5 | Choose the firmware (.hex) file
Select your firmware file by pressing the “Browse for Hex” button next to “3 Choose HEX file”. This will open a file dialog box. Find your downloaded .hex file stored on your PC and click the “Open” button. At this point the firmware is ready to be uploaded into the preamp board.
Step 6 | Upload the firmware to your preamp
Press the “Begin uploading” button next to “4 Start bootloader” to upload the firmware into the preamp. The previous firmware build will first be erased and then the updated software build will be written to the preamp’s microcontroller chip. This erase/write operation is very fast and should take less than 5 seconds to complete.
You should get a “Success” message. Click the “OK” button to close the message box. Note the new messages in the History Window. Upon a successful write, the Bootloader program will automatically disconnect from preamp and the preamp will reboot which takes 5 seconds.
You are now done and can close the Bootloader program, disconnect the USB cable, and enjoy your updated preamp.
Firmware change log
The following table lists all changes to the V2/V2.1 firmware since initial release.
|2,2,8 - 8.23.16
|Not a critical update. Update is relevant only if you wish to be able to use the Encoder while the display timeout feature is enabled. The workaround is just use the remote.
* Fix: Encoder control inputs failed to wake up the display after it timed out and turned off.
|2.2.7 - 8.16.16
|This update optimizes the operation of the manual encoder which hasn't received much attention for quite some time now. Volume control via the encoder is now smoother and more granular with each volume step more clearly corresponding to the encoder's position detents (stopping points). It also adds back the missing encoder balance adjust feature which somehow got left out when we released version 2.2.0 firmware.
You might have noticed we skipped version 2.2.6. We implemented phase reversal in version 2.2.6 but this applies only to our LDRxB balanced preamp model and requires some special hardware modifications to the LDRxB for phase reversal to work. Please contact us if you're interested in the LDRxB and balanced preamp phase reversal.
Importance? For most users this is not a critical update. If you notice anything amiss while using your encoder for either volume control or input changing, this update should resolve the problem.
* Change: Made encoder turning interrupt driven rather than poling to improve control response
* Fix: Restored missing balance adjust control functions to Encoder
* Tweak: Improved encoder decode logic for smoother stepping synced with detents
* Tweak: Reduced encoder input change threshold from 5 to 2 steps when using encoder to change inputs
|2.2.5 - 6.16.16
|This update corrects one minor bug (balanced preamps only) and adds 2 new features. It's not a critical update.
* New: Fast Input Switching - When in Input adjust mode user now has option to do use fast switching between inputs by using the Left/Right buttons on the remote rather than the normal Raise/Lower following by Enter. When using the Left/Right buttons the inputs transition within less than a second without any muting/unmuting. When using fast switching the volume will immediately go the volume level last associated with the selected input.
* New: Display Timeout - When in Display adjust mode user can now optionally set the time (in seconds) before display turns off after last user input. Adjustment is between 1 and 99 seconds using the Left/Right remote button. Setting timeout to zero (0) disables the timeout feature. After updating you should check this setting since it may not be zero (off) by default.
* Fix: The new press/hold Menu button turn-off feature introduced in version 2.2.3 was not working properly for balanced units.
|2.2.4 - 6.10.16
|This version was shipped in only 1 preamp and included the "Fix" referenced in version 2.2.5 above.
|2.2.3 - 5.30.16
|This update added back some features that didn't make the jump from 2.1 to 2.2. Most importantly it brought back muting as a stand alone feature.
* Change: When on, pressing menu button mutes/unmutes the unit, while holding it down turns unit off
* Change: Added blinking display for when unit muted
* Change: Added Panel LED flash to acknowledge when user switches control modes (for DIY users with no displays)
* Fix: Corrected a bug which prevented channel balance from working the same in both directions
|2.2.2 - 5.24.16
|This was an an internal revision and only relevant to initial commissioning of new boards/preamps
* Fix: Board ID init was defaulting to V2 instead of V21 on new blank boards
|2.2.1 - 5.22.15
|* Fix: Addressed numerous bugs with the initial 2.2.0 release
* New: Firmware will take ~15 seconds to initialize the first time user upgrades to any 2.2.x version from any prior 2.1.x version. This is a one-time only process.
Note: The one-time initialization process will require you to pair your remote with your preamp
|2.2.0 - 5.16.15
| Initial upgrade from 2.1 series to 2.2.
* Change: Major restructuring of Apple Remote control scheme based on user input
* New: Auto-repeat providing ease of ramping volume up or down with a single press of the remote
* Change: Balance adjustment is now the primary function of the left/right buttons along with volume control via raise/lower buttons
* Change: Mute(play) button has been repurposed as a Control Mode button with the following control modes:
* Input Adjust
* Impedance Adjust
* Display Brightness Adjust
* Max Volume at Input Change Adjust
* Change: The Power On/Off button is now the Power On/Off-Mute button (off or mute being essentially the same thing functionally)
* Tweak: Improved control integration between preamp boards for balanced audio configurations
* Tweak: Enhanced stability through numerous improvements in code
|The following firmware changes apply only to the V2.1 version of the LDR3x board and related products released and shipped on or after Jan 1, 2015 up until May 15, 2016. Please refer to Version 2.2 firmware for all Tortuga Audio preamps shipped starting 5.15.16.
|2.1.8 - 7.17.15
|* Fix: Corrected problem where impedance settings above 65k were being changed after being saved. This problem was preventing users from establishing impedance levels above 65k.
|2.1.7 - 2.25.15
|This revision applies only to balanced (dual Master/Slave board) preamp configurations and can be ignored if you have an RCA/single-end preamp
* Fix: Slave was not saving impedance index after Master changed it
* Fix: Slave Auto-Cal was not reliably shutting off when Master Auto-Cal manually terminated
|2.1.6 - 2.21.15
|* Fix: Added missing master-to-slave commands for adjustable impedance
* Tweak: Minor improvements to code related to switching inputs (to save program space)
* Change: Display now shows both left/right bias during balance adjust
* Deleted: Removed flashing of display on startup and shutdown (to save program space)
|2.1.5 - 2.9.15
|* New: Added adaptive closure error relaxation to auto-cal to prevent hanging
|2.1.4 - 2.7.15
|* Fix - Corrected display of variable impedance info
* Fix - Corrected left over debug code that prevented balanced/dual mono to work properly
|2.1.3 - (no date)
|This version included with first wave of V2.1 boards and LDR3.V2 & V2k preamps
|2.1.1 and 2.1.2
|Interim internal versions - never released or shipped
|2.1.0 - 1.26.15
|First firmware release with the new V2.1 board
* Change: Extensive overhaul of auto-cal code including decrease of closure error from 1% to 0.2%
* New: Added pre-calibration of board with precision resistors
* New: Added adjustable input impedance - 5 possible settings
* New: Added new info displayed upon power-up and via remote when off
2.x.y - 3 digit firmware version
x - current impedance setting
yy - current impedance level (in thousands) at current impedance setting
yy - internal controller hardware version (20 - V2, 21 - V2.1)
* New: Added code unique to the V2.1 controller hardware
|The following firmware updates relate solely to the V2 version of the preamp controller board and related preamp products shipped prior to January 1, 2015.
|1.2.0 - 9.15.14
|Please Note: All LDRx & LDRxB Passive Preamp models (released 9.1.14) were shipped with version 1.2.0 or later firmware.
Change: Adapted for new IO Board used with the LDRx & LDRxB including 4th input
Change: Going forward there will be different versions of firmware for LDR3x.V2 vs. the LDRx/LDRxB.
Tweaks: Miscl changes to improve stability
|1.1.9 - 9.1.14
|* Fix: Corrected left/right fixed bias logic so that V2 builds that did not have any fixed bias defined when built and commissioned will now automatically set fixed bias to zero. Lack of fixed bias definition was causing units to be non-responsive to volume commands after software updates.
* Change: When power is applied, unit will now display 5 numbers. The first 3 digits are the software version. The second 2 digits are the right and left fixed bias settings respectively. For most units the fixed bias values will both be zero.
|1.1.8 - 8.18.14
|* Fix: Removed unused timer2 code from interrupt handling routine. Was possibly interfering with remote.
* Change: Changed balance adjust limit from +/-10 to +/-9 to work within limitations of display
* Fix: Removed adding +1 to left bias upon entering Bal Adjust Mode - bug from 1.1.7
|1.1.7 - 8.15.14
|* Tweak: Cleaned up how left/right channel balance adjustment was handled
|1.1.6 - 8.12.14
|* Fix: Corrected display info during AutoCal
* Tweak: Display now shows all 0's as soon as unit is turned on - removed prior delay.
|1.1.5 - 8.5.14
|This update only relevant to those using V2's in balanced audio configuration.
* Change: Improved robustness of Master-to-Slave serial communicate of volume data in balanced systems.
* Fix: Removed ability of Slave to sometimes ramp volume back up to set point by itself after receiving an Input Change command from the Master.
|1.1.4 - 7.29.14
|* New: Displays 3 digit software build number when power is applied. Each digit shown individually.
* New: Added ability to assign a fixed channel bias to each board during initial build to ensure balance is centered. Some V2 boards exhibit a slight left or right channel bias inherent to the collective hardware bias that is not due to calibration of the LDRs. This channel bias is fixed, stored on the board (not the controller chip) and cannot be accessed or changed by the user.
* Tweak: Minors mods to left/right channel info displays
|1.1.3 - 7.19.14
|* Fix: Slave board was not receiving AutoCal start/stop or Next (skip) command signals. This fix is only relevant to those using V2's in balanced configuration. This was a bug introduced with update 1.1.0.
|1.1.2 - 7.15.14
|This update is primarily relevant to those who only use an Encoder and not the Apple Remote to control the V2
* New: Can now toggle AutoCal on/off with Encoder via quarter/half turn to right
New: Status LED now flashes briefly every 2-3 seconds when AutoCal is active
New: Left display module in dual display system now shows which LDR is in AutoCal (1-4)
|1.1.1 - 7.7.14
|* Fix: Removed blinking of numerical display when changing volume. Status LED still blinks as before. Bug was introduced in 1.1.0.
|1.1.0 - 7.6.14
|* Change: With the release of Rev 1.1.0, we have made the following changes to how auto calibration is run:
* AutoCal now runs only when manually initiated by the user while the V2 is turned off but still connected to power. We do recommend that the V2 be powered but turned off when not in use.
* AutoCal is started by pressing the Enter/Center button on the remote which disconnects the V2 from the audio input and output.
* Once AutoCal is initiated, it runs through one full cycle of LDR calibration in the following LDR sequence: right-series, right-shunt, left-series, left-shunt.
* Upon completing a full cycle, AutoCal shuts off and the V2 is reconnected to the audio input and output.
* While AutoCal is running it can be shut off prior to completing a full calibration cycle by pressing the Enter/Center button again on the remote. The V2 may not react immediately to this AutoCal shut down command and it may have to be repeated. We recommend you not interrupt the V2 during a calibration cycle once initiated. A full calibration cycle typically takes around 10 minutes.
* While AutoCal is running, you can cause AutoCal to interrupt calibration on the current LDR and switch to the next LDR in the cycle by pressing the Right button on the remote. If you switch through all 4 LDRs then AutoCal will shut down thinking its completed a full calibration cycle. This feature is provided as a diagnostic tool only. We highly recommend that you not interrupt AutoCal while its running.
* While AutoCal is running, the V2 will display each volume step (1-70) in the process for each LDR. Thus it will go through 70 calibration steps four times in a row over the course of a full calibration cycle.
* When AutoCal is complete or shut down deliberately, the display will also shut off.
* We recommend you turn your amp off before initiating an AutoCal cycle. Physically disconnecting your cables from the V2 isn't necessary.
* We recommend you run AutoCal monthly but this is simply a recommendation and not a requirement.
|1.0.9 - 6.30.14
|* Fix: This update corrects the IR Remote ID recognition and pairing so that the user can correctly: a) Pair the V2 with either or both the Apple Remote and/or the legacy Tortuga Audio Remote; and b) Pair the V2 with only the Apple Remote or only the Tortuga Audio Remote, and c) Change the ID of the Apple Remote and re-pair (teach) the V2 the new Apple Remote ID. Please note the following specifics:
Going forward, uploading this or any subsequent software build will require the V2 to first pair itself with your remote. This will happen automatically the first time you use either your Apple Remote or your legacy Tortuga Audio remote after uploading new software. However, with the Apple Remote, we recommend you first use the Power On/Off (Menu) button to trigger the pairing. Using the Enter/Center key may not be sufficient by itself. You can confirm that the pairing worked by turning the V2 on and off with your remote.
Once you've initially paired the V2 with your Apple Remote after a software build, you can also pair it with your legacy Tortuga Remote but this second pairing will require that the Encoder Switch be pressed and held in for 20+ seconds and then released to place the V2 into Remote Pairing Mode. The Status LED and/or Display Module should blink rapidly indicating it's in Remote Pairing Mode. Pressing any key on the second remote will then complete the process. At that point the V2 should respond to either remote. The same procedure is true if you initially paired the V2 with your Tortuga Remote and also want to add the Apple Remote.
If you find that the Apple Remote you're using with the V2 is conflicting with some other Apple product (TV, MAC etc. ), you can change the ID of the Apple Remote by holding down both the Menu and Center buttons simultaneously for 5+ seconds. At that point the V2 will no longer respond to your Apple Remote because it has a new ID code. To teach V2 the new ID code, you'll then have to press and hold the V2 Encoder Switch for 20+ seconds to place the V2 into Remote Pairing Mode. Press any button on the Apple Remote (other than the Enter/Center button) and the V2 should now respond to your Apple Remote with its new ID code.
Please note that the legacy Tortuga Audio Remote has a fixed ID that can't be changed.
|1.0.8 - 6.26.14
|* Fix: Removed a bug that, when the unit was turned off, caused the Status LED to light up when the Left or Right (Input Change) button was pressed on the Apple Remote.
* New: Pressing the Center/Enter button on the Apple Remote will start/stop (toggle) AutoCal. If it's in between cycles, an AutoCal cycle will commence. Likewise, if AutoCal is already running, it will shut off AutoCal. Please note that this does not enable/disable AutoCal generally, it just toggles a single AutoCal cycle. This was a hidden feature to aide in testing/diagnostics but we decided to release and document it.
|1.0.7 - 6.20.14
|Notice: All units shipped on or after 6.20.14 now include rev 1.0.7 or higher and also include Rev 2 or higher of the bootloader. Rev 2 of the bootloader keeps audio disconnected during the 5 second bootload period after power is applied to the board. This avoids possible relay buzz and possible random audio output when power is applied to the V2. Any amp connected to the V2 should be powered down (or muted) prior to the V2 being connected to power.
* Change (AutoCal): Unit now wait 5 minutes after being turned off before starting AutoCal cycle and also waits 5 minutes after completing an AutoCal cycle before starting the next cycle.
Change: The minimum volume setting upon turning on the unit changed from 20 to 1 so that volume will now resume wherever it was previously for a given input prior to input change or unit being turned off but only between the limits of step 1 and a max of step 35.
Fix: Corrected timer used for enabling display brightness adjustment. Deliberately pressing Enter twice in a row should put the unit into "brightness adjust mode". If the unit doesn't change modes, suggest you slow down the speed of pressing Enter twice.
Tweak: Added 1 second delay after turning off the 12V TriggerOut before proceeding with turning off the V2. Give triggered amp more time to shut off.
Tweak: Several other miscl. edits intended to ensure audio output is minimized when unit is turned off.
|1.0.6 - 6.9.14
|* Fix: added automatic unmuting of volume when Enter button pressed after changing input (bug introduced in prior build)
* Fix: limited starting volume to step 35 (of 70) when changing input (volume level associated with each input is saved when input is changed)
|1.0.5 - 6.9.14
|* Fix: removed display of data on display module each time power applied to V2 board - problem introduced in build 1.0.4
|1.0.4 - 6.8.14
|* Fix: corrected slow blinking status light when unit is off that was introduced in build 1.0.3
* Fix: corrected current input being left on when unit is off that was introduced in build 1.0.3
|1.0.3 - 6.2.14
|* New: added master/slave communication for balanced audio including hardware/timer interrupt driven UART send/receive
* Fix: removed 1.0.2 auto-cal tweak - had stopping auto-cal cycling
* Tweak: removed numerous unused variables & and related code
Tweak: consolidated all flag initialization into single procedure
Tweak: numerous other post development/release clean-up & housekeeping mods
|1.0.2 - 5.29.14
|* Tweak: (for diagnostics only) added ability to switch to next LDR while in auto-cal using left or right button when unit is off
* Tweak: forced initialization of step value 1 to prior stored value when switching to next LDRs during auto-cal
* Fix: unit now only responds to remote input when unit is on (if statement had been cc'd out)
Tweak: turned off debug info being sent to UART
|1.0.1 - 5.17.14
|* Change: Input impedance raised from 10k to 20k
* Fix: Input relays remain off until after Enter command confirms new input choice
* Tweak: changed sequence of items related to unit turn on/off procedures
|1.0.0 - 5.15.14
|* Baseline V2 software build | only 1 unit shipped with this version