CompuPhase develops electronic designs, printed circuit boards, prototypes of custom apparatus and the embedded software that runs on the devices. Examples of such apparatus are the various LED-panels that we set up in several exhibit centres, under contract of Podium (Netherlands). Look also at our list of recent projects.
To keep the development costs low, we attempt to design our electronics in a way that ensures maximum flexibility and extensibility, in order to be able to re-use the design for various exhibits. Our programmable MP3 player is a good example of a finished product that is adapted and extended with custom interfaces for every specific exhibit and task.
Speaking of "custom interfaces" for our products, as a service we publish a few tiny circuits in our "articles" section, specifically under the topic "applications notes". The schematics and technical desciptions presented in these articles are often related to our products. These circuits are not representative for the schematics and boards that we design for our customers, by the way; rather, they are simple circuits that we feel that hobbyists can build themselves.
On occasion, our devices run self-contained, even if communication with an external computer is an option. We are well informed about a series of microcontrollers that are "typical" for embedded projects, real-time operating systems and communication protocols. Small embedded projects often run directly on the hardware (i.e. without operating system), to minimize costs. With "small" embedded projects, we are referring to those projects that have only a few kilobytes of ROM and sometimes only a few hundred bytes of RAM.
For simulations and special projects, we can link industrial joysticks, vandal resistant palm and hand switches, and other peripherals to a standard Personal Computer. Output to LEDs or actuators can also be driven, via an interface board, out of the computer into a custom peripheral. We have extensive documentation and knowledge of the various interface ports (parallel, serial, USB, keyboard, Ethernet, Internet Protocol Suite, ...) at both high and low levels.
To control the external peripherals from an application that runs on a PC, the system usually needs "drivers". CompuPhase writes drivers for Microsoft Windows (all versions) and Linux, both for our self-designed circuits as for others. Next to the low level drivers that the operating systems require (to recognize the peripheral at all), we also build interface software which simulates keyboard and mouse input from the joysticks, steering wheels, palm switches, etc. This allows for a very straightforward coupling of our input devices to any application (even to existing applications).