New Life Games LLC

Homebrew Player Tracking and EFT Systems => NLG Homebrew Player Tracking and EFT Systems => Topic started by: foster on February 22, 2014, 01:01:17 AM

Title: Arduino Based TITO System
Post by: foster on February 22, 2014, 01:01:17 AM
This would not have been possible without some help from TZTech and parts from a Bally MasterCom 250 system
Parts from MasterCom 250 are the VFD display parallel and serial versions, and keypad
Other parts required Max232 or other EIA232 or RS232 driver/receiver chip
Your machines must support SAS and TITO fully.

I have developed a TITO and Legacy bonus System using a Arduino Leonardo, Uno and others that use the ATMega328 or ATMega32u4

Features:
Custom scrolling message on the Bally MasterCom display on top line of display and Good Luck flashing on bottom line. bottom line used for machine status messages: Tilts, errors, tickets, etc
TITO - Ticket-In, Ticket-Out using system validation
Legacy Bonus I have 5 values triggered by the keypad and one value for the change or service light player switch.
read machine Coin in and out meters with out using the jackpot key or opening the door.
Major machine event are displayed on the VFD
  Examples: Main Door opened/closed, reel tilts, ticket inserted, redeemed, legacy bonus amounts awarded, etc, etc.
Hand pay reset without the jackpot key.

Features I had originally added to it but removed due to ruining the 1K or so EEPROM that can accessed via the EEPROM library
  SAS progressive was easier to change the value via the keypad than using the key chip.
  Player tracking  amount wagered and won with names no cards needed (easily handed 20 players)

I will help any that are willing to pursue their own Arduino TITO setup.
You must do the coding I will help with minor issues and hints I want to keep most of my code for my use. and I may not code the same as you.
Also You may want to search for the SAS Implementation  on the Montana government gaming site.

You will need to watch how often you send gen poll then poll that machine
20 ms delay between the 0x80 and 0x81 bytes is required or repeated replies from the machine will occur
Thanks to TZTech for pointing this out to me
 
A reasonable donation to NLG for site costs will get some serious help in the coding area.
 
A big hint: The protocol is serial 19,200 bps, 9 data bits 1 start and 1 stop.

Here is a YouTube video of my system displaying machine status messages.

