Troi Serial Plug-in gives FileMaker Pro the ability to read from and write to all devices with a serial interface, without the need of a separate application.

Buy NowDownload

Serial Plug-in Version 5.0

Works with

FileMaker Pro 12-16
FileMaker Server 12-16
macOS X 10.7 – 10.12
Windows 7-10

Control any device with a serial interface

Troi Serial Plug-in gives FileMaker Pro easy and powerful access to external devices with a serial (RS232) interface:

  • read from and write to the (virtual) serial ports of the computer directly from FileMaker Pro without the need of a separate application
  • native FileMaker script triggering, to get incoming data into the database
  • “Suspend/Resume Serial Port” script step to temporarily suspend the incoming data stream and resume it when you are interested in the data
  • “Wait for Match” function to wait for a specific text before triggering
  • open an unlimited number of serial ports and trigger different scripts for different ports.
  • works with all types of serial ports, including those added through an extension card or USB to serial adaptor

Easy troubleshooting!

Troi Serial Plug-in has a great debug function, making setup of databases a breeze for our users. You can troubleshoot by testing the arrival of data at the serial port and you can test script triggering too.

No quitting

Troi Serial Plug-in can be reinitialized without quitting FileMaker Pro. This makes it possible to accommodate new or different serial ports dynamically, for example when you plug in a USB to serial adaptor.

And more …

Another powerful feature is getting the last match string (for example the last line) that was received.

Suggested Uses

  • connecting to a modem
  • custom switchboard dialing
  • caller ID
  • credit card swiping
  • chip card reading
  • data(base) transfer
  • send commands to control-units and gather data from them
  • weigh goods
  • scan goods with a barcode reader
  • open a cash drawer
  • connect to serial port
  • control the talking fish Billy Bass!

The possibilities are only limited by your imagination!

Try Troi Serial Plug-in before you buy

You are free and invited to test the plug-in before you pay. Troi Serial Plug-in is fully functional in demo mode, it will only stop working after 2 hours of testing. Download your copy here.

Troi Serial Plug-in 5.0

Troi Serial Plug-in 5.0 is a major release which adds compatibility with FileMaker 16. This version adds 9 script steps when running in FileMaker Pro 16. You can select these in the script steps pane in Script Workspace, or you can begin typing the script step name, then choose the script step from the list that appears. We also added support for online help for the functions and script steps of the plug-in. Just click the small question mark button next to the function description in the functions pane or the script step description in the script steps pane. This will take you to the online help for this function or script step on our web site.

New functionality in this version is a Serial_GetPortInfo function, which retrieves the status and other information of a serial port.

See the Version history below for a complete list of changes in this and earlier versions.

Version history

Version 5.0 (for FileMaker 12 to 16) (May 25, 2017)
New functionality

  • Tested and made compatible with FileMaker Pro 16.
  • Added new Serial_GetPortInfo function, which can get information about a serial port. You can also get the status of the port to see if the port is open or closed.

Extra features when running FileMaker Pro 16

  • The Serial Plug-in adds multiple script steps when running FileMaker Pro 16.
    You can select these script steps in the script steps pane in Script Workspace, or you can begin typing the script step name, then choose the script step from the list that appears.
    The script steps significantly expand the possible actions you can perform with FileMaker Pro. The following 9 script steps are added:

NOTE Only steps that perform an action have been added as a script step. Functions that just return information (like for example Serial_GetPortNames) are only available as an external function.

  • Added new example file SimpleSerial-for-FMP16.fmp12, which demonstrates how to use the new external script steps of FileMaker Pro 16.
  • Added support for online help for the functions and script steps of the plug-in. You can now easily get online help from the Troi website, by clicking the Help button (the small question mark button) next to the function description in the functions pane or the script step description in the script steps pane.



  • Several bug fixes and further improvements.
  • Made various minor changes to the example files to better work with FileMaker Pro 16.
  • Updated the code by adding improved namespace handling to make the plug-in more robust.

Version 4.5.1 (for FileMaker 12 to 15) (March 2, 2017)

  • Updated the code in several places and added improved namespace handling to make the plug-in more robust.
  • Fixed a bug in the Serial_Receive function, where in some cases not all data would be returned directly.
  • (Mac OS X) Improved export of symbols of the compiled plug-in: now only the symbols that are required are exported.
  • (Mac OS X, 32-bit only) Fixed a possible interference with other plug-ins, during the registration phase.
  • Updated debug example file and made several small improvements to the example files.

