KL25Z Freescale
The FRDM-KL25Z is a hardware platform featuring the Freescale open standard embedded serial and debug adapter known as OpenSDA. This circuit offers several options for serial communications, flash programming and run control debugging. For the purpose of Virtual Pinball, we are using it in combination with the Pinscape software.
Why use this board?
This allows to connect your cabinet buttons. When configured with the Pinscape software and Visual Pinball, pressing your cabinet buttons will trigger the different actions in the Pinball table.
This allows to connect your Toys ( See Glossary page to view what all the toys are )
When connected to the power supply and configured with the Pinscape software , Visual Pinball and DOF will enable force feedback during the gameplay.
This allows to connect your Flasher Lights Also known as RGB Lights. When configured with the Pinscape software , Visual Pinball and DOF will enable RGB lights during the gameplay.
PRO:
-
Cost about $30
-
Very common board
CONS:
-
Availability
-
Requires power booster
-
limited number of ports
How to get started?
If you have decided to use this board, which is the most common board used by the Pinscape boards, Arnoz's solution, Cleveland Software solutions. You can use the KL25Z as a standalone board and this is what this tutorial will be focussing on.
Before using this board you should familiarize yourself with it. I will spend some time explaining how it works and what pins are what. My goal is to dumb this down to make it as easy as possible to understand. Below are the official KL25Z manuals and MJR guides. ( Michael J Roberts is the creator of the Pinscape software )
Preparing the KL25Z
Depending where you purchased your KL25Z, it may or may not have Pin headers. If you don't want to solder, some places will allow you to order the KL25Z with the header already soldered. If you want to order the proper Header for it You'll sometimes see this expressed as 2.54mm pitch, which is of course the same as 0.1.
Headers & Wire Housings 08+08 DIL VERTICAL PIN HEADER TIN. 2.54 mm
Pins setup if you are using an expansion board
Pins setup if you are using the board standalone
You will need to solder the pins. Get yourself a magnifying glass and a soldering iron.
Flashing the KL25Z
Now you will need to flash the Pinscape software on the KL25Z. Head over the the MJR site and download the latest config Tool for Windows.
- Download the Pinscape software
- Download the KL25Z firmware
Connect the mini B usb cable to the the SDA usb port and plug it in your computer usb port.
Launch the PinscapeConfigTool.exe and choose setup a New KL25Z
This is only if you have multiple KL25Z ( Which is rare )
Click continue to get started. The software installation is really well designed, it will tell you what to do and when to do it.
Configuring Pinscape
Select the stand-alone Kl25z
There is an accelerometer built in the KL25Z. This will allow you to push on your cabinet to nudge. Select the orientation of your KL to tell the software what is your setup. you can set it up in any direction as long as it is levelled.
If you want to connect a plunger to your setup, you will need to select your sensor type from the drop down. Most people have a potentiometer for their plunger. For the time being, i will set it to none. I will have a full Pinscape tutorial and will address additional settings.
Now this is for the buttons inputs that will connect to the KL25Z. Let's see where the ports PTC2 , PTC3 Etc are on the KL25Z. The easiest way is to click on the Test button.
This is where you can connect your buttons on the KL25Z. An arcade button has 2 Pins on it, a signal and a ground. It does not matter which one connects to the ground as it simply completes the circuit. You will find an example of the connections below.
one wire needs to connect to the GROUND
one wire needs to connect to one of the white button ports listed on the picture above
As i am scrolling through the different buttons from 1 to 24, you will see the port on the KL25Z corresponding to it.
As i am scrolling through the different Outputs 1 to 24, you will see the port on the KL25Z corresponding to it. Port 1 to 9 has a slider bar, this means it supports PWM ( Dimming )
Buttons inputs and toys outputs
There are 4 types of functions on this board useful for Virtual Pinball.
-
Inputs for buttons
-
Outputs for toys ( Knocker, solenoids, gear, strobe, Beacon )
-
Output Pulse with Modulation (PWM) used to add dimming function
-
Power output ( 5v, 3.3V )
Below i labelled the ports of the KL25Z. You can download the image and use it as a reference.
Connecting Toys
In this section i will connect one toy and test it with the pinscape software.
WARNING
The KL25Z is very sensitive to power variation. DO NOT connect any power to it. You only connects the ground of the devices. The KL25Z board gets the 3.3V power from the computer USB.
A separate power booster is REQUIRED in order to connect the Toys. The KL25Z has a maximum of 4mA per port. What is that mean? that means in order to trigger pretty much anything on the board you need to add extra power like a MOSFET booster board or
Buttons connecting to the KL25Z, don't need a booster.
Some people are reporting that the red MOSFET board has issues. Here is a white paper from Adam Sullivan: Red MOSFET board not providing isolation between input and output. LINK. An alternative to this is to use the Green MOSFET board like this one.
Example of connecting a 12V shaker motor using a KL25Z and a MOSFET board
When connecting a TOY to the KL25Z board, use the signal Pin#1 of the channel. There are 4 channels, this means you can connect 4 things per MOSFET board. It can be used to control 100V/33A DC circuit. However, it is suggested that the controlled DC voltage is more than 9V. If you have more devices, use more boards. If you need to use for example 24v, use a separate board for the 24v toys.
Example of connecting a 12V RGB light using a KL25Z and a MOSFET board using Arnoz 12V RGB
When connecting for example a 5 LED flash bar, you will need 15 ports. 1 port per colour and 3 per RGB LED (Red-Green-Blue). In order to connect a 5 LED flash bar, you will need 4 MOSFET boards.
Testing the Toys connections
To connect your Toys, look at the KL25Z Pinout diagram for Virtual Pinball to see where you can connect your toys ( Purple and Yellow ).
Test your toys one at the time. In order to test them, using the Pinscape Software.
Output section of the Pinscape Software allowing to set up your toys connected to the KL25Z board.
Pinscape software Ports -Type- Pins ( Left )
KL25Z Ports -Type- Pins (Right )
This shows for example if you connect something on Pin#2 on Header J1, in the Pinscape software it means for all our Config purposes, It is Port No.1
If you connect another toy to Pin 4 on the J1 Header of the KL25Z, in the Pinscape Software it is Port No.2 etc...
To test the output of the toys connected to the KL25Z, click the Test Output button.
The Output screen allows you to click the ON button to test the toy connected on the matching port. When clicking the ON button, the toy will turn on. The Sliding bar it to dim the lights or Shaker motor.
Now you should get a good understanding of how the KL25Z works and how it configures to the Pinscape software. The purpose of doing all this is to enable force feedback. You need to Enable Direct Output Framework (DOF) in order to have the tables speak to the Pinscape.
This Article showed how to connect your Virtual Pinball devices to a KL25Z and how to test them using the Pinscape software. There are other devices you can use as a replacement for the KL25Z such as the LEDWIZ and the Saintsmart Relay board. There are many other devices available that are incorporating the KL25Z and adds functionality like extra ports and a much easier and more comprehensible way to connect all your wires.
Here are the different Controllers i tested and recommend.
-
Rigmaster ( this is an all in one board using the KL25Z and adding several ports
-
KLShield ( this is a KL25Z extension board )
-
LEDWIZ ( This is a buttons and devices solution like the KL25Z
-
Pinscape Oak Micros AIO ( Kl25Z expension board and adding several ports