Skip to content


Page contents: Hardware Design Files :: Firmware :: Compiling Firmware with Linux :: Licensing

Download Hardware Design Files

The Tactile Metronome was developed with Kicad, an open source electronic design suite. It is available for Windows, Linux, and OS X.

The Kicad design files are available packaged in a zip file, or as individual files below.




Download Firmware

The Tactile Metronome uses a PIC 16F685 microcontroller from Microchip. The firmware is written in C and compiled with version 9.65 of Microchip's HI-TECH C Compiler for PIC10/12/16 MCUs. This compiler has two modes of operation: PRO Mode, and Lite Mode. The PRO mode is only available if you purchase the compiler, or during the 45-day fully-featured free trial. The Lite mode has less support for optimizations and code-size reductions, but you can use the compiler in lite-mode with no time limit. The Tactile Metronome firmware code can be compiled with either PRO or lite mode. Both the source code and the compiled hex file ready to be programmed on a chip are available below.

Original Tactile Metronome Firmware v1.14 This is the firmware that is included with the metronome kit. It does not beep on startup.

Updated Tactile Metronome Firmware v1.15 This is an enhanced firmware for the Tactile Metronome, with two changes: 1) The threshold of the piezo element has been lowered, making it more sensitive to soft taps, and 2) An output pulse is generated on pin 12 every time it beeps. This output pulse would be useful if you want to connect an external actuator such as a solenoid, LED array, sequencer, synthesizer, etc. This firmware beeps once on startup and shows "15" on the display.

If you want to use this firmware with a stock Tactile Metronome, you need to make a small hardware change. Normally, pin 12 is connected to the decimal point on the seven-segment displays, but we can easily disconnect it by cutting a trace on the PCB with a sharp knife and a steady hand. For more details, check out this blog post.

Compiling Firmware with Linux

Here at Wayne and Layne, we prefer to use open source software and hardware whenever possible, including using Linux instead of Windows or Mac OS X. While the HI-TECH C Compiler is only released for Windows, we have figured out how to run it with Wine, along with the Linux version of the PICKit 2 programming utility. If you want to compile and program a new firmware for the Tactile Metronome using a computer running Linux, here are the instructions on how to do just that:

Installing HI-TECH C Compiler:

  1. Since there is no Linux version of the PICC compiler, we have to use the most excellent Wine project to run the compiler. For users of Ubuntu Linux, you can use apt-get to install Wine version 1.2, which works just fine:
    sudo apt-get install wine1.2
  2. Currently, the Tactile Metronome firmware is compatible with version 9.65 of the PICC compiler. The newer versions give errors, and we are not sure why, but we're working on it. You can download the installer for the demo / lite version 9.65 here: HCPIC-pro-9.65PL1.exe.
  3. Use wine to run the installer. Open a terminal to the directory where you downloaded the above exe file. Enter in this command:
    wine HCPIC-pro-9.65PL1.exe
    Don't worry if it gets to the end and has a DLL error. This is ok, and we know how to work around the issue.
  4. The PICC installer requires an extra DLL file in order to successfully run. Place this file, MSVCP71.DLL in the following locations:
    ~/.wine/drive_c/windows/system/
    ~/.wine/drive_c/windows/system32/
  5. Run the installer again. Make sure to check the box for "Add to environment path". The installer should complete without any errors.
  6. Test it out. Open a terminal and type wine picc. It should give you some information about the PICC compiler:
    HI-TECH C PRO for the PIC10/12/16 MCU family  V9.65PL1
    Copyright (C) 1984-2009 HI-TECH SOFTWARE
    (880) invalid number of parameters. Use "PICC --HELP" for help
  7. You can use a pair of lines like the following to compile and link a file called main.c into a hex file suitable for programming your Tactile Metronome.
    wine picc --pass1 main.c -q --chip=16F685 -P --runtime=default --opt=default -D__DEBUG=1 -g --asmlist
    
    wine picc -otactile_metronome_firmware_v1.15.cof -mtactile_metronome_firmware_v1.15.map --summary=default \
      --output=default main.p1 --chip=16F685 -P --runtime=default --opt=default -D__DEBUG=1 -g --asmlist
    Don't be afraid to use the --help option to the compiler to see the other configuration options available.

Installing PICKit 2 Linux Software: (Thanks to Xiaofan's Blog for the info!)

  1. First, we need to set the proper permissions for the PICKit 2 USB device. Create a new file in /etc/udev/rules.d/ and call it "50-pickit2.rules". Add this line to that new file:
    ATTR{idVendor}=="04d8", ATTR{idProduct}=="0033", OWNER:="root", GROUP:="users",MODE:="0660"
    You'll need root permissions to make this new file, so you can use the following command line to create and edit this file with the proper permissions:
    gksudo gedit /etc/udev/rules.d/50-pickit2.rules
  2. Download the Linux Kernel 2.6 Executable Binary of the PICKit 2 software, available from the main PICKit 2 webpage. Extract this file in your home directory.
  3. Add this new directory to your path, by adding a line like this to your ~/.bashrc file:
    export PATH=$PATH:/home/matthew/pk2cmdv1-20Linux2-6
    This will take affect if you open a new terminal, or run this command within your current terminal session:
    source ~/.bashrc
  4. Try it out! You can use this command to send a hex file to your metronome. Make sure the .hex file is in your current directory
    pk2cmd -PPIC16F685 -J -F tactile_metronome_firmware_v1.15.hex

Licensing

We consider the Tactile Metronome open source hardware. All files are licensed Creative Commons Attribution-Share Alike 3.0, except the firmware which is licensed under the GNU Public License (GPL).

For the Creative Commons files, this means you may copy, distribute, and display them (and any modifications or "derivative works" you make) if you give credit to Wayne and Layne, LLC, link back to this website, and you must also license any modifications or derivative works under this exact same Creative Commons Attribution-Share Alike 3.0 License.

There are similar rights granted by the GPL, but attribution is not required. It's appreciated, though!

CC-GNU GPL
This software is licensed under the CC-GNU GPL version 2.0 or later.
Creative Commons License
Tactile Metronome by Wayne and Layne, LLC, is licensed under a Creative Commons Attribution-Share Alike 3.0 License.

Different licensing may be available. Contact us for more information.