Version 4.5 (for FileMaker 12 to 15) (June 2, 2016)

  • Tested and made compatible with FileMaker Pro 15.
  • Tested and improved compatibility with Windows 10 and OS X 10.11 (El Capitan).
  • Added new switch to Serial_Receive function: -Encoding=BytesOnly. This will store all received bytes to the same byte values (Unicode 0 to 255).
  • Added new switch to Serial_Receive function: -ConvertBytesToNumbers. This switch will directly convert all received bytes to their numeric value. The function will for example return “65 66 67 “, which would be Unicode “ABC”. Note that each number is followed by a space, as separator, including after the last number.
  • Added description and type-ahead information for all functions of the plug-in. This extra function description will be shown in FileMaker Pro 15 in the Specify Calculation dialog box when you type a function name and also as a text popup in the functions pane on the right.
    The type-ahead information is used by the auto complete functionality of FileMaker Pro 15. In the calculation pane of the Specify Calculation dialog box you can type a letter or two of the function name and instantly see a list of matching function names. For example when you type “op”, the auto complete functionality will suggest the Serial_Open function. You can also type a function name in the functions pane on the right: for example if you type “rece” you will see all the functions with receive in the name, like Serial_Receive.
  • Improved the multi-threading behavior of the plug-in when running in FileMaker Pro 15.
  • Improved the example file EasyInstallTroiPlugins.fmp12, to provide more help when an installation error occurs.
  • Fixed several bugs, rewrote and modernized the code in several places and made further improvements.
  • Updated the User Guide and the Overview.fmp12 file.

Version 4.0 (for FileMaker 12, 13 and 14) (May 12th, 2015)

  • Tested and made compatible with FileMaker Pro 12, 13 and 14.
  • Added support for 64-bit architecture with FileMaker Pro 14: On OS X the 32-bit and 64-bit version is a single universal plug-in and on Windows there are 2 plug-ins: Troi_Serial.fmx (for 32-bit) and Troi_Serial.fmx64 (for 64-bit).
  • Improved the example file EasyInstallTroiPlugins.fmp12, to support the 64-bit version of FileMaker Pro 14.
  • Fixed a problem in the Simple Serial.fmp12, Weigh.fmp12 and Terminal.fmp12 example files: The close script no longer halts if no Serial Plug-in is found.
  • Added new switch -GetRegistrationState to the Serial_Version function: this switch allows you to check if the plug-in is currently registered.
  • Updated Version example to show the use of -GetRegistrationState.
  • Rewrote the code in several areas and made it more future proof.
  • (Mac OS X) Added code signing to the plug-in, also compatible with the new Mavericks version of code signing.
  • IMPORTANT This plug-in drops support for Windows XP (the plug-in will no longer load on XP). On Mac OS X the minimum supported system is now Mac OS X 10.6.8 (the plug-in will not load on 10.5 and earlier).
  • NOTE The User Guide has not yet been updated, and is still for version 3.2. We expect to provide an updated version soon.

Version for FileMaker Pro 8 to 13 (April 11th, 2015)

  • Updated all example files. They now use variables to make the scripts more portable.
    NOTE you need FileMaker Pro 8.0 or later to use the example files. Troi Serial Plug-in itself is still at version 3.2.

Version 3.2 for FileMaker Pro 7 to 11 (March 27th, 2012)

  • Tested and made compatible with FileMaker Pro 11.
  • Optimized the plug-in when running under Mac OS X 10.6 (Snow Leopard).
  • Added new switch to Serial_Version function: -UnregisterPlugin. This will remove the registration data. The plug-in will be in a unregistered state after this. See the “Temporary Register Serial Plug-in” script in the file RegiFunc.fp7 for an example use.
  • Fixed a missing script in the Terminal.fp7 example file.
  • Corrected the path of logs files in the document filemaker-server-side-plug-ins.htm.
  • Made small change to the bundle (on Mac OS X) and FileVersion resource (on Windows) so it now reflects the correct version number.
  • Updated incorrect text in All Serial Examples.fp7

Version 3.1.1 for FileMaker Pro 7 to 10 (June 22nd, 2009)

  • (Windows) Fixed a bug in the Serial_Send function, where an error code of $$14007 could be returned.
  • Fixed a missing Perform script step in the SimpleSerial.fp7 example.
  • Fixed a button with a missing script step in the SimpleSerial.fp7 example.

