- Blind mode tutorial
lichess.org
Donate

Playing online with a DGT Electronic Board using the Board API

A few month ago we shared an open source initiative on Git Hub to play online with the DGT Electronic Boards . Its pretty stable, it lacks some functionalities like "take back", but other than that its perfectly functional.
You can find it the link below, some computer knowledge will be required to setup Node.js and configure the App with the Lichess Auth token and since we used IBM Watson to generate voice files, you will need an account on IBM cloud too (free), at least for the moment.

https://github.com/andrescavallin/lichess-dgt-boards

I would like to listen to feedback. Maybe some day this can be integrated directly into Lichess.org like Chess.com is already doing. And since it runs on the browser playing sounds and voice synthesis will be easier. Currently since we used Node.js we had to do some extra things to produce voice moves.

I still think its a good idea to have licess.org opened on a laptop or phone on the side of the board to keep track of the time and double check the moves and that everything is running smooth. Only games longer than 15 +10 are allowed with the Board API, and that makes sense since there still some delay while moves are played and you need to manually do your opponent's moves.

I hope this is useful to somebody.

Andres

A few month ago we shared an open source initiative on Git Hub to play online with the DGT Electronic Boards . Its pretty stable, it lacks some functionalities like "take back", but other than that its perfectly functional. You can find it the link below, some computer knowledge will be required to setup Node.js and configure the App with the Lichess Auth token and since we used IBM Watson to generate voice files, you will need an account on IBM cloud too (free), at least for the moment. https://github.com/andrescavallin/lichess-dgt-boards I would like to listen to feedback. Maybe some day this can be integrated directly into Lichess.org like Chess.com is already doing. And since it runs on the browser playing sounds and voice synthesis will be easier. Currently since we used Node.js we had to do some extra things to produce voice moves. I still think its a good idea to have licess.org opened on a laptop or phone on the side of the board to keep track of the time and double check the moves and that everything is running smooth. Only games longer than 15 +10 are allowed with the Board API, and that makes sense since there still some delay while moves are played and you need to manually do your opponent's moves. I hope this is useful to somebody. Andres

I think as a customer you should press DGT to implement that support (Instead of waiting for the community to do that for them for FREE), I would think it would already have such support (it was one reason I was remotely interested in purchasing one but did not cause of the price and thank god I did not because now I would feel that I wasted money)

They overprice their products to a ridiculous point just because they are a monopoly (more or less ) in a niche market.

Instead of wasting all that money into buying expensive cars or what not the company owners should do the essentials such as this being able to use the board on very popular digital platforms such as lichess or chess.com

I hate to repeat myself but I feel I must, I find it absurd that such an expensive product is not already out of the box capable to do such a self explanatory thing... as I said I thought it was a given it would be compatible with those platforms when I was contemplating purchasing one.

It's like buying an iphone that can make phone calls only to other iphones ....

I think as a customer you should press DGT to implement that support (Instead of waiting for the community to do that for them for FREE), I would think it would already have such support (it was one reason I was remotely interested in purchasing one but did not cause of the price and thank god I did not because now I would feel that I wasted money) They overprice their products to a ridiculous point just because they are a monopoly (more or less ) in a niche market. Instead of wasting all that money into buying expensive cars or what not the company owners should do the essentials such as this being able to use the board on very popular digital platforms such as lichess or chess.com I hate to repeat myself but I feel I must, I find it absurd that such an expensive product is not already out of the box capable to do such a self explanatory thing... as I said I thought it was a given it would be compatible with those platforms when I was contemplating purchasing one. It's like buying an iphone that can make phone calls only to other iphones ....

@drunkenM4ST4 Well, in defense of DGT they provide a software called LiveChess 2.2.5 that provides easy to access APIs using websockets that make it possible for other programs to access it from the same computer or even the network. Without that program basically the task would have been much harder, and other types of integration like the one on Chess.com just impossible.

So then it is up to the applications to integrate those APIs that are available when LiveChess is running. And regarding Lichess, the Board APIs are kind of recent, this very year 2020 I think, so this was not possible earlier.

So basically our job was to integrate Lichess Board API and DGT LiveChess API and add some voice synthesis and simple UX to make it work. And we don't mind at all creating them for free since Lichess is also free and other libraries I used like chess.js are also free and open source.

Again, I hope somebody find this project useful.

@drunkenM4ST4 Well, in defense of DGT they provide a software called LiveChess 2.2.5 that provides easy to access APIs using websockets that make it possible for other programs to access it from the same computer or even the network. Without that program basically the task would have been much harder, and other types of integration like the one on Chess.com just impossible. So then it is up to the applications to integrate those APIs that are available when LiveChess is running. And regarding Lichess, the Board APIs are kind of recent, this very year 2020 I think, so this was not possible earlier. So basically our job was to integrate Lichess Board API and DGT LiveChess API and add some voice synthesis and simple UX to make it work. And we don't mind at all creating them for free since Lichess is also free and other libraries I used like chess.js are also free and open source. Again, I hope somebody find this project useful.

@andrescavallin I am not against your efforts (since I gather you are a contributor or the maker of this project) I am just pissed at DGT chess.com lichess and GCC are not like some obscure webpages they are like the main medium of playing chess with others online... they should have done this on their own especially if it doesnt need as many resources (since this project is dont by one or a couple of people for free) yet they demand absurd price tags for their boards.

