Manual

BillyGate user manual

v0.1.5, October 2025

BillyGate is a little bluetooth-low-energy (BLE) gadget that connects chess e-boards to chess apps. It originated to rescue my Square Off Pro rollable e-board after Square Off went bust (sorry, was acquired by Miko) and ceased to support sites like chess.com and lichess.org. BillyGate enables Square Off Pro owners to again enjoy over-the-board (OTB)/online chess on these excellent e-boards, and I intend to extend BillyGate to other e-boards and chess apps in future releases.

IMPORTANT: BillyGate currently only supports Square Off Pro e-boards (firmware 3.0.5+) and the Chessnut client apps listed in the Introduction.


Introduction

The Square Off app was never as well engineered as their e-boards, and the Miko app has yet to significantly improve upon it. So the idea behind BillyGate is to enable owners to use their Square Off Pro without these apps.

BillyGate is a special type of software called firmware running on a small, low-cost, widely available Bluetooth (BLE)-enabled electronics board (Raspberry Pi Pico 2 W). It connects to supported e-boards (currently the Square Off Pro) and then ‘pretends’ to be a Chessnut Go e-board. The e-board owner can then play OTB/online games on chess.com and lichess.org by using the freely available (and excellent) Chessnut app. BillyGate effectively turns your Square Off Pro into a Chessnut Go!

Raspberry Pi Pico 2 W

Square Off Pro


BillyGate also enables you to use your Square Off Pro with other chess client apps that support the Chessnut Go, including:

Set-up 

There are quite a few set-up steps to do before you can start playing chess (the easy bit :), some of which are a little technical, but if you work through the checklist below you will get there.

Check/update your Square Off firmware

The Square Off Pro e-board has its own firmware and BillyGate requires version 3.0.5 (or newer, although BillyGate is currently only tested against 3.0.5). Many Square Off Pros are stuck on older (typically 2.5.7) firmware and, for reasons known only to Miko (the new owner of Square Off), there is no automatic way to update it from the Square Off or Miko apps. You have to contact Miko support. See How do I update my Square Off Pro firmware?

Buy a Raspberry Pi Pico 2 W

Purchase a Raspberry Pi Pico 2 W from a local online vendor. They are widely available and remarkably low-cost for their capabilities. Make sure you buy a PICO 2 W as there are other Pico models with similar names, but BillyGate only works on a Pico 2 W.

Powering BillyGate

BillyGate (Pico2W) can be powered from any 5V USB power adapter, any computer USB port that supplies power or some 5V battery power banks (the kind of things you use to charge your phone on the move).

IMPORTANT: The Pico2W consumes so little power that many power banks stop charging after a while, thinking no current is being drawn. The solution is usually to put your power bank into its trickle charge mode (if it has one), but this does not always work. Test your power bank overnight (checking that the Pico2W LED keeps flashing) before playing online games, because loss of power mid-game will mean loss of rating points!

Install/update BillyGate firmware