Version 3.1 for FileMaker Pro 7 to 10 (March 10th, 2009)

  • Made compatible with FileMaker Pro 10.
  • Fixed a syntax error in the MultiPorts.fp7 example file.
  • Added the plug-in’s version number to the description in FileMaker’s preference pane.
  • Added new Serial_VersionAutoUpdate function. The Serial_VersionAutoUpdate function is part of an emerging standard for FileMaker plug-ins of third party vendors of plug-ins. The version number is returned in the format aabbccdd where every letter represents a digit of the level, so versions can be easily compared.
  • Fixed a bug in the Serial_SetDispatchScript function, where it would not work when you specified a portname.
  • Fixed typo in the documentation of Serial_SetDispatchScript (extra ; )
  • Troi Serial plug-in is now compatible to run under FileMaker Server (server side)! The plug-in now creates log files when running under FileMaker Server to make troubleshooting installing easier and and provides feedback regarding errors and registration status. Also note that you might need a special Server/WebEngine license to use this plug-in on FileMaker Server. See our web site for details.

Version 3.0.2 for FileMaker Pro 8.5, 8 and 7 (March 26th, 2007)

  • (Windows) fixed a bug where opening COM ports with names COM5 or higher would result in an $$2 error.
  • Improved Barcode.fp7 example file.
  • Fixed a bug in the Serial_DataWasReceived function, where it would return $$-50.

Version 3.0.1 for FileMaker Pro 8.5, 8 and 7 (October 16th, 2006)

  • Significantly improved speed of triggering scripts when data comes in.
  • Fixed a bug when using the waitstring parameter in Serial_SetDispatchScript.
  • Improved triggering when a script is already running:
    -If a script is already running: the plug-in will pause the current running script, run the trigger script and then automatically pick up the original script where it left off.
    -If a script is paused: the plug-in will pause the current running script, run the trigger script. When the trigger script is finished, the original script is still paused.
    If you want different behaviour: add a Halt or Pause/Resume step in your trigger script.
  • Added “-ResumeWhenScriptPaused” switch to Serial_Open function: this changes the behaviour of the trigger script: if another script is already running and is paused, the paused script will now resume after the trigger script is finished.
  • Added final version of user guide.
  • Improved All Serial Examples.fp7, so that for for Debug.fp7 the correct script “Open File” is called.
  • Improved several example files and removed remaining old style function calls.
  • Changed incorrect function name Serial_AsciiValueToTxt in documentation. It is now correctly referred as Serial_AsciiValueToText. (Note the extra e in Text at the end).

Version 3.0b1 Beta for FileMaker Pro 8.5, 8 and 7 (October 3rd, 2006)

  • Made compatible
    FileMaker Pro 8.5.
  • (Mac OS X) Converted to Universal plug-in which runs natively on PowerPC and Intel Macs.
  • Added new Serial_TextToAsciiValue function, which converts a text to the ASCII values.
  • (Windows) The Serial_GetPortNames function now detects all existing serial ports, instead of always returning with COM1…COM4.

2.6 (October 3rd, 2006)

  • Prepared for new version of registration. (March 13th, 2003)

  • Improved the Terminal.fp5 example file.

2.5 (July 8th, 2002)

  • Added a Serial-Debug function, which helps you to troubleshoot setting up a serial port. It can beep when data arrives and test the triggering of the dispatch script.
  • Added a Serial-SetSetting function. With this function you can specify a different way to trigger scripts, where Active X is not available.
  • Added a switch -GetLastMatch in Serial-Receive, which will return the last matchstring received.
  • Added a Serial-Reinitialize function, which you can use when new or different serial ports are added dynamically, for example if you plug-in a USB-To-Serial adapter.
  • Added functions to change the separator between parameters. This is useful for Japanese systems, where portnames contain the pipe characters.
  • Fixed a bug on Mac OS, where flow control would not be set properly. This happened with the switch flowControl=DtrDsr, flowControl=DtrDsr=RtsCts and the advanced versions of these.
  • Fixed a bug where not all data would be returned when multiple matchstrings where received.
  • Updated the user guide and added Barcode and other examples.

2.2 (October 30th, 2001)

  • Tested with FileMaker 5.5 and ported to Mac OS X. The Mac version of the plug-in is now a so called ‘Super Fat’ plug-in that will run on Mac OS 8, 9 and Mac OS X. On Mac OS X the file “Troi Serial X extension” is required in the FileMaker Extensions folder.
  • Added possibility to trigger different scripts for each port.
  • Added extra example files.

2.0 (October 13th, 1999)

  • Made compatible with FileMaker Pro 5.0.
  • Added Active X support for Script Triggering.
  • Added Apple event support for Script Triggering.
  • Added Control function, which can Temporary suspend the data stream. (Ideal for continuous devices).
  • Added Wait for string function, which can wait for a specific character before triggering.

1.0 (February 23rd, 1999)

  • Added Serial-ToASCII function, which takes one or more numbers and converts them to their ASCII characters.
  • Fixed a bug on Mac OS machines, which caused parameters to parse incorrectly. For example with the Serial-open command, settings parameters like “-baud=1200” would not to be interpreted right, causing to default it to 9600 baud.

