PS1 Phidget Driver

Hoppie Home

PS1 Phidgets Driver

Project Progress



Driver for 4 servos

PS1 support for Phidgets Hardware

The range of hardware from Phidgets has good support for PS1 and PS1 addons.

There are two distinct parts of the support. One is a DLL, included in this package, that bridges the gap between the Phidgets USB device driver and the Tcl scripting language. With this DLL, programmers can very easily interface from Tcl to Phidgets hardware. The other part is a program in Tcl that controls some Phidgets hardware to build a PS1-driven flight deck.

It is totally feasible to control nearly every aspect of PS1 from a Phidget, including all overhead functions. I am open to suggestions of panel assignments. The sources of the driver (both C for the .dll and Tcl for the PS1 interface) are available for download, so you can also add things yourself. If you do, please tell me!


DO NOT INSTALL ANY PHIDGET SOFTWARE. It may interfere with the driver that is already included inside the PS1 Phidget Driver. First test without any original Phidget software.

Unpack in a directory of your choice (retain the directory structure in the ZIP!), and run bin\phid747.exe. First time, let it know where it can find the Broker. After that, no config required. The program should be robust against Phidgets missing or Broker keys missing.

Obviously you will want these Broker keys in the VMREAD.CFG file of 747IPC, in order to drive the servos according to PS1's status:

28F8 2 A_INT    1 MV.GndSpeed
2976 2 A_INT    1 JH.RudTrim
29CC 2 A_INT    1 JH.LdgAlt
29F3 1 A_INT    1 MV.FlightPhase
2B66 4 A_FLOAT  1 JH.StabTrim
2B7A 4 A_FLOAT  1 GJR.TrueAlt
51BF 1 A_INT    1 VM.ApOn
5273 1 A_INT   10 VM.Ground
52BB 1 A_INT    1 JH.AnyDoorUnlocked
5424 4 A_INT    1 MV.HeightGND
6A6E 1 A_INT    1 JH.PackOn1
6A6F 1 A_INT    1 JH.PackOn2
6A70 1 A_INT    1 JH.PackOn3
As always, you might already have some of these. Don't duplicate.


There is nearly nothing to configure. At startup, the program tries to find a Phidget servo and if it finds at least one, it will drive all servos to their full throw and back. After this it connects to the Broker and sets the servos to their PS1-driven position. All servos are tuned for 180° throw, even if they mechanically can do a bit more.

In the File/Setup menu you find a button to exercise all servos for a while, good for demo and testing purposes.

The user interface is simple. Each servo has two sliders. The left slider is the PS1 input and read-only. It moves when PS1 sends different signals, but you cannot influence it. The right slider is directly linked to the servo and if you move it, the servo moves. The check button "Follow" links up the left indicator slider and the right servo slider. You normally want all four "Follow" check buttons checked.

For construction reasons, there are two servos for the horizontal stabiliser indicators. They will always indicate exactly the same, as there is no split stabiliser on the 744 (that is, the stabiliser is physically one single piece, and the three position pickup sensors are mechanically attached to the same spot of the stabiliser). But the distance between the two indicators on the central pedestal is impractical to bridge with a mechanical link. On the other hand, there should have been two outflow valve servos, but I implemented only one, as these valves typically always move in sync and they are centimeters apart. A sturdy wire would work here.

The 'Outflow Valves Manual Control' section is there in anticipation of a link to a hardware overhead panel. With the right hardware controls, you will be able to exercise the outflow valves manually, just as in the real 744. However, PS1 won't be knowing this, and effects on cabin altitude etc. will not be present.


None known right now. It is very well possible that newer Phidget servo boards, such as the 8-servo board, require a software change in the DLL.


For those who want to further develop the driver, the sources in Tcl/Tk and C are available (in the Downloads section). You are free to do whatever you want with this program, except selling it. I would appreciate an update when you do something significant. No problem to use my Web site for future distributions either.

You might miss the small-wish.uses file; this seems not to be part of the current TclPro distribution any longer. ProWrap might complain about missing this file and tell you the directory where it should be put.

© 2017 Jeroen Hoppenbrouwers For more information, mail to