@andrescavallin I am not against your efforts (since I gather you are a contributor or the maker of this project) I am just pissed at DGT chess.com lichess and GCC are not like some obscure webpages they are like the main medium of playing chess with others online... they should have done this on their own especially if it doesnt need as many resources (since this project is dont by one or a couple of people for free) yet they demand absurd price tags for their boards.

Spent 2 evenings to get it running but failed.

I have no knowledge in Python etc. I just tried to follow the guideline. Maybe an exe-file would be the right for someone like me.
Hope sometime it will be integrated to lichess like it is at chess.com.

Spent 2 evenings to get it running but failed. I have no knowledge in Python etc. I just tried to follow the guideline. Maybe an exe-file would be the right for someone like me. Hope sometime it will be integrated to lichess like it is at chess.com.

@EdForceOne and this is exactly why this company sucks... that's not something one would expect by paying north of 500 euro for a chess board.

@EdForceOne and this is exactly why this company sucks... that's not something one would expect by paying north of 500 euro for a chess board.

@EdForceOne thanks for trying I am going to start a version that runs in the browser so you don't have to install Node.js and all the other stuff and if that works then it will be easier to integrate into Lichess web later.

I will try to create a downloadable exe to make installation easier, but I think creating Browser version will be easier for everyone.
In the meantime since you already did most of the hard stuff, just try this:

Open a terminal or CMD and go to the folder where you downloaded the files. Type the following

node --version

This is to check that node was installed correctly, you should see something like
v12.16.2

You need v12 or higher

Then make sure all dependencies are installed, most likely this is the part you missed. Use this command:

npm install

You will see some messages, even some warnings are ok, but hopefully no errors.

Then to run the application, and I think is not in the guide and is most important thing, you need to do this command:

node app.js

And this will show you some colorful ascii art and then some messages regarding configuration and connection

If configured properly that will be all. Please make sure LiveChess 2.XX is running in your machine, since the connection is not directly to the board, the connection is made to LiveChess which in turn is connected to one or more boards through serial, USB or BlueTooth . This is important since sometimes LiveChess does not see the board, just make LiveChess sees the board and pieces are shown.

There is also an option to run the app in verbose mode so it is possible to see everything that is happening, may help you figure it out what may be wrong. For that just run

node app.js --verbose true

Thanks again for trying

@EdForceOne thanks for trying I am going to start a version that runs in the browser so you don't have to install Node.js and all the other stuff and if that works then it will be easier to integrate into Lichess web later. I will try to create a downloadable exe to make installation easier, but I think creating Browser version will be easier for everyone. In the meantime since you already did most of the hard stuff, just try this: Open a terminal or CMD and go to the folder where you downloaded the files. Type the following node --version This is to check that node was installed correctly, you should see something like v12.16.2 You need v12 or higher Then make sure all dependencies are installed, most likely this is the part you missed. Use this command: npm install You will see some messages, even some warnings are ok, but hopefully no errors. Then to run the application, and I think is not in the guide and is most important thing, you need to do this command: node app.js And this will show you some colorful ascii art and then some messages regarding configuration and connection If configured properly that will be all. Please make sure LiveChess 2.XX is running in your machine, since the connection is not directly to the board, the connection is made to LiveChess which in turn is connected to one or more boards through serial, USB or BlueTooth . This is important since sometimes LiveChess does not see the board, just make LiveChess sees the board and pieces are shown. There is also an option to run the app in verbose mode so it is possible to see everything that is happening, may help you figure it out what may be wrong. For that just run node app.js --verbose true Thanks again for trying

But, how come this has worked for years already on FICS using BabasChess? Don't get it :-/

But, how come this has worked for years already on FICS using BabasChess? Don't get it :-/

Hello @Chivas610 @bracco @TheChessRuminater
I have great news !!
I received many comments that setting up the node.js was hard so I just finished a Browser only version. You only need to open the link, setup the API Token and leave the tab opened while playing. Use Chrome or Edge, I think Firefox has a small bug.
Please if you have the DGT Board try it out and message me with feedback:

Special thanks to @EdForceOne who play-tested it.

https://andrescavallin.github.io/lichess-dgt-boards-browser

Remember, only games 15+10 or slower. I suggest testing it for the first time with a casual unlimited game.

I basically ported version of my node.js code, replaced voice synthesis with the one from the browser and used native websockets. I think that is the one I will maintain from now on.

Hello @Chivas610 @bracco @TheChessRuminater I have great news !! I received many comments that setting up the node.js was hard so I just finished a Browser only version. You only need to open the link, setup the API Token and leave the tab opened while playing. Use Chrome or Edge, I think Firefox has a small bug. Please if you have the DGT Board try it out and message me with feedback: Special thanks to @EdForceOne who play-tested it. https://andrescavallin.github.io/lichess-dgt-boards-browser Remember, only games 15+10 or slower. I suggest testing it for the first time with a casual unlimited game. I basically ported version of my node.js code, replaced voice synthesis with the one from the browser and used native websockets. I think that is the one I will maintain from now on.

This topic has been archived and can no longer be replied to.