← Back to list

ECO Play Cricket Bluetooth External Scoreboards

I’ve recently added Play Cricket Scorer (PCS) as a connection into my Umpire Ball Counter app on the Bangle.js2 and this is some of the…

Andy Smy · 2025-06-22 16:36 · 0 claps · 4.3 min read
#bluetooth-low-energy #cricket #iot #cricket-scoreboards
Open on Medium ↗
Wiki topics: 📟 · Gadgets & IoT 🏆 · Sports · General

ECB Play Cricket Bluetooth External Scoreboards

Cardboard box prototype scoreboard with two 8x32 LED matrix displays and a 241 LED circular display

Cardboard box prototype scoreboard with two 8x32 LED matrix displays and a 241 LED circular display

I’ve recently added Play Cricket Scorer (PCS) as a connection into my Umpire Ball Counter app on the Bangle.js2 and this is some of the information I’ve discovered.

If you can find a public source of documentation of the PCS bluetooth protocol, please let me know 😂

Thanks to the Build your own scoreboard team, I found the Bluetooth service and characteristic UUIDs in their Bluetooth code.

On the Bangle.js2 smartwatch you can use these to advertise as an external scoreboard which appears in PCS Match Settings.

External scoreboard service UUID: 5a0d6a15-b664-4304-8530-3a0ec53e5bc1.

