Monthly Archives: November 2016

Upgrading the Kilpatrick Carbon Firmware

I recently purchased a Kilpatrick Audio Carbon made by Kilpatrick Audio. The Carbon is a multi-track, multi-step sequencer that controls instruments using MIDI and CV. So far, it’s been fantastic and it’s allowed me to start doing loop-based music live.

I’ve been communicating with the author, Andrew Kilpatrick, about some bugs about the device, and he recently released a new firmware update. He doesn’t have a Mac so he’s not able to test the Carbon’s firmware updating process.

For all of you visiting who have a Carbon that needs updating, here’s the instructions for Mac (they’ll also work on Linux).

Updating the Carbon using dfu-util

The Carbon uses DFU for its firmware updates. There are many DFU utilities out there, but an open-source one that works is called dfu-util, which runs on Mac and Linux. (If you’re using Windows instead, instructions exist on the Kilpatrick Audio firmware site).

Get the DFU program

1. (on macOS) Install home-brew (http://brew.sh). You’ll need Xcode for this (with the command-line tools).
2. (on macOS) Install dfu-util. “brew install dfu-util”

On Linux, the instructions will be different, but will probably involve using your system’s package manager in a similar way.

Get the firmware from Kilpatrick Audio

Download and unzip the firmware from the Kilpatrick Audio firmware updates web site. The latest firmware as of writing is v1.06.

Do the update

Restart Carbon in firmware update mode. To do this:

  1. Connect your Carbon to your computer using USB.
  2. Unplug the power connector.
  3. Hold down the power button.
  4. Plug in the power connector.

The LEDs will be a solid color and the screen will be blank. Sometimes, the LEDs will be different colors. That’s normal.

Open Terminal (macOS) or another command-line window.

In the prompt, type the following to check that the program can see your carbon:

dfu-util —list

Your output will resemble the following:

dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Deducing device DFU version from functional descriptor length
Found Runtime: [05ac:828d] ver=0118, devnum=8, cfg=1, intf=3, path="20-6.3", alt=0, name="UNKNOWN", serial="UNKNOWN"
Found DFU: [0483:df11] ver=2200, devnum=27, cfg=1, intf=0, path="20-4.1.2", alt=3, name="@Device Feature/0xFFFF0000/01*004 e", serial="376837513335"
Found DFU: [0483:df11] ver=2200, devnum=27, cfg=1, intf=0, path="20-4.1.2", alt=2, name="@OTP Memory /0x1FFF7800/01*512 e,01*016 e", serial="376837513335"
Found DFU: [0483:df11] ver=2200, devnum=27, cfg=1, intf=0, path="20-4.1.2", alt=1, name="@Option Bytes  /0x1FFFC000/01*016 e", serial="376837513335"
Found DFU: [0483:df11] ver=2200, devnum=27, cfg=1, intf=0, path="20-4.1.2", alt=0, name="@Internal Flash  /0x08000000/04*016Kg,01*064Kg,07*128Kg", serial=“376837513335"

The Carbon’s device ID is 0483:df11. In this particular case, you want to write to the “alt bank 0”, which is the Carbon’s internal flash.

Install the firmware with the following command:

dfu-util -a 0 -D K66-carbon-1.06-firmware.dfu

You will see output that looks like the following:

dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Match vendor ID from file: 0483
Match product ID from file: df11
Deducing device DFU version from functional descriptor length
Opening DFU capable USB device...
ID 0483:df11
Run-time device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 2048
DfuSe interface name: "Internal Flash  "
file contains 1 DFU images
parsing DFU image 1
image for alternate setting 0, (1 elements, total size = 272176)
parsing element 1, address = 0x08000000, size = 272168
Download [=========================] 100%       272168 bytes
Download done.
done parsing DfuSe file

This will take a minute or two to do the transfer.

When it’s done, remove the power from the Carbon, and plug it back in again. Start the power normally. Press SYS (SHIFT-MIDI) to check the firmware version.

If you’re updating from v1.02, the first few things that you’ll notice is a new font (I’m not 100% sold on it honestly) and that the Carbon now takes MIDI input from any channel instead of channel 1. There are also a number of bug fixes.

The Carbon also has a Github page, so if you have bugs to report or suggestions to send about the device, that’s the place to do it.

Enjoy your noodling!