How many standards are there for electronic boards that apps need to support(or not) -- DGT, Certabo, Millennium etc

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

adams161
Posts: 629
Joined: Sun May 13, 2007 9:55 pm
Full name: none

How many standards are there for electronic boards that apps need to support(or not) -- DGT, Certabo, Millennium etc

Post by adams161 »

I was reading the chess for android page and it says
The application connects to an external electronic chessboard (DGT, Certabo, or Millennium) and online to either FICS (Free Internet Chess Server) or ICC (Internet Chess Club).
Have the electronic board people agreed on one protocol for software makers who want to support them to implement such as UCI for a chess engine being most common that all apps support?

Or if another app wanted to do what chess for android dd, would they have to buy all three of those types of boards as test units and support three protocols/API's?

Was looking at https://squareoffnow.com/store?referral_promo=GRANDSALE and their black friday sale. But i'm reluctant to try to buy one now not clear on basic issues and support.
User avatar
GONeill
Posts: 87
Joined: Sun Jun 15, 2014 6:40 am
Location: New Zealand
Full name: Graham O'Neill

Re: How many standards are there for electronic boards that apps need to support(or not) -- DGT, Certabo, Millennium etc

Post by GONeill »

Even in cases where the fundamental electronics between different companies boards are similar, each manufacturer creates their own firmware for the board which means each board has it's own set of interface commands (the API). As a developer the best you can hope for is that all boards from one manufacturer use the same API but even that can't be guaranteed.

For the old Novag boards for example, the Citrine had different variations on the commands to the UCB. Then there are cases where commands that make sense for one board would be meaningless on another. The Millennium ChessGenius Exclusive has a command to alter the scan frequency it uses to detect the pieces. The King Performance doesn't scan the pieces at all as it uses pressure pads so that command wouldn't make sense.

Of course all this relies on the manufacturer publishing their API in the first place. DGT are very good in this with lots of documentation on how to interface with their boards and lots of support for developers. Millennium and Certabo are also very welcoming of developers even though they also produce their own software. SquareOff on the other hand seem to be considering a different approach as they have told me they currently have no plans to release their API. This means no developer will be able to interface with their board unless they buy one and reverse engineer the commands used to control it, at which point SquareOff could just change the interface if they chose. At the moment if you buy a SquareOff board you are committed to using whatever software they give (or lease) you and nothing else.

Then there is the hardware itself. Some older boards use serial ports, others use USB (which fortunately allows a USB/serial port to be used), others use Bluetooth maybe with the Serial Port Profile enabled or maybe not, and others use BluetoothLE. For Windows, BLE is a bit of a pain as it isn't well supported by Microsoft, although I have made some progress with that and hope to produce my first BLE driver soon.

So, to answer your question there are no standards and, yes, a developer needs access to each of the boards in order to write an interface for it.
adams161
Posts: 629
Joined: Sun May 13, 2007 9:55 pm
Full name: none

Re: How many standards are there for electronic boards that apps need to support(or not) -- DGT, Certabo, Millennium etc

Post by adams161 »

GONeill wrote: Sat Nov 27, 2021 6:17 am Even in cases where the fundamental electronics between different companies boards are similar, each manufacturer creates their own firmware for the board which means each board has it's own set of interface commands (the API). As a developer the best you can hope for is that all boards from one manufacturer use the same API but even that can't be guaranteed.

For the old Novag boards for example, the Citrine had different variations on the commands to the UCB. Then there are cases where commands that make sense for one board would be meaningless on another. The Millennium ChessGenius Exclusive has a command to alter the scan frequency it uses to detect the pieces. The King Performance doesn't scan the pieces at all as it uses pressure pads so that command wouldn't make sense.

Of course all this relies on the manufacturer publishing their API in the first place. DGT are very good in this with lots of documentation on how to interface with their boards and lots of support for developers. Millennium and Certabo are also very welcoming of developers even though they also produce their own software. SquareOff on the other hand seem to be considering a different approach as they have told me they currently have no plans to release their API. This means no developer will be able to interface with their board unless they buy one and reverse engineer the commands used to control it, at which point SquareOff could just change the interface if they chose. At the moment if you buy a SquareOff board you are committed to using whatever software they give (or lease) you and nothing else.

Then there is the hardware itself. Some older boards use serial ports, others use USB (which fortunately allows a USB/serial port to be used), others use Bluetooth maybe with the Serial Port Profile enabled or maybe not, and others use BluetoothLE. For Windows, BLE is a bit of a pain as it isn't well supported by Microsoft, although I have made some progress with that and hope to produce my first BLE driver soon.

So, to answer your question there are no standards and, yes, a developer needs access to each of the boards in order to write an interface for it.
An answer worth passing around. thank you. Learned a lot.