PIC for auto EDDY sensor board


Replacement of the PIC

Development of a replacement PIC, for automatic adjustment of proximity sensors.

Reference of the original part: 04-11001


On some of their pinball machines, Williams and Bally/Midway used proximity sensors to detect the passage of the balls. Unlike optos switches or sensors, they are able to differentiate the nature of the ball, metal or ceramic. This detectors have been used on:

  • Twilight Zone
  • Red & Ted's Road Show
  • Scared Stiff
  • Star Trek: The New Generation
  • Theatre Of Magic
  • Monster Bash
  • Cirqus Voltaire

Their principle is that of a metal detector: a RLC circuit oscillates at a specific frequency, disturbed by the presence nearby of a metal mass. All are built around a circuit TDA0161, specialized for this function.

Although still a coil, the sensors are often specific on each pinball. They can be in the form of a single component (A-17064, 100 μH coil), a winding (A-16533), or a printed circuit, whose drawing acts as a coil. In the latter case, the size and shape vary according to the need for implantation (A-19235, wide rectangle, A-19237, narrow rectangle, or A-20036, rounded form).

In order for the TDA0161 circuit to work properly, it is essential that its input stage be adapted to the connected sensor. This consists of two capacitors C1 and C2. Since there are different sensors, so there are also multiple boards where the values of C1 and C2 are different.

The output stage must also be adapted to the pinball machine. This is constituted by the capacitor C3. Its role is to extend the pulse duration at the output of the TD0161, but it also reduces the detection threshold. If the ball passes over the sensor too quickly, it may not be detected. In some cases, C3 should not be installed.

Sensitivity adjustment problem

On the TDA0161, a resistor allows to adjust the sensitivity and to set the detection distance.

On the very first boards, a single fixed resistor was mounted and it was impossible to adjust the sensitivity in case of drift. Subsequently, a potentiometer was installed, but again, the setting remained unreliable. One possible improvement was to replace it with a multiturn. This did not, however, dispense with periodic re-adjustment, the detectors being quite sensitive to climatic conditions.

The definitive solution was found with the "AUTO" boards, installed on Cirque Voltaire and Monster Bash. On these boards, the resistor is replaced by a DS1803 double digital potentiometer (one for coarse adjustment, one for fine tuning). This circuit is controlled in I2C by a small Microchip PIC microcontroller, which performs an automatic calibration of the setting, at each start.

PIC replacement

It may happen that PIC 12F508 (reference 04-11001) is burned out and needs to be replaced. Unfortunately, as its content is protected, it is not possible to make a backup copy. So we decided to develop our own version, compatible with all original "AUTO" boards, or reproductions.


The project was totally written in 12-bit Microchip assembler. We used classic tools like MPLAB IDE and MPASM.

PIC Eddy

Validation and controls

To simplify the development, the PIC was deported to an experimental plate, which also allowed to connect in parallel a logic analyzer.

PIC Eddy PIC Eddy

The logic analyzer ensures that the I2C protocol is correctly programmed in the PIC software. Since the 12F508 PICs do not have an integrated hardware I2C interface, the protocol has been fully implemented by hand.

PIC Eddy

The tests are performed with an auto EDDY board A-22149-1.

PIC Eddy

The DS1803 behaves as expected. The setting is fast and accurate.

PIC Eddy


This achievement is available in our shop.


Last update of this page: December 13th, 2018

French Tech