Poker Buddy: Pocket Poker Computer

by Gadget Gangster in Circuits > Microcontrollers

3530 Views, 20 Favorites, 0 Comments

Poker Buddy: Pocket Poker Computer

main.JPG
Win more poker games with Poker Buddy, the pocket-sized Poker Computer.  Poker Buddy calculates the odds that you have the winning hand at each point in the game, so you can maximize your betting strategy.  Here's a little demo;



Continue to the next step and I'll answer some questions, then I'll show you how to make your own!

FAQ

DSC_5513.JPG
How much does it cost?
About $35. I'll give you a list of the parts and where to get them, then show you how to make it.

Aren't people going to notice it?
Poker Buddy is designed to be carried in your pocket, and runs on batteries.  The switches can be installed remotely (like in your shoes), so the only thing exposed will be your headphones. 

How's it work?
Poker Buddy is designed for Texas Holdem - as each card is dealt, you enter it with the two small switches.  At every stage of the game (Pre-flop, flop, turn, and river) the probability that you have the winning hand is calculated and the results are read to you over headphones. 

How do you enter cards?
First, you enter the number of other players.  each tap on the left button adds a player, then tapping on the right button locks in the number. 

Then, you enter the cards rank - each tap on the left button increases the rank from 2 to Ace.  The right button locks in the selection.  Finally, you enter the suit;  1 tap = club, 2 taps = diamonds, 3 = hearts, and 4 = spades. 

The odds will be calculated, and read to you.   After the flop, it waits for you to enter the three flop cards, then re-calculates the odds.  Same deal with the turn and river. 

How are the odds calculated?
Given the data you've provided Poker Buddy, it simulates 1,000 hands of poker and adds up how many times you would have won.  The advantage of this approach is that probabilities can be generated even with very little information.  The simulations run in multiple cores to complete quickly, as well. 

Can I change X?
Of course - the code and circuit are open source, so you're free to modify / change / tweak as you see fit. I'll give you a brief tour of the sourcecode, too.  If you want to jump ahead, here's the sourcecode.

Make It: Parts

parts.JPG
First, collect all the parts you'll need;
  • QuickStart board (Source)
  • 2x small switches (Source)
  • Spare Prototyping board
  • 2x 10k ohm resistor ( Source)
  • 1x 47uF capacitor (Source)
  • 3xAA battery box (Source)
  • Spare hookup wire
  • Extra pair of headphones
  • Pin Headers (Source)
Poker Buddy requires a little soldering, but it's suitable for a beginner.  Let your iron warm up and continue to the next step. 

Make It: Pin Headers

DSC_5499.JPG
The QuickStart does most of the work and the few external connections we need will be built on top. 

We only need to connect to some of the headers on the QuickStart.  Using your pin headers, cut a strip that's 14 pins long, and insert it in the top row.  Cut out a single pin and insert it at #39.  Your board will look like the photo;


Then, put your prototyping board on top, as shown;


And solder it to the pin headers. #39 is Ground, and it connects to the long buss. 

Make It: Circuit

DSC_5502.JPG
Using a bit of hookup wire, connect the header position #30 to the center strip.  Connecting #30 to ground allows the QuickStart to work with an external power source, so it's a pretty common connection. 

The 10k resistors connect #28 and #26 to Ground; connect them like this;


#28 on the header is Propeller P27  #26 on the header is Propeller P25.  These are 'pull-down' resistors, they keep P27 and P25 at ground untill we connect them to Vdd.

Make It: Switches

DSC_5506.JPG
Flatten the leads on each of the switches, and cut off two leads from each so they look like this;


Cut two equal length strips of hookup wire and solder one side of each wire a leg of each switch.  You'll have something like this;



Connect the other side of each wire to #28 and #26;


The other end of each switch gets connected to V33.  Cut two more equal length hookup wires and connect them both to V33;



on one side, and then to the other lead of each switch.

Make It: Headphones

DSC_5511.JPG
Add the Electrolytic cap to the board, as shown;

There's a stripe on the Electrolytic cap - it goes on the left. 

Now, cut the headphone plug off your set of donor headphones.  There should be three wires;



The bare copper wire connects to the middle buss on the breakout board.  And either the green or red wire connects to the other side of the capacitor.  Here's what that looks like;



Almost done!  Last thing is to add the battery box. Red wire goes on the top right, and the black wire goes on the center buss;



Now you can turn your soldering iron off - let's get it running.

Using It: Installation

flipflop.jpg
Before installing, setup the Propeller Tool (Mac / Linux / Windows Instructions), download the Poker Buddy sourcecode (here) and unzip to a new directory on your desktop.  Open 'Poker_buddy_Standard.spin and hit F10 (load to EEPROM). 

You probably don't want to put Poker Buddy on the game table - an easy place to install it is in your pocket.  Have the switch wires run down your pant leg and into your shoes.  A little double stick tape will hold them down.  I suggest one switch per big toe, but it's up to you.

Using It: Playing Poker

cards.jpg
Everything can be customized, but here's the default setup;

1 - New Deal
The first thing you'll enter is the number of players at the table.  Each tap on Button A = another player.  So if you're playing against 2 other players, tap Button A twice and then tap Button B to lock it in. 

2 - Your Hand
Right after locking in the number of people you're playing against, you'll enter the two cards you were dealt.  First, the rank 
  • 1 tap = deuce
  • 2 taps = 3
  • 3 taps = 4
  • all the way to;
  • 9 taps = 10
  • 10 taps = Jack
  • 11 taps = Queen
  • 12 taps = King
  • 13 taps = Ace
Lock in your selection by tapping Button B.  Then select the suit;
  • 1 tap = Clubs
  • 2 taps = Diamonds
  • 3 taps = Hearts
  • 4 taps = Spades
You'll do that twice, once for each card.  Right after you enter your hand, the probability will be calculated and read.  I remember the suit order with the mnemonic; Cookies Do Have Sugar, but whatever works for you.

3 - Flop
Next, you'll be prompted for the '# of players' - this is the number of competitors remaining after the pre-flop betting round.  If there were 4 competitors and 1 folded before the flop, enter 3 (three taps with Button A and a tap with Button B to lock it in). 

Enter each card of the flop, in the same way you entered the cards in your hand - first the rank, then the suit. 

After the flop has been entered, your updated probability will be calculated and read out loud. 

4 - Turn
Now, enter the number of players remaining after the flop betting round.  If there are two competitors remaining, enter 2 (two taps with Button A and a tap with Button B to lock it in)  Then, enter the turn card in the same way you entered the cards in your hand. 

After you enter the turn card, probabilities will be updated and read to you. 

5 - River
Finally, enter the number of players remaining after the turn betting round.  Then enter the rank and suit of the river card.  The final odds will be calculated and read to you, and the system will reset for the next hand. 

Folding
If you want to fold, just hold down Button A and Button B at the same time and the system will set up for the next hand.

Customizations

motor.jpg
Here are a few ideas on how to customize your Poker Buddy;

Better Sounds
The default Poker Buddy program uses a 'text-to-speech' engine to give you feedback - I found that it sounds pretty rough and I upgraded my to play back audio files - recordings of me reading numbers and suits.  Here's the updated program using voice playback.

Different Alerts
Instead of alerting you audibly, why not turn a small vibrating motor or blink an LED connected to your sunglasses?

Whatever you do do customize Poker Buddy, have fun with it and let us know how it goes!