A bird video poker game with PicoLisp prototype for the Sensor Watch
05 Jan 2026The Sensor Watch is an ARM microcontroller board replacement for the Casio F-91W wristwatch. Which is the first watch I ever had. The Sensor Watch is named for the possibility to add a temperature or accelerometer sensor. I have no need for either of those, but I do want to program a game to create a smart, but not too smart, watch.
The constraints for any custom program are that the watch has 3 buttons and the LCD screen has 6 clock digits, 2 day digits and 2 weekday segments. My first idea was to make a video poker game. However I couldn't figure out a way to display 5 playing cards within the available digits, where each playing card has a rank and a suit. Luckily, I came across a blogpost about an alternate poker variant, called Bird Poker. Which uses a single suit of 13 cards, plus 4 wildcards. And creating 17 different characters within a single digit segment was more feasible.
The Sensor Watch is programmed in C. It comes with an excellent emulator, but developing a new program still requires quite a make and compiler toolchain. Therefore I first made a Bird Video Poker game using PicoLisp, which is an interpreted dynamic Lisp. With a command line version of Bird Video Poker it was much easier to explore the bird poker variant and its possible different hand combinations. as well as figuring out the screens and interactions with only 3 available buttons. Because PicoLisp has seamless interop with C, the hand rankings and scoring algorithm was ported to C and then tested for equivalence with the PicoLisp version.
The C and PicoLisp code for Bird Video Poker are available on https://github.com/thegeez/watch_bird_poker/.
Below is the Sensor Watch emulator with Bird Video Poker. As in regular video poker, you are dealt five cards. You may then discard zero to five cards and redraw those. As mentioned bird poker is played with one full suit of 13 cards from Ace to King and 4 wildcards. The wildcards have the rank of 4, 7, 10 and K. The crux of bird poker is that these wildcards can be their own rank or any lower rank. The best possible hand remains a Royal Flush, an Ace high straight with no wildcards. This hand pays the accumulated jackpot (starting at 250). The second best hand is a 5 of a kind. Which can be at most 4 high as it needs all 4 wildcards to be made. Any pair needs at least a wildcard. Because of this the traditional poker hands of a Full House and Two Pair don't occur in bird poker. The five cards in such a hand will always be able to form a beter 4 or 3 of a kind.
The cards in Bird Video Poker and their representation:
A 2 3 4 5 6 7 8 9 T J Q K
_ _ _ _ _ _ _ _
|_| _| _| |_| |_ |_ _ |_| |_| _ | |_| |_
| | |_ _| | _| |_| | |_| _| |_| _| |
_
|_| _ |_| _|
| | _ |
W4 W7 WT WK
The hand rankings and payouts:
Hand combo Symbol Payout Royal Flush rF Jackpot (starting at 250) Five Of A Kind 5|- 30 Straight Flush SF 10 Four Of A Kind 4|- 4 Straight St 3 Flush FL 2 Three Of A Kind 3|- 1 Pair P 0 HighC HI 0
Controls:
Light / Top Left Deal cards Redraw cards (in first position with symbol -) Mark discard (blinking card) Alarm / Bottom Right Switch to info screens Move selector right (in select screen after Deal) Mode / Bottom Right Switch watch face between clock and Bird Poker
Sensor Watch Emulator
Skin
Volume
Location
Temp.
Original F-91W SVG is © 2020 Alexis Philip, used here
under the terms of the MIT license.
Emscriptem/WASM Sensor Watch Emulator