VFD Demo 1 (http://www.youtube.com/watch?v=JDyfhYUzkLk#ws)

Title: Re: Arduino Based TITO System
Post by: foster on July 21, 2014, 05:59:08 PM
I just got done designing schematics and PC boards 2 versiions of a Arduino TITO system

Basic System with no Keypad or LCD/VFD connectivity Single Sided Printed Circuit board with through hole components
  Either 5V input via the machine interface header or 7-14V via DC power jack (5v regulator on board)

Full version Display VFD or LCD and keypad - supports both Bally MasterComm 250 Displays and has enough extra pins to handle any keypad matrix every pin(except D0, D1 used by the UART) from the ATMega328 is connected to the 26 pin header for the display and keypad
One end of the header is wired the same way  the 14 pin(2x7) header is on the Hitachi 44780 driven LCD including the Noritake CU20025 series of VFD's, Serial LCD or VFD will only use 3 of the pins.

I would order up some boards but they are very expensive per board unless I order over 50 boards. I have only checked one or two PC board makers.
$500-$700 for 100 boards depending on which version etc
 
Title: Re: Arduino Based TITO System
Post by: foster on August 21, 2014, 12:54:12 AM
Here are my PC Board designs
Version 1.0 only supports basic TITO and legacy bonus via change light on/off sequence
Version 2.0 has provision to handle keypad and display as noted above the 3 pin device in the middle is the optional potentiometer for LCD contrast use only.
Most LCD's in player tracking have a decent back light setting so its left alone.
The Display D4-D7 are the D4-D7 designations on the Hitachi 44780 driver I use the Arduino A0-A5 pins to drive the display and the keypad D4-D7 are the Arduino Digtal pins


I had to fix a missing capacitor I didn't change version numbers because it was an design error on my part and not a true update.
I goofed while rearranging a cap and it was auto connected to a pin was supposed to have its own cap.
I didn't miss it until I was double checking max232 cap requirements and looking at the correct schematic for a max232 circuit.
for those that are curious it was a cap that auto connected to pin 2 or 6 and was already connected to either 2 or 6
so my first 3 boards will either be hand drilled to allow the 2 caps to both be on top or I will just putt on solder side between VCC and Pin 2 , and 6 and GND.

It is the programming that was tricky.

I added some details to this post.


Title: Re: Arduino Based TITO System
Post by: knagl on August 27, 2014, 06:21:42 PM
Nice work!  I'm going to share this thread with a friend who has done some Arduino programming -- I'm sure he'll find it interesting.
Title: Re: Arduino Based TITO System
Post by: foster on August 28, 2014, 12:43:23 AM
I'm still waiting for my first batch of 3 boards.
12 days is a long time.
It was assigned to a full panel with other boards by Osh Park on the 21st.
I suspect they will get either the full panel back or the loose boards Thursday or Friday.
Since the Osh Park staff do a lot of the checks before they add it to a full PCB Panel of other boards to be sent to the PC Board maker.
I get to do the Board Assembly. glad I have a decent Soldering Station.
Title: Re: Arduino Based TITO System
Post by: foster on September 02, 2014, 06:37:46 PM
Here is one of the fully assembled boards.

I had to put 2 of the Max232 caps on the solder side since I messed up the layout on these
the final version will have all 4 caps correctly placed.

I also found out I didnt leave enough room for the caps as well.
I had to adjust the schematics and board layouts to allow for small electrolytic capacitors
Title: Re: Arduino Based TITO System
Post by: 747builder on September 05, 2014, 12:29:51 AM
Foster,

Very nice. hope you socket the IC's in case they go bad or are bad before soldering into the board, be easy to change out later.

Title: Re: Arduino Based TITO System
Post by: foster on September 05, 2014, 09:22:36 AM
The ATMega328 is in a socket
So I can change someones message if they like.
 
I do not want a firmware snafu ruining a board either.
Title: Re: Arduino Based TITO System
Post by: DocPaul1 on February 15, 2016, 11:58:15 AM
Mr. Foster:
  I saw the Utube video of your scrolling "Welcome" message.  Is that public domain or is it your propriety sketch ??  If public, could you send me a copy for my 1602 Arduino system ?  Thank you in advance.
Doc.
Title: Re: Arduino Based TITO System
Post by: MartinS on March 29, 2018, 09:47:28 PM
Hello guys


I know this is an old topic but pardon me. I am looking for some pointers to making a physical connection between an IGT S+ machine and an Arduino for serial comms. Thanx in advance.
Title: Re: Arduino Based TITO System
Post by: DocPaul1 on March 30, 2018, 12:47:34 AM
Hi Martin.
  Let me get back to you on this subject after Easter.  I have pics to show what I've done and also an Adruino sketch using various LCD displays.
 I also have wiring diagrams to make any install very easy.
 Doc.

Title: Re: Arduino Based TITO System
Post by: MartinS on March 31, 2018, 08:25:59 AM
Thank you. I will appreciate that very much!!
Title: Re: Arduino Based TITO System
Post by: nippit on April 01, 2018, 07:13:41 AM
Hi Guys,


I know this is an old tread,


@foster @doc, so is the sketch public?


or where can i get it?


I would like to get this working on my machine


any help is appreciated


cheers
ZoTaR
Title: Re: Arduino Based TITO System
Post by: DocPaul1 on April 01, 2018, 09:01:43 AM
The one that I have I will declare as Public Domain.  You can adapt, adjust, add or subtract from it as you please.
I will put the sketch and a video (if i can figure out how to link it to this site) here and you can work from there.
I won't be able to get to it until mid next week or there about.


I had a lot of fun writing and playing with it and I hope that you will have fun with it also.


Doc.
Title: Re: Arduino Based TITO System
Post by: DocPaul1 on April 07, 2018, 04:52:36 AM
This is to Nippit:
  I finally got my act together and I have the sketch info you wanted.  If you PM me I will send you the info so as not to bother any other users with my junk.
Doc.
Title: Re: Arduino Based TITO System
Post by: MartinS on April 09, 2018, 02:21:42 AM
Kindly, may I also PM you. I also requested for similar help. Thanx
Title: Re: Arduino Based TITO System
Post by: DocPaul1 on April 09, 2018, 02:29:20 AM
MartinS: absolutely, PM me anytime.
Doc.
Title: Re: Arduino Based TITO System
Post by: MartinS on April 11, 2018, 03:57:27 AM
Hi guys,
First of all I want to thank @Doc for sharing info on his IGT S+ Arduino project. While I was fascinated by it, and might eventually incorporate ideas from it into my project, I am really interested in something different. I, particularly, want to establish SAS communication between an Arduino micro-controller and my IGT S+ machine. I am seeking help with:
(i)                  The physical (pin to pin) connection between the Arduino and the machine, and
(ii)                A basic sketch for, say, sending a General Poll to the machine and receiving a response from the machine.
I have, based on various posts here, done some work on the above 2 but without success. That’s why I decided to stop pulling out my hair, and seek help from you all. Perhaps if I describe what I have so far, someone will kindly give me a much needed push. Here goes
 
1.       Arduino Sketch
I have attempted to write a sketch to send a General Poll command, receive the response and display it on an LCD. This uses 11 bits serial communication (1 Start bit, 9 Data bits, 1 stop bit) at 19,200 baud rate (per SAS protocol). I even put a 20ms delay between the 0x80 and 0x81 transmissions, as suggested by Forster and others here. I have tested this between two Arduino Megas and it seems to work, but doesn’t work between Arduino and machine.


Please see attachment  - Sketch "Arduino_SAS_Host".
 
2.        The Circuit
I have a breadboard for the power supply and 74H04 IC setup as follows:
 
a.       5V+ power comes from J9 of machine : J9-1 to GND rail and J9-2 to VCC rail of breadboard, and goes into
b.      7805 IC with 1000uf and 100uf caps, which gives
c.       5V+ and GND to lower power rails of the breadboard
d.      Chassis ground connected to lower GND power rail of bread board[size=78%] [/size]
 
                I then have J4 of the machine and 74H04IC setup as follows:


e.      J4-2 to lower GND rail of breadboard
f.        J4 -7 to lower 5V+ rail of breadboard
g.       J4-5 to pin 1 of 74H04
h.      4-9 to pin 12 of 74H04
i.         Pin 7 of 74H04 to lower GND rail of breadboard, and
j.        Pin 14 of 74H04 to lower 5V+ rail of breadboard
 
                Then, I have the Arduino, 74H04 and LCD setup as follows:


k.       Arduino GND to lower GND power rail of breadboard
l.         Arduino 5V+ to lower 5V+ power rail of breadboard
m.    Arduino RX1 to Pin 2 of 74H04
n.      Arduino TX1 to Pin 13 of 74H04
o.      Arduino SDA to LCD SDA
p.      Arduino SCL to LCD SCL[/size][size=78%] [/size]
[/size][size=78%] [/size]
Guys I am just a bean counter by occupation and have reached my wits’ end. I would really appreciate some help here.
 
Thanx in advance.
Title: Re: Arduino Based TITO System
Post by: iwalker on April 11, 2018, 01:36:43 PM
Hello MartinS


There is tons of information on the old NLG Site - http://newlifegames.net/nlg/index.php?PHPSESSID=50363d01032867fb14aa35aab67bb5ea&board (http://newlifegames.net/nlg/index.php?PHPSESSID=50363d01032867fb14aa35aab67bb5ea&board)
Specifically releted to S+/PE+ comms - http://newlifegames.net/nlg/index.php?topic=11773.25 (http://newlifegames.net/nlg/index.php?topic=11773.25)

Title: Succesdes with Arduino SAS Host
Post by: MartinS on April 21, 2018, 07:13:39 AM
Hello guys.
I pressed on with my Arduino Host project  and I am delighted to report success :dancing_2: :dancing_2: . I am now able to send general polls to my IGT  S+ from my Arduino and receve Event Exception responses. For instance, I can get 11 (Slot door closed) and 12 (Slot door open) as well as a couple of others I have coded.


I àm now struggling with long polls. For the last week I have been trying to read coin-in-meter, for instance, without any success. I have tried innumerable ways to no avail. I only get back the machine address. I've read in various places that this means the machine is not receiving a valid SAS poll.
Would someone PLEASE  give me some hints on how to implement the correct long poll.
Thanx in advance.
Title: Re: Arduino Based TITO System
Post by: foster on August 13, 2018, 07:51:51 PM
Long poll
Machine address byte 9 bit on (1)
Rest of bytes sent 9 bit off (0)
For long polls if CRC bytes needed you must do the calculation per implementation guide
And also if a length byte is used must be set correctly as well
Title: Re: Arduino Based TITO System
Post by: se7en on March 06, 2019, 01:50:36 PM

Hello
I have a year since I've been looking for an arduino code to help me communicate through the igt-sas v6 protocol.
  If someone can help me with an example of code that I can block and unlock a slot machine with an arduino module, I would be very pleased.
I'm more interested in the code settings for communication (parity, stop bit, etc) and how they send wake-up.
thank you :hail:
Title: Re: Arduino Based TITO System
Post by: ANIslots on March 11, 2019, 10:46:54 AM

Hello
I have a year since I've been looking for an arduino code to help me communicate through the igt-sas v6 protocol.
  If someone can help me with an example of code that I can block and unlock a slot machine with an arduino module, I would be very pleased.
I'm more interested in the code settings for communication (parity, stop bit, etc) and how they send wake-up.
thank you :hail:
here you go.. setup your serial port first basic arduino stuff..


Code: [Select]
void write9bit(byte byte9bit)
{
  UCSR1B = 0b10011101;  // turn 9th bit on
  Serial1.write(byte9bit);
  UCSR1B = 0b10011100;  // turn 9th bit off
}
void GeneralPoll(boolean S)
{
 
  if (S) {
  write9bit(0x80);
  delay(10);
  //Serial.println("80 ");
  }
  write9bit(0x81);
  delay(1);
  //Serial.println("81");
}
void LongPoll(byte LP[], byte len)
{
  write9bit(LP[0]);
  delay(10);
  for ( byte x = 1;x<len-1;x++)
  {
    Serial1.write(LP[x]);
  }


delay(75);
}

Title: Re: Arduino Based TITO System
Post by: ojgn0925 on March 12, 2020, 09:45:30 AM
buen dia  este sistema ya alguien lo ha probado,, desearia tener mas informacion
Title: Re: Arduino Based TITO System
Post by: marcdavis on December 24, 2020, 01:24:25 PM
Here is my Arduino TITO and Player Tracking project - feel free to take a look - it implements what you are looking for. https://github.com/marcrdavis/ArduinoTITO-PlayerTracking

Title: Re: Arduino Based TITO System
Post by: Eddiie on December 28, 2020, 08:51:02 PM
Here is my Arduino TITO and Player Tracking project - feel free to take a look - it implements what you are looking for. https://github.com/marcrdavis/ArduinoTITO-PlayerTracking

What!   Wow!  Sweet.   I am looking forward to checking this out.
Title: Re: Arduino Based TITO System
Post by: sailbert on April 21, 2021, 08:03:13 AM
I have ordered my arduino and Ethernet board.  I am going to build it.
Title: Re: Arduino Based TITO System
Post by: marcdavis on May 24, 2021, 11:20:48 AM


Hi Everyone! Just released a very 'experimental' version of the Arduino TITO and Player Tracking project that may be of interest to some of the more 'adventurous' modders: Jackpot Camera Support


EXPERIMENTAL BUILD 20210522C


Included in this package is an experimental version of the MAGSTRIPE sketch that includes support for the ArduCam OV2640_MINI_2MP_PLUS Camera Module for the purpose of implementing a 'Jackpot Winner' Photo. Admins can set a minimum jackpot amount at which a photo will be taken of the player. The photo can be seen or downloaded using the Web UI. This is an experimental feature and is NOT RECOMMENDED for novice users as it requires modification of the cabinet or player tracking bracket to accommodate the camera. This feature is also only compatible with the MAGSTRIPE version due to limits in the SPI bus. Please see the Addendum PDF in the download for more information. I make no promises that this code will make it into the main branch.


Link: https://github.com/marcrdavis/ArduinoTITO-PlayerTracking


If you do implement it - please share your experience and photos of the finished work. Thanks and enjoy!


Marc



Title: Re: Arduino Based TITO System
Post by: Iamwally on October 11, 2021, 05:26:30 PM
Just want to say a big thank you to Marc for his awesome player tracking and Tito solution!!!  I am currently not utilizing the player tracking features as I do not have all the parts for that but in the future I may and it is nice to know the capability is there!!!  I can say that any issues I had with setting it up were my own stupid mistakes🤪. His documentation is spot on!!  His patience level is also quite high as he helped me quite a bit!!!
This is a great solution that works quite well!  I have attached some photos and I will include the link to the 3d printed case I used which makes it look quite neat!😎

https://www.thingiverse.com/thing:617752 (https://www.thingiverse.com/thing:617752)


Title: Re: Arduino Based TITO System
Post by: marcdavis on October 11, 2021, 06:15:22 PM
You're very welcome sir!
SimplePortal 2.3.5 © 2008-2012, SimplePortal