We offer the following license for Troi Serial Plug-in:

developer license: this license is meant for FileMaker solution developers, who want to include the plug-in with their solution(s) and distribute it to their end-users. Each of your end-users may use the plug-in with up to 25 users (contact us if any of your customers has more than 25 users). The number of organizations you distribute the plug-in to and the number of solutions you distribute it with are not limited. Works on FileMaker Pro and FileMaker Pro Advanced, including with files hosted by FileMaker Server.
Go to the developer license page for more info.

Licenses work both on macOS and on Windows.


New licenses

developer licenseUS $ 999


If you have a license for a previous version, you can buy an upgrade for version 5.0. If you bought a license on or after June 2, 2016, the upgrade to version 5.0 is FREE! Note: eligible users have been sent a new 5.0 registration. Contact us if you have not received yours.
If you bought a license before June 2, 2016, you will need to buy an upgrade to use the 5.0 version:

developer license upgradeUS $ 499

Please contact Troi if you want to upgrade from a different license bought in the past.

Below are a few things our users had to say about Troi Serial Plug-in:

“This plugin is great and very stable. I just did a video on integrating weighing scales with FileMaker and showcase with your great plugin:”
Claus Lavendt,

“Thanks for all your work with this excellent plug-in. We have been using it since way back (1998) and it is very stable and well working. Excellent work.”
Thomas Ljungdell, System designer, PositionEtt AB, Stockholm, Sweden

“I’ve done some extensive work with the serial plugin and published a document called “Integration of Medical Laboratory Instruments Using RS232 Serial Connections” on the FileMaker Developer Community web site. You will find the article here: (members only).
I really like the serial plugin and it is amazing what we’ve done with it.”
Ron Smith MD, United States

“I have created an automatic scoring solution for bowling. To achieve this I used your plugins and in particular your serial plugin.
Probably the largest unknown in this entire process was 2 way communication with the bowling machine. When I began I had no idea where to start and actually had gone through 3 different methods (all that worked) before arriving to what I considered the best solution.
It took a lot of time and research for me to find out that siemens PLC could handle incoming and outgoing serial communication. This was a huge discovery because I knew that Troi had a serial plugin! I’ve been testing with the Troi serial plugin for months now and have not had any reliability issues with the plugin at all. At first I thought I would run a script every 2 or 3 seconds using filemakers relatively new timer script to check for incoming serial communication. However to my surprise the plugin has a Serial_SetDispatchScript function which executes a filemaker script upon the detection of a incoming transmission.
I have created a blog with a video demo, there will be more videos coming in the near future.”

Jeff England,

“I used to use Serial 1.x.x on Mac OS 7.5.5, in 1998- 1999.
I think in 2004, you sent me Serial 2.5.0. I attempted to use Serial 2.5.0 on Mac OS X 10.3.x, and only had a little time to look at making it work.
In the summer of 2005 I had some time to look at it again, and solved most of my problems.
I am so happy. I think the demo-time is very generous. I appreciate the time allowed to figure it out.
I’m using FMP and the Serial plug-in to control two industrial LaserDisc players connected to two serial ports. I am having an awesome time!
Thanks so much for a cool plug-in.”

Bruce Kurkowski, United States

“Let me tell you that Serial 2.5 is a great plug-in like others made by you. I use it with a barcode scanner, and soon with cash drawer and a ticket printer.
In less then two hours, scanner was recognized and data received in an FMP data base and treated with help of DispatchScript.
Thank also to your user guide which is clear, step by step and well documented.”

Serge Barbette, Belgium

“Let me say how incredibly useful and important Troi plug-ins are in the FileMaker universe. It has enabled me to use Filemaker and recommend it to others for applications that otherwise would be impossible!”
John DeMillion, Director of Information Technology, Chester County Intermediate Unit

“Great Products!
Great Service!
I really appreciate everything you do!
Thank you very very much!!!!”

Jeff Yurka, Real Mac Solutions

