Installing the Microchip XC16 toolsuite will allow you to compile your Firewing projects for many other devices. That's right, you can have a completely free, fully functional Firewing PIC compiler that can target over 200 PIC24 devices. Awesome!

Install XC16

If you have not already done so, you need to download and install the Microchip XC16 compiler. It's free to use and can be downloaded from Microchip

Install the XC16 Toolsuite into Firewing

Next, you need to install the XC16 toolsuite.

Download and unzip the above file into the following folder:


then restart the Firewing IDE. All you need to do is select the the "Microchip 16" compiler from the main toolbar, shown here:

Install a Device File into Firewing

To add new devices, you need to download the following and select the device you want to use and place in the Firewing includes folder. For example,

  c:\program files\mecanique\firewing\includes\24FJ64GA002.bas

Please note that for Windows 7 users, the paths to the include files will be a little different. Something like:


To use the new device in your code, just use:

device = 24FJ64GA002

at the very top of your program. You should see the device change in the code explorer window, like this:

Please take some time to look at the file generated. Remember, it may need tweaking as it has been automatically generated - refer to the datasheet. Also note that Microchip, on occasions, have the wrong information supplied in their own files! If the device you want to use is not included in the above download, try using the system generator to create your own.

Using Different Versions of XC16

You can install multiple versions of XC16 (I have 1.0, 1.11 and now 1.20) on a PC. You can get the Microchip 16 toolsuite to point to any installed version, rather than just using the most recently installed. To do this, create an *.ini file in your "Microchip16" toolsuite folder and call it "tsMicrochip16.ini". Then have the following entries:

 Name=Microchip XC16 1.11
 Path=C:\Program Files\Microchip\xc16\v1.11\bin

the path setting can be used to point to different installations - don't forget to update the "Name" attribute to reflect a different version number.

Update 10-01-2014

I built some code today using the xc16 1.20 toolsuite and it's definitely not working correctly in my opinion. When I build with xc16 1.11 the code works as expected. For the time being, I would personally stick to 1.11 as the Firewing xc16 toolsuite. Fortunately, you can have both xc16 1.11 and 1.20 installed on your machine so you can switch between the two as required, see above. If you do not have xc16 1.11 installed, there is a version here:

I'm not sure how long Microchip will keep this link live - if it goes dead, let me know...


Please note that people at the nest don't currently have the resources to support all of the device files and toolsuites that fall outside of the standard Firewing installation. The above will work but any problems and you need to post on the forum and look for user support. If posting on the forum, make it clear you are using a different device file and toolsuite from the standard install. Thanks.