All compiler library modules are supplied with source. Not only does this enable you to see how a particular library module works, it can also aid learning and become a code starting point for your own library modules.

Additional modules are currently under development and will be made available to all Swordfish users when they are ready.

If you have not tried Swordfish yet and want to take a more detailed look at what is available, why not download a free, non-expiring Special Edition (SE) version from here.


The GLCD library enables you to access drawing primitives, text and image rendering for a particular display type. Currently supported device drivers include:

More GLCD driver support is planned. GLCD text can be rendered using variable width fonts. For example, Arial, BookAntiqua, Courier, FixedFont, Garamond, SanfSerif, Tahoma, Times, Trebuchet and Verdana. The Swordfish IDE comes supplied with an easy to use plugin, which will automatically generate a font data for a given font type.


LCD module based around the Hitachi HD44780

Secure Digital (SD) Multi Media Card (MMC)

Provides a large collection of routines for reading and writing to Secure Digital (SD) or Multi Media (MM) cards.

This library is not available in the Special Edition (SE) version of Swordfish

OneWire (OW)

A low level One Wire library, includes search function.

OneWire Devices

A collection of OW devices, including:

  • DS18B20 - digital thermometer
  • DS18S20 - digital thermometer
  • DS2405 - addressable switch

Hardware SPI

Hardware based, low level SPI module.

Software SPI

Software based, low level SPI module

SPI Devices

A collection of SPI devices, including:

  • 25080 8 Kbit EEPROM
  • 25160 16 Kbit EEPROM
  • 25320 32 Kbit EEPROM
  • 25640 64 Kbit EEPROM
  • 25256 256 Kbit EEPROM

Hardware I2C and I2C2

Low level hardware I2C library.

Software I2C

Low level software I2C library.


A module that interfaces to the PIC microcontrollers ADC hardware.


A module that enables reading and writing of the PIC microcontrollers onboard EEPROM.

Software RS232

Software based RS232 serial communications library

Hardware RS232 (USART and USART2)

Hardware based RS232 serial communications library


Manchester encode and decode


Large collection of floating point math routines.


Software based bit shift library.


A collection of string manipulation routines.


Enables you to interface to a matrix style keypad.

Number Conversion

A collection of conversion routines. For example, decimal to string and string to decimal.


Human Interface Device (HID) and Communication Device Class (CDC) USB support. The HID module enables you to send and receive structured data from microcontroller to PC via a USB connection. The CDC USB module acts like a Virtual COM Port (VCP), making it easy to use RS232 through a USB connection connected to your microcontroller.

This library is not available in the Special Edition (SE) version of Swordfish


A collection of handy utilities. Some examples include SetAllDigital() and Reverse()


Some useful interrupt based modules.

  • ISRRX - buffers data from the PICs hardware USART.
  • ISRTimer - enables you to create multiple event driven or polled 16 bit timers.