“My name is Glen Stephens and I am the Station Director for Mesa Channel 11, a television station owned and operated by the City of Mesa in Arizona. I wanted to let you know what we are doing with FileMaker Pro at our facility because of the rare way that we have implemented FMP. Virtually every part of our operations has an implemented FileMaker solution. The main solution that I want to tell you about is a solution I developed called AutoCast Pro. This FileMaker solution along with the Waves in Motion Script Scheduler Plug-in and Troi’s Serial Plug-in completely automates the playback of all the programming that is broadcast on our channel. FileMaker is currently controlling 12 broadcast devices, from tape machines to video servers, an audio video router, and a logo generator. Our programming director creates broadcast events in the system and then schedules every show, commercial, and PSA that is to be broadcast. Troi’s Serial Plug-in is what allows us to access the 14 serial ports connected to the computer that control all of the external devices. Waves in Motion’s Script Scheduler is what actually runs the script to roll a tape machine, switch the router and change the on air logo for each event. The way that FileMaker allows us to track our broadcasts, and store information for each event is incredible! Once the broadcast schedule is built and programmed, the AutoCast Pro automation solution automatically updates the schedule to a separate database that is served over the internet to publish our programming guide for our viewers. I would be glad to provide more information on how this works and exactly what it is doing, but I just wanted to give you an overview at this point.
We also use FMP to track all of our production requests, manage our tape library, drive our web site, track equipment maintenance, schedule equipment availability, and manage the workflow in our office. We operate primarily in a Mac environment, but also share solutions over Windows machines.
This is just an overview of how we use FMP. I wanted to share our success story and how FMP has enabled us to deliver a high quality of service to our customers at a fraction of the cost of other systems. If you have any questions or need any information from me please feel free to contact me. Thanks for your time and I hope that you find this information helpful.”

Glen Stephens, Station Director, Mesa Channel 11, Arizona, USA

“The FileMaker Pro database that I use your Serial Port Plug-in with monitors our PABX and is never turned off and logs around 6,000 to 8,000 outgoing calls each week i.e. records. It has only been switched off for maintenance and it has never crashed in over two years. As you could imagine it is mission critical software, whose failure could result in the loss of thousands of dollars in just a few days.
Over the years I have used many different systems but nothing is as accurate, simple to use nor as reliable as Troi’s Serial Port Plug-in and FileMaker Pro. Some of the TIMS systems (i.e. systems that monitor the PABX) that we used were proprietary systems and as you could imagine cost thousands of dollars, one was around AUD $8,000 plus the cost of the hardware. They were all very unreliable, not user friendly, difficult to configure, and in one case very very prone to crashing, resulting in the loss of thousands of dollars of missed calls.
The current solution, which I developed originally using AppleScript and FileMaker Pro 3, is simple, and very flexible. When I incorporated the Troi Serial Port Plug-in and upgraded FileMaker Pro to V4 and now V5, it became very reliable as well. A few further refinements and I now have a solution that has a clean and simple to use interface, and is very powerful and extremely reliable. I didn’t have one problem incorporating the Serial Port Plug-in into my solution. I downloaded the demo and played around with it for a week or so then incorporated it into the FileMaker Pro solution and left it alone since then.
I have been using Troi’s Serial Port Plug-in for around 2 years. It has worked flawlessly. I wish every piece of software worked as well as your Serial Port Plug-in.”

David Petrie, Owner/proprietor of the Rooftop Motel, Sydney, Australia

“The serial plug-in is extremely useful in printing directly to the modem or printer port to a Bar Code Blaster printer. I made endless inquiries about how to print to the Bar Code Blaster printer on the Macintosh, and could find no alternative. Troi Serial plug-in solved the problem.”
Robin Murfin, Systems Analyst of Benjies (E. Alex Benjamin Ltd), Antigua W.I.

“Hi Peter,
Just writing to let you know that yesterday I successfully linked a FileMaker Pro solution to a cash drawer. In essence, FileMaker is the point-of-sale system, replacing the client’s old cash register.
Details: M-S Cash Drawer model # EP-125ksi; Windows 98 PC, serial connection via Com 1 (Serial cable supplied by M-S Cash Drawer)
We’ve got FileMaker popping open the cash drawer for “No Sale”, “Cash Paid In”, “Cash Paid Out” and of course, new sales. And we’re logging everything. So far, it’s working perfectly, and the client is very happy.”

Kevin Frank of Kevin Frank & Associates, Arcata, CA,

We are still collecting more comments. If you have any remarks on the Serial Plug-in please send us your comments. Thanks!

troi serial plugin for filemaker pro

With this plug-in you can connect to serial ports directly from FileMaker!

Related pages

Serial Plug-in online help
Function and script step reference.

Serial Plug-in FAQ
See a list of Frequently Asked Questions about this plug-in.

Receive data from an external device in FileMaker Pro
Explains how you can receive data sent from an external device and have the plug-in start a script that processes the data.

Serial Plug-in Conversion from FileMaker Pro 6
(Older) information on how to convert databases which use Troi Serial from FileMaker Pro 6 to FileMaker Pro 7 and later.

Read and write to all devices with a serial interface!