[λ] thegeez blog index

A bird video poker game with PicoLisp prototype for the Sensor Watch

05 Jan 2026

The 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

Click to load emulator

Sensor Watch Emulator

Light Mode Alarm

Skin

Volume

Location

Temp.

C

Original F-91W SVG is © 2020 Alexis Philip, used here under the terms of the MIT license.
Emscriptem/WASM Sensor Watch Emulator