9/3/2021

How to Update the Puffin's Firmware to V1.30

Using the supplied allen key and USB cable, the Puffin can be updated via an internal micro USB header with either a Windows, macOS, or Linux system. You can see the currently installed firmware version on the splash screen when the Puffin is turned on.

Note that updating your firmware may erase old settings (typically major revs 1.X, but not 1.XX) saved in the Puffin's memory, so write down any current settings and cartridge hours that may help you set up after flashing the new firmware.


Connect to any computer:

  • Download and UNZIP the latest Puffin firmware (check your serial number under unit, eg SN 000933 is serial number 933):
         Firmware V1.30 for serial number 1019 and earlier: V130_OLD.bin
              OR     
         Firmware V1.30 for serial number 1020 and later (or clock upgraded older units): V130_NEW.bin

  • Once unzipped, you'll see a BIN file called V130_OLD.bin or V130_NEW.bin. We'll be copying this to the Puffin.
  • Unscrew the four corner screws on the Puffin top plate. This requires a 5/64" Hex Driver or Allen Wrench (supplied with Puffin).
  • Connect USB cable (supplied with Puffin) to your computer. Connect USB-Micro connector to Puffin board - connector has sticker marked L432KC. No power is needed as it is powered via USB. Once connected to your computer the Puffin micro will appear as an external drive (like a thumb drive) named "NODE_L432KC". It will contain two files, DETAILS.TXT and MBED.HTM - just ignore these files. Note: if you cannot connect to your computer, you are likely using a USB cable meant to provide power only (and is missing the data wires), so dig out the supplied cable or try another if having issues.
  • Go ahead and copy the unzipped BIN file (not the zip!) to the NODE_L432KC drive.
  • The Puffin will immediately start programming itself and the green LED will flash for about six seconds. After the green light stops flashing, reset (unplug and then reconnect) the USB connection at your computer (ignore macOS warnings) press the On/Off button to turn on the Puffin to verify it has been upgraded (shows firmware rev on splash screen at startup). After verifying, unplug the USB and reassemble the Puffin. You are finished.



  • Troubleshooting:

  • If the NODE_L432KC drive doesn't appear when you connect the USB cable, try another USB cable.

  • If the green LED doesn't flash when you drag the bin file to the NODE_L432KC drive, you may have an old bootloader (early serial Puffins).

    1. If you haven't done this from previous upgrades, then download and unzip puffin.zip from the website: http://www.parksaudiollc.com/puffin.zip
    2. - otherwise just run it if you already have it on your PC and skip to step #3.

    3. Then unzip puffin.zip and run "STM32 ST-LINK Utility v4.2.0 setup". This installs the programming software in your program list and also loads the USB driver.

    4. Connect the Puffin and click (on the menu bar) ST-LINK -> Firmware Upgrade. Then click 'Device Connect' and then 'Yes>>>>'

    5. Then disconnect after it is finished. You'll be able to do the easy BIN method going forward (i.e. your bootloader is up-to-date).

  • Alternatively, you can use the old hex programming method: http://www.parksaudiollc.com/firmwareold.html







    Rev history:

    V1.00
    5/16/2018
    Initial release. SP

    V1.01
    6/8/2018
    Added flash saves at Set?>OFF, Set?>LOAD, Set?>SAVE, and main menu Gain change. Moved phase polarity to pre-DSP so we can get 2H cancellation. SP

    V1.02
    6/15/2018
    Fixed Load setting bug where 200 ohms setting could be overwritten to 47k. SP

    V1.03
    8/25/2018
    Screen refresh timer was active during standby sleep. Would cause faint flicker on LCD if Puffin turned off with main menu set to Set? or Signal Levels. SP 

    V1.04
    2/11/2019
    Added immunity to static electricity discharge that could put unit into Standby state. SP

    V1.10
    8/18/2019
    Changes:
    -Added adjustable RIAA eq function
    -Added adaptive Bass Boost
    -Added Pink Noise for Room EQ
    -Added Null to Phase controls
    -DSP code re-written for speed in assembly SP

    V1.11
    8/29/2019
    Fixed Tube 2H function. Right channel had bug which could add extra non-2nd harmonic distortion. SP

    V1.13
    4/18/2020
    Saved FPU registers to stack during DSP interrupt that could have caused "no sound from Puffin" when adjusting menu.
    Adjusted Tube 2H and Tape 3H constants for much less distortion. SP

    V1.20
    5/26/2020
    Changes:
    -Added Magic pop and click minimizer
    -Added Grade which is a record grading function
    -Added DeRumble
    -Added RoomEQ
    -Added new clip alerts with asterisk * at
    Volume (output/DAC clip) & Gain (input/ADC clip)
    -Changed TF to fx: think Effects or f(x)
    -Lowered 2H Tube distortion (7%THD at full signal)
    -Fixed 3H Tape distortion (3.5%THD at full signal)
    -Removed 2H&3H from fx
    -Added Out function & merged with SPDIF branch
    but Out:SPDIF is disabled on non-modded Puffins
    -Fixed FPU memory stack bug
    -General bug fixes and tweaks
    -Added many new Lo filters SP

    V1.21
    8/3/2020
    Changes:
    Bug fix for digital output SPDIF (analog users unaffected). Memory alignment issue dropped 25% of Magic corrections. SP

    V1.30
    6/25/2021
    Changes:
    -Added cartridge timer that logs hrs:min:sec of your cart's actual playing time to 10000 hours (saved to memory when: 1) turned off with standby, or 2) Set? is selected)
    -Added Easy menu functionality to just have your most used functions on a shorter menu list
    -Added a millisecond counter to Select button presses:
             - Pressing for 1 second pushes a copy of the control onto the Easy menu while in Full menu (small period -> large period)
             - Pressing for 1 second pops a copy of the control off the Easy menu while in Full menu (large period -> small period)
             - Pressing for 1 second pops a copy of the control off the Easy menu while in Easy menu
             - Pressing for 1 second during Grade process pauses the Grade process
             - Pressing for 10 seconds on Cart timer selection resets Cart timer to OFF
    -Renamed Tilt to Warmth and inverted the controls (e.g. Tilt -3 is now Warmth +3)
    -Added collapsible Test menu:
             - added 33, 45, and 78 RPM turntable speed checkers with +/-0.01% accuracy
             - added Azimuth function that measures channel separation with test LP track
             - added Sweep function that measures frequency and relative level with test LP track
             - added Skate function that measures channel distortion with test LP tracks
             - moved FineBaL (fine balance) to Test menu and can monitor and adjust this offset in 0.1dB increments directly
    -Modified clip detection:
             - input (ADC) clip appears in Gain display with arrow into asterisk ->*
                      - indicates Gain should be adjusted lower
                      - number of input (ADC) clip events shown in levels display
             - output (DAC) clip appears in Gain display with arrow out of asterisk *->
                      - indicates Gain should be adjusted lower if >10 clips per session, otherwise just handling needle drops, bad pops, etc.
                      - number of output (DAC) clip events shown in levels display
             - adjusting Gain resets all these detections
    -Modified Gain to be in 1dB increments (was 4dB steps) - still has muting between changes to prevent thumps in analog circuit settling
    -Modified Out menu to: Analog or 24/48 (pre-SN1020) and Analog, 24/48, or 24/96 (post-SN1020) - helps support older DACs
    -Fixed bug as Phase:Invert did not work (no functionality) and this bug crept in at either V1.10 or V1.20
    -Rewrote the entire LCD screen refresh code in order to display less artifacts and flicker on levels and animation screens
    -Rewrote the "A av" and "D av" level averaging functions so now True RMS instead of quasi-peak average
    -Fixed LCD initial power up refresh bug SP