Card-Launching Purse for Mark Rober’s Casino
Today I’m going to walk through how I made my card-launching purse, which is one of the distractions I built for Mark Rober’s casino party.

We were invited to create engineering cheats for the casino games. But I can’t keep a poker face even when I’m not cheating, so I thought maybe I could just help my friends not get caught by supplying a well-timed distraction. What if cards started flying around unexpectedly? Maybe a purse that launches cards- that could be good.
So I thought about what might already exist that does this– launches cards in the air. My first idea was those devices that spit out money. While I was shopping for those, the UNO Attack Mega Hit game popped up as a related product. I didn’t know about this high-tech UNO game until then– I had only played with the cards alone. It already does so much of what I want; I immediately ordered two.
In addition to the game device, I used these parts and tools:
- C batteries
- Seeed Xiao ESP32 microcontroller
- Adafruit DRV8833 motor driver breakout board
- USB battery pack
- Momentary switch
- Mini solderless breadboard
- Small Solderful breadboard
- Soldering supplies
- Hookup wire
- Smaller-than-normal playing cards
- Black tape
- Rotary tool
- Sheet metal snips
- Purse that fits the device inside
Visit this project’s github repository to download the Arduino code for this project!
The device takes three C batteries, which contribute to the heft and stability of the thing. It holds cards in a hopper with a weighted arm that gently presses them against the rubber wheel. When you press the button, it lights up, makes a sound, and sometimes ejects cards by spinning the motor inside, which flings the cards touching the rubber wheel.

I went about taking one apart to figure out how it works. This was really difficult! As I nibbled away at the yellow plastic of the exterior shell with my sheet metal snips, I could see it was two halves that snapped together. So it was never intended to be disassembled, but I do think it was designed to withstand a fall from at least table height, as most things classified as ‘toys’ should. This thing is rock-solid. Good user experience, but at the expense of being difficult to recycle at the end of its life.

Thankfully, it was much easier to figure out how it works than to physically open it. The main circuit board sits below the red lever, and connected to it are a speaker, LED, motor, and the battery pack.
I really appreciate the design and engineering of the hopper and gearmotor. I’m not so awesome at mechanical engineering as to say I could do better by designing it myself, so I plan to reuse this part of the product, if I can.
It was easy to disable the speaker and front LED by disconnecting them. The main circuit board hosts two tactile switches, and the program only dispenses cards some of the time– that’s part of how the game is played. But I can’t put my own code on this board– it’s got an epoxy blob over the brain. So I disconnected the motor from the main board and hooked up my own motor driver and microcontroller.

I connected the device’s three-C battery pack to my motor driver. But I didn’t use it to power my microcontroller– I connected an additional USB battery pack to the Xiao board instead. This avoids noise in the power source caused by the motor, which is important since we plan to add wifi later.
I added a momentary switch, and my code turns the motor driver on as long as it’s pressed. This is great for dumping all the cards in the hopper at once, and it can hold two decks or about 100 cards. But if I stop before that, some of the cards get stuck.
So I looked again at the original product’s functionality and noticed that it’s actually reversing the motor for a period of time after each launch. This tucks any partially ejected cards back into the device. It’s a nice feature. So although I could replicate this functionality with my own motor driver, I wanted to see if I could figure out a way to reuse the existing one.
Armed with the info about the locations of all the components inside, I could more selectively destroy the second product while retaining the parts I like, particularly the upper part of the hopper that supports the little door so the cards are totally enclosed and cleanly hidden. I covered the yellow plastic with black paper tape. BPT is my MVT, my Most Valuable Tape. I soldered wires to one of the tactile switches on the original product’s circuit board. One connects to ground, and the other to a digital output on my Xiao ESP32 board. I’ve got a pushbutton connected to a different I/O pin.
The code is checking the pushbutton input, and when it’s tripped, a function runs that triggers the hacked tactile switch multiple times, on and off. This replicates the action of a person pressing the device’s switch eight times. So no matter what, some cards will fly out, but it could happen anytime in the next few seconds. This randomness of the timing is pretty fun, so I’m keeping it.
I found a purse online that is the right size for holding the card launcher, and it has a hinge opening that perfectly fits the width of the device. I tested it out on my lap to see if I could be subtle about pressing the button from the outside of the bag. My goal is to look just normal enough not to tip people off before the cards launch, but I’m not trying to plan a clean getaway or anything.
My main goal is to support my friend Christina, aka She Builds Robots, who built a garter-mounted device to count cards in blackjack. So I want to pull people’s eyes away from the leg area, and I think I’d be better served plopping my purse on the edge of the table.
Now I’ve got two prototypes: the more skeletal version where I’ve stripped down the enclosure and replaced the motor driver, and the more intact version where I’ve applied the findings I learned from the first one. Both of them send cards flying at the push of a button, in their own way.

Next it was time to add the wifi feature– wouldn’t it be just perfect to be able to activate the card launcher from across the room? A captive portal running on the ESP32 would be the perfect thing. Now when you join the launcher’s wifi network from your device, you are automatically forwarded to a page with a button that launches the cards.
One important issue that I’m glad I caught early is that UNO cards are smaller than standard playing cards. So I had to source children’s playing cards that match the dimensions of the UNO cards. I actually like that they’re a different size, so that if they land all over the table, they’re not actually messing up anyone’s game. I’m too nice for that.
So I prepped my special cards by unwrapping the decks ahead of time and packed up my supplies for Open Sauce.

On the night of the party, I had access to a green room area where I could lay out my gear and set up for mid-party card reloads, as well as the other distractions we came up with to fill out my Distraction Broker menu.
At the party, Christina’s blackjack table was standing height, so it was natural to rest my purse on the edge of the table. And I tended to leave spilled cards wherever I wandered, which was a fun clue for Mark to find, and ultimately how he found me out.