Scoreboard item characteristic UUID: df531f62-fc0b-40ce-81b2-32a6262ea440

  NRF.setServices({
"5a0d6a15-b664-4304-8530-3a0ec53e5bc1" : {
  "df531f62-fc0b-40ce-81b2-32a6262ea440" : {
    value : ["BTS100/987654321"], 
    writable : true,
    onWrite : ...

Advertising as a peripheral will allow your device to appear in PCS. In “Match Settings”, choose “External Scoreboard”, then select “Generic” for “Manufacturer” and search for your device.

Set of three screenshots showing connection of external scoreboard “Jolt Scoreboard” in Play Cricket Scorer.

Set of three screenshots showing connection of external scoreboard “Jolt Scoreboard” in Play Cricket Scorer.

Once connected, PCS will start sending values for the scoreboard item characteristic. The value is a single string made up of a three-letter item type and then value data.

Below is how I’ve interpreted the item data with examples from a Demo Standard game in PCS.

Start of first innings

  • COV = COmmence oVer. This occurs reliably at the end of each over once a bowler has been selected. It doesn’t mean a ball has been delivered.
  • OVB0 = OVer Ball is 0.0. The ball number is omitted at the end/start of each over e.g. 5.0 is received as “5”.
  • OVR20 = 20 OVers Remaining
  • BTS0/0 = Batting side’s Total Score is 0 runs for 0 wickets. For “Pairs” cricket the “/” and wicket number is missing [which explains why Crowthorne & Crownwood’s scoreboard doesn’t like pairs ☺️].
  • FTNEssex = Fielding side’s Team Name is “Essex”. This is only sent at the start of the innings unless you force an external scoreboard refresh in PCS.
  • B1S0 = Batter 1’s Score is 0.
  • B1B0 = Batter 1’s Balls-faced is 0. By default in PCS, for standard cricket only wides are not counted as balls-faced, whereas in Pairs cricket wides are counted as balls-faced.
  • B1K1 = Batter 1 is on striKe (the trailing 1 means TRUE).
  • B2S0 = Batter 2’s Score is 0.
  • B2B0= Batter 2’s Balls-faced is 0.
  • B2K0 = Batter 2 is NOT on striKe (the trailing 0 means FALSE).

First ball of over 1

  • COV1 = COmmence oVer with a single run.
  • OVB0.1 = Last OVer Ball is 0.1.
  • BTS1/0, B1S1, B1B1, B1K0, B2K1 = Using the definitions above, Batter 1 scored 1 run (B1S is now 1) from facing a fairly delivered ball (B1B is now 1) and Batter 2 is now on strike (B2K1) resulting in a new score for the batting side of 1 run for no wickets lost (BTS).

Second ball in over 1

  • COV1 . = COmmence oVer with a single run and then a “dot” ball. PCS doesn’t then send COV again, usually. It’s not clear to me what its purpose is.
  • OVB0.2, B2B1 = This example, the second ball in the first over (OVB) is a “dot” ball where Batter 2 faced a fairly delivered ball (B2B is now 1) but didn’t run. There’s no change in score or strike, so PCS doesn’t update that part of the scoreboard.

Subsequent balls in over 1

  • OVB0.3, BTS4/0, B1K1, B2S3, B2B2, B2K0 = It’s the third ball of the first over (OVB) and Batter 2 hit a fairly delivered ball (B2B is now 2) and the batters ran 3 runs (B2S is now 3). Batter 1 is back on strike (B1K1) and the score is 4/0 (BTS). Note no COV is sent.
  • OVB0.4, BTS8/0, B1S5, B1B2 = A four for Batter 1!
  • BTS13/0, B1S9, B1B3 = Batter 1 hit a no ball for four. Note no OVB but still a ball faced (B1B), so not a wide.
  • BTS18/0 = A wide ball went to the boundary resulting in 5 wides. Note no OVB, B1S or B1B, so must be a wide ball.
  • OVB0.5, BTS24/0, B1S15, B1B4 = Batter 1 hit a six off a fair delivery. Maybe that was a free hit carried from the no ball? PCS doesn’t even support free hits yet 😂.

End of over 2

  • OVB2 = OVer Ball 2.0. This is ball 1.6, the end of an over and beginning of the next.
  • OVR18, BTS42/2, B1K1, B2S7, B2B2, B2K0, COVB1K0, B2K1 = 18 overs remaining and the bowler has changed ends so batter 2 is now on strike.

Wickets

  • Here’s an example wicket on the first ball of the over, so it’s complicated, but all of the following messages occur in a stream.
  • COVW = Commence OVer with a Wicket.
  • OVB1.1, BTS32/1, B1S3, B1B2, B1K0 = B1B and B1S is the not out batter’s ball-faced and score.
  • B2S0, B2B0 = The score is reset in preparation for the incoming batter 2, so batter 2 was out.
  • LWK32 = Last WicKet batting side’s total score. They had 32.
  • LWS5 (4) = Last Wicket batter’s Score was 5 runs off 4 balls-faced.
  • LWDb = Last Wicket Decision, batter was out bowled (b).
  • B2K1 = Finally, the new Batter 2 will be on strike.
  • In “Pairs” cricket, PCS doesn’t tell the scoreboard about wickets at all.
  • Other wicket types are pretty self-explanatory, including:
  1. b = Bowled.
  2. lbw = Leg before wicket.
  3. c = Caught.
  4. ro = Run out including non-striker (Mankad).
  5. hw = Hit wicket.
  6. ht = Hit ball twice
  7. to = Timed out
  8. of = Obstructing the field
  9. rt = Retired. If not out then wickets will not change (BTS).

Next Innings

After the batting team have completed their innings, PCS begins sending additional items to the scoreboard. These are quite interesting as they aren’t readily available in the PCS app user interface.

  • BTNEssex = Batting Team Name is “Essex”.
  • BTT199 = Batting Team Target is 199 runs. In “pairs” cricket, particularly, this target can increase during the innings as the fielding team are awarded penalty runs when the batters are out.
  • RRQ199 = Runs ReQuired is 199. As above, this can go up as well as down.
  • RRR7.13 = Run Rate Required is 7.13 runs per over.

메타데이터
post_id
f6645cf994dd
slug
eco-play-cricket-bluetooth-external-scoreboards-f6645cf994dd
url
https://medium.com/@andysmy/eco-play-cricket-bluetooth-external-scoreboards-f6645cf994dd
canonical_url
https://medium.com/@andysmy/eco-play-cricket-bluetooth-external-scoreboards-f6645cf994dd
author_url
https://medium.com/@andysmy
status
ok
fetched_at
2026-06-12 18:14:10