Memory used: Unknown of 16K bytes (Unknown bytes free)
Explain
This shows the total RAM usage on the KL25Z for your current configuration.
Memory usage is mostly static; the software allocates memory during initialization
after the device boots up. You shouldn't see any fluctuation during normal use.
Memory usage changes only when you add or remove features via the settings below,
and only updates after you save the new settings. Since memory is assigned
during startup, the software doesn't need much free memory to run, so don't
worry if the free space looks tight. We show the memory figure mostly for
diagnostics, and to give you an idea of how much headroom you have left for
enabling additional features.
System type. Are you using this KL25Z on its own,
or with a set of expansion boards? Help
If you're using the
Pinscape expansion boards, select that option below, and the
setup tool will automatically fill in the appropriate pin assignments
throughout the configuration.
If you're using the KL25Z by itself, or you're using your own custom add-ons
(e.g., your own output booster circuits), select "stand-alone" so that you
can set the individual pin assignments to match your wiring.
Expansion board details:
Number of MOSFET power boards:
Number of chime boards:
The KL25Z pin assignments are hidden by default because you've selected the
expansion board configuration. All pin assignments are pre-determined in
this configuration. Check the box above if you want to view the pin assignments
anyway, but be aware that any changes to pin assignments will probably cause problems.
USB Identification. This is how the KL25Z identifies itself to
Windows through the USB port.
Vendor ID:
Product ID:
If you have a real LedWiz unit in your
system, choose LedWiz Unit 8 for your first Pinscape
unit, 9 for the second, etc.
If you don't have any real LedWiz units, choose
LedWiz Unit 1 for the first unit, 2 for the second, etc.
For LedWiz compatibility, choose an LedWiz unit number.
LedWiz compatibility lets older programs, like Future Pinball,
control outputs through this Pinscape unit.
LedWiz unit numbers must be unique.
Be sure to choose an ID that isn't used by your real LedWiz, or by another
Pinscape controller.
Programs on the PC use the unit number to tell the devices apart, so each
device needs a different number.
If the LedWiz IDs cause conflicts on your system with other USb devices,
you can try the Pinscape ID. This ID is registered uniquely to
Pinscape, so it shouldn't conflict with anything.
However, using this ID will give up LedWiz compatibility. This
means that older software like Future Pinball won't be able to access
the output controller features. Newer software based on DOF R3
(such as Visual Pinball and PinballX) will still be able to take
full advantage of the output features. The input features shouldn't
be affected one way or the other.
The Custom ID option is only for techies doing something
tricky. Don't use it unless you have a good reason. Using a
custom ID will make the output features unreachable even from DOF.
(The input features will still work, though.)
Pinscape ID. This is a separate ID from the LedWiz
unit number. DOF R3 and the
DOF Config Tool use this ID to identify the unit.
Set this to 1 for your first unit, 2 for the second, and so on.
This is completely unrelated to the LedWiz unit number, so it doesn't need
to match that, and by the same token doesn't need to be different. This
doesn't affect the USB ID or the Windows device drivers. It's purely for
DOF and other Pinscape-aware software.
Reset on disconnect. If the USB connection is broken, and
can't be re-established within a time limit, the KL25Z can
automatically reset itself as an attempt to fix whatever's wrong.
Select the time interval (in seconds) before this happens.
Details
On some systems, the KL25Z has trouble re-establishing a broken
USB connection, such as after rebooting or power-cycling the PC.
This can usually be solved by resetting the KL25Z. If you set
this option, the KL25Z will reset itself automatically when it
detects a broken connection and can't reconnect within the specified
time limit. The delay is there to avoid unnecessary resets when
the connection only glitches momentarily. The recommended setting
is 10 seconds.
TV ON switch. If one or more of your monitors needs to be turned
on manually every time you power up your cabinet, you can use this feature
to switch them on automatically. See the Build Guide for wiring instructions.
This is how long to wait after power-on before pulsing the relay
IR Remote Control. The controller can send and/or receive IR
remote control signals if you attach some additional components. This
can be used with the TV ON feature to turn
your cabinet TVs on via IR commands at system startup. See the Build
Guide for details on the components required and how to connect them.
If you don't have any IR components attached or wish to disable them,
simply set the pin assignments here to "Not Connected".
IR LED (transmitter) pin:
Requires a PWM-capable pin
IR receiver input pin:
Requires an interrupt-capable pin
The firmware version installed on your device doesn't support the IR
remote features. Update to the latest firmware to enable these features.
IR Command List. You can program the Pinscape unit with remote
control commands that it can then send and receive. Each slot below
stores one code. Help
Note: your current firmware version can store up to
0 codes. The list above
will automatically expand as you fill in new rows, up to the
limit.
Joystick input. The controller acts like a Windows USB Joystick
in order to send the plunger position, accelerometer readings (for nudging),
and button inputs to the PC. You can disable these inputs if desired.
Why would I want to disable this?
By default, each Pinscape unit reports its accelerometer readings
to the PC via the joystick interface. If you have more than one
unit installed, that means you'll have more than one set of these
reports coming in. The extra reports can confuse some pinball
software, and can also affect system performance. This option
lets you disable the extra reports from the secondary units. If
you have a plunger attached to one of the units, you should consider
that one to be your primary unit and leave its joystick interface
enabled. You should disable the joystick interface on any other units.
Accelerometer orientation. If you're using the accelerometer
(for nudge sensing), the software needs to know how the KL25Z is oriented
in the cabinet so that it can report motion in the right direction. Install
the KL25Z in one of the orientations shown below, level with the floor of
the cabinet, with the chips and LEDs facing up.
Dynamic range. Select the range for
accelerometer readings. Ranges above ±2G have lower precision.
Details
The KL25Z accelerometer hardware has three native range settings:
±2G, ±4G, and ±8G. (A "G" is the acceleration
of the earth's gravity, 9.8m/s².) The device offers the options
because each is a compromise between precision and dynamic
range, and some applications care more about precision while others
care more about range. Precision is the ability to discern
the difference between nudges that are very close together in
strength. Dynamic range is the ability to tell the difference
between nudges that are very far apart in strength. In the 2G range,
the device has the best precision, but the tradeoff is that readings
are capped at 2G, so real accelerations that are higher than 2G will
read as 2G. The 4G and 8G ranges increase the cap, allowing for true
readings up to the respective limits, but the tradeoff
is that they lose some of the ability to distinguish readings that
are very close together.
For virtual pinball use, the 1G or 2G settings are recommended,
because precision is more important to us than range. It makes it
more realistic if the game can discern fine shadings of strength.
It's not as important to distinguish very high accelerations from
one another, since anything beyond a certain point is just a
TILT anyway.
1G is the default because it was the fixed setting in older versions
of the Pinscape firmware, before this option existed. 1G will produce
the same effects you're used if you had previous versions installed.
If you wish, you can change to 2G with no loss of precision, because
1G and 2G use the same native device settings. If you do change to
2G, you should adjust your VP "axis gain" settings (in the keyboard
preferences) to compensate, by doubling the old settings. Similarly,
if you decide to try 4G or 8G, double the gain settings again at 4G,
and yet again at 8G.
Auto-centering. The controller automatically zeroes the
accelerometer after it's been sitting still for a while. This
compensates for any tilt in the mounting position. If you prefer,
you can disable the automatic centering, and center it manually
when needed using the Joystick Viewer.
Time in seconds:
1-60 seconds
The firmware version installed on your device has a fixed ±1G
dynamic range for the accelerometer, and automatic centering (zeroing)
after being motionless for 5 seconds. Update to the latest firmware
if you want to customize these settings.
TSL14xx optical sensor. This is a large
optical sensor with the pixels arranged in a single row, about 3" long.
We detect the plunger position by reading the image from the sensor and
looking for the shadow cast by the plunger. The edge of the shadow tells
us the plunger position.
TSL1401CL bar code sensor. This is a small optical sensor that we
use to read the plunger position from a bar-coded "scale". The scale has
a series of tiny bar codes across its length, with each bar code representing
its position. As the plunger moves, the sensor slides along the scale, and
we can read the current position by scanning the nearest bar code. This
requires the specially printed scale with bar codes in the format
the software recognizes.
Important! Don't confuse this with the TSL1410R. This option
is for the TSL1401CL, which is a completely different sensor
from the TSL1410R. The two are at the opposite extremes of
the size scale, so they can't be used interchangeably despite the
confusingly similar names. The TSL1401CL is about 8mm long, and we
use the small window to read a compact bar code. The other
sensor is about 3" long, and we use to take pictures of the plunger
directly. Choose TSL1410R instead if you're using that other,
larger sensor.
Pin assignments:
SI (serial data):
CLK (serial clock):
AO (analog data):
Requires an ADC-capable (analog in) pin
Connect the sensor to the PLUNGER connector (JP2) on the main interface board:
Sensor AO1/AO2 to pin 1
Sensor CLK to pin 3
Sensor VDD to pin 5
Sensor VPP (GND) to pin 6
Sensor SI to pin 8
Potentionmeter. This uses a slide potentiometer,
which is a variable resistor with a control knob that moves linearly
across the length of the device. We attach the control knob to the
plunger so that the two move together. A potentionmeter's
electrical resistance changes as the knob moves, proportionally to
the position, so we can determine the plunger position at any given
time by measuring the electrical resistance.
Pin assignments:
Wiper:
Requires an ADC (analog in) pin
Connect the sensor to the PLUNGER connector (JP2) on the main interface board:
Pot wiper to pin 1
One fixed-resistor end to pin 5
Other fixed-resistor end to pin 6
Note: this sensor type setting can be used with other sensors
that represents the plunger position as an analog voltage level,
such as an LVDT or analog IR distance finder. Connect the sensor's
analog output pin to JP2 pin 1. Connect sensor power to pin 5 and
GND to pin 6.
Quadrature sensor. This uses an optical sensor that tracks its
position along a special reflective guide rail, with bars marked at
regular intervals. The sensor keeps track of its position by counting
the bars it passes as it moves.
Pin assignments:
Channel A:
Requires an interrupt-capable pin
Channel B:
Requires an interrupt-capable pin
Connect the sensor to the PLUNGER connector (JP2) on the main interface board:
Channel A (CHA) to pin 3
Channel B (CHB) to pin 4
Sensor 3.3V to pin 5 (if required)
Sensor GND to pin 6
Sensor 5V to pin 7 (if required)
VL6180X distance sensor. This sensor determines the distance
to a nearby object by bouncing pulses of light off the object and
measuring how long the light takes to return, using a very precise
clock.
Pin assignments:
SDA:
SCL:
GPIO0/CE:
Connect the sensor to the PLUNGER connector (JP2) on the main interface board:
SDA to pin 8
SCL to pin 3
GPIO0/CE to pin 1
Sensor VIN to pin 5
Sensor GND to pin 6
Plunger auto-zeroing: If this is enabled, the firmware will automatically
reset the plunger position to zero after it hasn't moved for the minimum time selected.
Details
Quadrature sensors use purely relative positioning, so they need a fixed
starting point. We use the plunger's "park position" (where it comes to
rest when you're not moving it manually) as the natural zero point. If the
sensor ever misses any plunger motion, or if the plunger isn't at rest when
the system is powered up, the relative position counter can get out of sync
with reality, making the on-screen plunger a little off from the real position.
The firmware can correct for this by automatically zeroing the on-screen
position (setting it to exactly the park position) whenever the plunger remains
at rest for a minimum time period. It's usually safe to assume that the plunger
is at the park position when it hasn't moved in a long time, since you don't
normally hold it still anywhere else for long periods. You only need to
enable this if the plunger doesn't always stay in perfect sync on its own.
Choose a long enough time period that you probably won't ever hold the plunger
away from the park position for that long in normal play.
Auto-zero after seconds
Plunger calibration button. If you wish, you can install a
pushbutton in your cabinet to activate plunger calibration mode.
This is optional, since you can also run the calibration from this
setup program. See the Build Guide for wiring instructions.
Button input:
Indicator lamp output:
(The calibration button is only applicable when you have a plunger
sensor installed.)
Connect the calibration button to the CAL BTN connector
(JP3) on the main interface board.
ZB Launch Ball setup. You can set up your mechanical plunger
to act as a "virtual" Launch Ball button for tables that use a button
instead of a plunger.
Details
This feature lets you use a mechanical plunger in lieu of a Launch Ball button,
for tables that need it, in case you don't want to install a separate physical
Launch button. When this is enabled, you treat the plunger knob like a button:
push it a little forward to "click" the button. You can also pull back and
release the plunger to simulate a brief button push.
The feature is only activated when a non-plunger table is running
on the PC. We can tell because Visual Pinball turns on the output port
selected below when such a table is loaded.
The port you designate can be any type, including a "virtual" port that
isn't connected to any physical output wiring.
In the DOF Config Tool, be sure to
set the port number you designate here as your ZB Launch Ball port.
That connects everything on the PC to the right port.
Select the keyboard key or joystick button to send to the PC when
the plunger triggers a launch. This is usually the Enter key, because
that's what almost all PC pinball software uses.
The push distance sets the sensitivity. When you push the
plunger forward by this amount or more (and the feature has been activated by
the output port), the controller simulates pressing the Launch Ball button.
Set the distance far enough that it doesn't trip randomly, but short enough
that you don't have to push too hard. We recommend about .06 to .08 inches.
(The ZB Launch Ball feature only applies when you have a
plunger sensor installed.)
Output port number:
Important! Set this port to "ZB Launch Ball" in the
DOF Config Tool
Key/button:
Most PC pinball software uses the Enter key for ball launch
Push distance (inches):
Recommended value is 0.063 (about 1/16")
Button inputs. You can use the KL25Z as a key encoder to
connect pinball-style buttons on your cabinet to the PC. Set up
the wiring connections and key assignments below. Each input can
be mapped as a joystick button or keyboard key. Click an input
pin or key assignment to change a setting.
Note: your current firmware version supports up to
0 physical buttons. The
list above will automatically expand as you fill in new
items, up to the limit.
The TLC5940 is an integrated circuit chip that you can connect
to the KL25Z to add extra outputs for more feedback devices (lights,
solenoids, motors, etc). TLC5940 outputs have full PWM (Pulse
Width Modulation) capabilities, allowing the software to control
the brightness of an attached light or the speed of a motor. The
DIP version of this chip is no longer being manufactured, so you
can't order them from most distributors, but they're still easy
to find on eBay and elsewhere.
These chips let you go beyond the KL25Z's limited PWM capabilities.
The KL25Z only has 10 PWM channels of its own, which isn't enough
for most virtual pinball machines. Each TLC5940 chip provides 16 PWM
outputs, and you can connect two or more of the chips in a daisy chain
to add almost unlimited outputs. Only five GPIO pins are needed to
control the whole chain.
The Pinscape Expansion Boards use these chips to provide extra PWM
outputs. You can also install them with your own custom wiring. The
circuitry needed is outlined in the Build Guide. The settings below
configure the data signal connections between the KL25Z and the TLC5940's.
The TLC5940 configuration is automatically set up for your expansion boards.
The TLC59116 is an integrated circuit chip that you can connect
to the KL25Z to add extra outputs for more feedback devices (lights,
solenoids, motors, etc). TLC59116 outputs have full PWM (Pulse
Width Modulation) capabilities, allowing the software to control
the brightness of an attached light or the speed of a motor.
These chips let you go beyond the KL25Z's limited PWM capabilities.
The KL25Z only has 10 PWM channels of its own, which isn't enough
for most virtual pinball machines. Each TLC59114 chip provides 16 PWM
outputs, and you can connect up to 14 of the chips. Only three GPIO
pins are required no matter how many of the chips are attached.
The TLC59116 is a successor to the TLC5940 (see above) with a more
modern design. It's only available in a surface-mount (SMD) package,
which makes it a little harder to work with than the traditional DIP
form factor of the TLC5940NT. This chip is not interchangeable
with the TLC5940, even though it has a similar function, since it
has a different physical pin layout and a different software interface.
Each TLC59116 has its own unique address, set via the A3 A2 A1 A0 pins
on the chip: a pin wired to + voltage is a "1" and a pin wired to GND
is a "0". Select the addresses of the chips attached to your system
according to how you wired the address pins. Addresses 8 and 11
aren't shown because they're reserved for special purposes.
To disable support for this chip type entirely, un-check all of the
addresses to indicate that no chips are present.
GPIO pin assignments:
SDA:
SCL:
RESET:
74HC595 (external digital out chip) setupWhat's this?
The 74HC595 is an integrated circuit chip that can be connected
to the KL25Z to add more digital outputs for feedback devices like
solenoids and replay knockers. "Digital" means that the outputs
are strictly on/off: the software can't modulate intensity or brightness.
Digital outputs are ideal for feedback devices that inherently need only
on/off control, such as solenoids.
The Pinscape "Chime Board" uses this
chip to add outputs for replay knockers and chime units. You can also
add these chips with your own custom wiring; the circuitry is described
in the Build Guide. The settings below let you configure the data
connections between the KL25Z and the 74HC595's.
The 74HC595 configuration is automatically set up for your chime boards.
Number of 74HC595 chips:
SI (serial data) output:
SCLK (serial clock) output:
LATCH output:
ENA output:
Pinscape After Dark. You can set up a button or switch to
activate Night Mode, which disables the feedback device outputs
that you designate as noise-makers. This lets you play during late-night
hours without disturbing your party-pooper housemates and neighbors.
Details
Select an input button to turn
Night Mode on and off. Wire this like any other button.
You'll probably want to configure the button you select
for "No PC Input" in the button setup,
but you can have it send a keystroke if that's useful to you for
some reason.
If you don't want to wire a physical button for this, just
set the button number to 0 (zero). You can still control Night
Mode with the NightMode.exe program on the PC (it's in your
Pinscape Setup Tool folder).
You can also optionally select an output port to serve as an
indicator light, so that you can tell when night mode is turned on.
If you don't need an indicator, just set this to 0. If you do assign
a port, you should leave it unassigned in your DOF port layout.
Feedback device outputs. Pinball software on the PC can control
output devices connected to the KL25Z to create special effects during play,
such as tactile feedback and lighting displays. The PC software uses the
port numbers in the list below to address the outputs. Use these
port numbers when you set up your DOF configuration.
For each port, you can select the physical output pin that the port is wired to.
A "virtual" output is a software port that isn't connected to
a physical output. This can be used as a placeholder in your
DOF setup, or for a special function, such as the ZB Launch Ball
control port.
Virtual
ZB Launch Port
GPIO
PWM Out
GPIO
Digital Out
SPI (MOSI)
SPI (SCLK)
Analog In
Digital In
Interrupt In
TLC5940 Out
TLC59116 Out
74HC595 Out
Main Board PWM Out
Main Board Digital Out
Main Board
Power Board
Chime Board
Virtual Out
Select this option if you don't want the button to send
any input to the PC when pressed.