The ‘brains’ behind BillyGate is low-level software called firmware that runs on the Pico2W board. When you purchase BillyGate you will be sent a link to its latest firmware. To install or update BillyGate firmware on the Pico2W:
  1. Download the BillyGate firmware to a Windows, MacOS or Linux PC.
  2. Obtain a data-capable micro-b USB cable that you will use to connect BillyGate to your PC (and later to a power supply). NOTE: some cheap USB cables only carry power, not data.
  3. Connect the cable to the Pico2W but not to the PC.
  4. Locate the little white BOOTSEL button on the Pico2W.
  5. While holding down the BOOTSEL button, plug the Pico2W into the PC and release the BOOTSEL button.
  6. A new disk drive should appear on the PC - just like plugging in a USB thumb drive. It should have a name like RP**** and be empty, apart from a couple of informational files.
  7. Drag and drop (or copy) the BillyGate firmware file onto this RP**** drive.
  8. On some PCs you may see a warning message that the installer may contain harmful content. Make sure you are copying the firmware to the RP**** drive and ignore the warning.
  9. If the firmware installation/update is successful the Pico2W restarts, the RP**** drive disappears and the green Pico2W LED starts flashing.
  10. The procedure for updating BillyGate firmware to a newer version is exactly the same (and preserves ayour set-up. so you don't need to do it again).

BillyGate 'admin' mode (firmware authentication and enabling WiFi)

To finish setting up BillyGate you have to put it into a special 'admin' mode. This enables you to connect to BillyGate from a PC or mobile device, to authenticate the firmware (mandatory) and connect BillyGate to your home WiFi network (optional but recommended).

Entering 'admin' mode

You can enter 'admin' mode whenever BillyGate is flashing its LED by long-pressing its white BOOTSEL button for more than 5 seconds (say BillyGate One, BillyGate Two, ... BillyGate Five) then releasing it. When BillyGate is in 'admin' mode it flashes twice every 4 seconds and generates a temporary ble-gate-ap WiFi network (different from your home WiFi network) to which you can connect a PC or mobile device.

IMPORTANT: While your PC or mobile device is connected to BillyGate's temporary ble-gate-ap WiFi network you will not be able to access the Internet (on the connected PC or mobile device) so keep this page open in a browser tab on the PC or mobile device so you can refer to it and click on relevant links.

Connecting to BillyGate in 'admin' mode

  • On your PC or mobile device scan for, and connect to, the ble-gate-ap WiFi network (if you cannot connect, try connecting from another less fussy device).
  • The password for the ble-gate-ap WiFi network is billyg123.
  • Once you are connected to ble-gate-ap, open a web browser on your PC or mobile device and browse to http://192.168.4.1/.
  • You should see the BillyGate 'admin' web page.

Firmware authentication

IMPORTANT: You must complete this firmware authentication step to use BillyGate. See Why do I need to authenticate BillyGate firmware?

The 'admin' page displays a unique ID for your Pico2W (for example, 5b28c11557da6292 in the image above). Send this to BillyGate customer support. One of our support goats will return a long token string. Copy and past this into the Authentication token input field (being very careful to copy the token exactly, without any spaces) and click the Authentication button. If accepted you should see a 'token stored' popup message. This enables BillyGate firmware to run on your Pico2W.

If you want to connect BillyGate to your home WiFi (highly recommended, to avoid having to use 'admin' mode again and for advanced features) proceed to Enabling WiFi below. If not, restart BillyGate by either long-pressing the white BOOTSEL button for more than 1 second (but less than 5) or removing and reconnecting power.

Enabling WiFi

Connecting BillyGate to your home WiFi is optional, but recommended. It provides a helpful web user interface and access to advanced features. On the 'admin' web page:
  • Enter the network name and password of your home WiFi network (user the show password button if present and be careful to avoid typos, otherwise you will have to repeat this procedure).
  • Clicking Connect encrypts and stores your WiFi credentials and restarts BillyGate (exiting 'admin' mode).
  • When BillyGate restarts it should automatically connect to your home WiFi.
  • Browse to http://ble-gate and add this URL to your browser favourites. This is your BillyGate web user interface, now available on your home WiFi network. If your browser cannot open http://ble-gate see Q: Why can't I open the BillyGate web user interface in my browser?
  • Your browser may also complain about http://ble-gate being insecure (it is, as it does not use SSL) but unless your chess games are a state secret you can ignore the warnings.

Game play

Connect BillyGate to the Square Off Pro e-board

If you have installed and authenticated the BillyGate firmware and powered up the Pico2W it should start signalling via its LED that it is scanning for supported e-boards.
  1. Set the pieces on the Square Off Pro to their default starting positions. Note that the e-board has printed square coordinates and the white and black pieces must be on their correct sides.
  2. Switch on the Square Off Pro e-board. It should show its circling on-board LED pattern as it waits for a client app connection.
  3. After a few seconds BillyGate should discover the Square Off Pro e-board.
  4. When BillyGate discovers the Square Off Pro e-board it will immediately attempt to connect to it and its LED will flash a different pattern. A successful connection results in the Square Off Pro emitting its ‘connected’ beep and BillyGate flashing the e-board LEDs in a ‘goat horns’ pattern.
  5. If BillyGate fails to connect, check the Square Off Pro firmware version.
IMPORTANT: The BillyGate firmware is somewhat sensitive to the order in which you prepare to play a game. Please try and follow the order described in this document.

Connect Chessnut client app to BillyGate

When BillyGate has connected to the Square Off Pro it begins transmitting BLE ‘advertisements’, pretending to be a Chessnut Go e-board (see LED flashes).
  1. Install the Chessnut app on your mobile device from the Google Play Store or Apple App Store. If there are two Chessnut apps available make sure to install the newer one.
  2. Follow the Chessnut installation instructions, which includes creating a Chessnut account.
  3. Enable Bluetooth on your mobile device.
  4. Run the Chessnut app and follow its instructions to discover and connect to the Chessnut Go board being advertised by BillyGate.
  5. There are three signals that the Chessnut app has connected to BillyGate:
    • The d- and e-file LEDs flash on the Square Off Pro e-board.
    • A little Bluetooth logo on the Chessnut app changes to show the connection.
    • The BillyGate (Pico2W) LED shows solid green.
  6. If you have reached this point you are ready to play!

Starting/restarting games

Try a bot match first in the Chessnut client app. As usual the app will highlight squares using on-board LEDs and the player has to make the moves for themselves and their opponent. When you have got that working reliably you're ready for online/OTB games vs human opponents on chess.com and lichess.org.

When you have finished one game and want to start another you need to reset the pieces to their start position before starting the new game. While you reset the pieces you will probably see lots of LEDs lighting up on the e-board (on squares that differ from the final position of the finished game) but when you have returned the e-board to its default start position these LEDs should disappear and BillyGate should flash the startup ‘goat horns’ LED pattern. If you do not reposition the pieces before starting another game BillyGate will be stuck on the final position of the finished game.

IMPORTANT: When this all works as described it is simple. But things can go wrong so please read the “Avoiding/fixing common problems” section below.

BillyGate also supports starting games from custom positions, using its web UI.

Avoiding problems

If you have a simple mental model of what BillyGate is doing ‘under the hood’ you will be better able to anticipate problems and, if you encounter them, correct them quickly.

The Square Off Pro reports square occupancy, which means it only knows whether a square is occupied or not. But the Chessnut app expects full piece recognition, i.e. which piece/colour is on a given square. So as you move pieces on the Square Off Pro, BillyGate has to translate changes in square occupancy to piece recognition updates, using the rules of chess to convert square 'ups' and 'downs' to legal chess moves (think about castling, promotion, en passant, knocked over pieces, etc.).

Accidental ‘wrong’ move (opponent)

Imagine your opponent is playing white, it’s their move and the Chessnut client app sets the on-board LEDs to say they moved e2-e3 ... but you accidentally move e2-e4. Even though this is a legal chess move, BillyGate will not accept it as it does not agree with the LEDs set by the Chessnut app.

In this situation BillyGate will set the Square Off Pro LEDs to show a combination of the desired move and the pieces that are out of position (in this example the e2, e3 and e4 squares). Simply move the piece(s) again on the Square Off Pro until they agree with the position shown in the Chessnut app.

Board LEDs that persist after your last opponent move is usually a sign that you have accidentally made the 'wrong' move, i.e. one that differs from the LED-indicated move.

Accidental ‘wrong’ move (player)

When it’s your turn, you may occasionally make the wrong move (the finger equivalent of a mouse slip in online chess) or make the right move but (to your horror) see a different move registered by the Chessnut client app (mis-registration).

Finger slip

Unless your client app supports takebacks you’re stuck. If takebacks are supported, try following the client app takeback procedure in conjunction with BillyGate's Undo feature.

Mis-registration

This was a common and frustrating problem with the Square Off app. If you slide pieces across the board (as you often do on a normal chess board) the app/firmware might decide that the move is complete before it actually is, registering the wrong final square and therefore the wrong move. For example, a bishop sliding too slowly from f1 to c4 could register as being moved to e2 or d3.

BillyGate improves on this by waiting a short time for the position to settle before registering moves, but it is still highly recommended to get into the habit of lifting and placing pieces and not sliding them, because if the delay is insufficient and there is a mis-registration you are in the same unhappy position as for a finger slip.

Features

Undo

Undo moves from BillyGate’s internal game position, usually to help recover sync with the internal game position of the chess client app - see Accidental ‘wrong’ move (opponent) or Accidental ‘wrong’ move (player).

There are two ways to undo the last move:
  • Physically undo the last move on the e-board. Undoing multiple moves requires physically undoing them one-by-one in reverse order.
  • Click the Undo button on the web UI. Click n times to undo n moves (although this should rarely be required).

Reset

It may sometimes be useful to reset the BillyGate (Pico2W) gadget. Resetting BillyGate is like switching a PC off and on again: it clears out all the internal state, restarts the firmware and can solve all sorts of problems. Don’t do this in the middle of a game though!

You can reset BillyGate (Pico2W) by either:
  • Disconnecting/reconnecting it from/to power.
  • Holding down the white BOOTSEL button on the Pico2W board for more than 1 second (but less than 5, see BillyGate 'admin' mode) and then releasing it.

Web user interface

BillyGate has its own web user interface, which is useful for:
  • Advanced features - some advanced BillyGate features require a user interface, e.g. setting custom board positions.
  • Troubleshooting - e.g. downloading diagnostic logs from BillyGate to share with our technical support goats.
  • FUTURE - since BillyGate (Pico2W) can communicate over WiFi, as well as Bluetooth, this raises the enticing prospect of direct integrations with chess.com and lichess.org. Follow BillyGate at facebook.com/billygatechess for feature updates.
See BillyGate 'admin' mode for how to enable WiFi and connect to a WiFi network.

Home page

The BillyGate home page shows its internal game state, including board position, last move and LED highlights.


Buttons below the board enable you to flip the board, Undo the last move (in BillyGate's internal game state) and set custom board positions from a FEN string. Links take you to BillyGate settings and this user manual.

Custom board positions

Setting up a custom board position is a little fiddly, but easy enough if you follow these logical step-by-step instructions:

  • First we need to tell BillyGate which pieces go where, by entering a FEN string into the text box below the web UI board (it's hard to type a FEN, so copy and paste it from a chess app).
  • Remember that as well as piece positions the FEN also determines which player has the next move, castling rights, en passant takes, etc.
  • Click the Set button to store this custom FEN position into BillyGate's internal game state.
  • BillyGate enters a positioning (as opposed to playing) mode and sets e-board LEDs to show which squares are not correctly occupied. It should also show a red status LED until e-board square occupancy matches the desired custom position.
  • Move/remove your chess pieces on the e-board until they match the custom position on the web UI board, all the board LEDs have gone out and the status LED goes green (ready to play).
  • BillyGate will now be reporting the custom position to chess client apps.
  • To play on from the custom position connect the Chessnut client app to BillyGate and, for example, start a Bot Match and select the Board Editor.
  • Because BillyGate is already reporting the custom position the Board Editor should immediately show it and there is nothing more to do but press Confirm and start the Bot Match (you may need to confirm which colour starts to play). The Chessnut Board Editor may set lots of e-board LEDs, but they should go away when you press Confirm.
IMPORTANT: The key thing to remember (and admittedly a potential source of confusion) is that you have to set up custom positions in the order: (1) BillyGate web UI (2) on the e-board (3) and then finally on the client app board editor. It's natural to want to do it in the reverse order (starting from the client app board editor) but BillyGate is a stubborn little goat and that's not how it works.

Settings page

The BillyGate settings page is where you go to manage WiFi networks and for troubleshooting information (as directed by helpful BillyGate technical support goats).


When BillyGate powers up it scans for local WiFi networks that match its stored WiFi networks and then attempts to connect to them in order, so the ordering of stored networks is important and can be changed using the up arrow buttons.

Appendix A: BillyGate LED

The BillyGate (Pico2W) gateway shows its active state by flashing its green LED.

🟢 LED  -  Gateway state

1 flash (every 4 secs) : Initialising
2 flashes (every 4 secs) : 'Admin' set-up mode
3 flashes (every 4 secs) : Scanning for supported e-board
4 flashes (every 4 secs) : Connecting to e-board
5 flashes (every 4 secs) : ‘Advertising’ as Chessnut Go
Solid green : Bridging between e-board and Chessnut client app

Popular posts from this blog

PHANTOM: The Robotic Chessboard Made of Real Wood? Really?

Square Off Pro reborn!

Chess e-boards: square-occupancy vs piece-recognition