DGT Centaur: My findings and modifications

This forum is for general discussions and questions, including Collectors Corner and anything to do with Computer chess.

Moderators: Harvey Williamson, Steve B, Watchman

Forum rules
This textbox is used to restore diagrams posted with the fen tag before the upgrade.
User avatar
Scally
Full Member
Posts: 970
Joined: Sun Jun 05, 2016 5:44 pm
Location: Bermondsey, London
Contact:

DGT Centaur: My findings and modifications

Post by Scally »

Hi all,

I’ve had my Centaur since Monday and before I played a game I copied the micro sd card.

I played a game on the default friendly level and won a long 70 move game which I thoroughly enjoyed.

Then I wanted to see how it ticks and whether I could connect to it. I made slots for the micro sd connector and the micro hdmi connector. Next I purchased a micro sd card extender and made a slot for that.

I tried booting the supplied micro sd card in a RPi zero W, a RPi2, RPi3b and a RPi3b+ but it doesn’t boot, it’s obviously a restriction placed on the micro sd card.

Next I booted the Centaur connected to a monitor and keyboard and got the Centaur logon screen, I tried various combinations of obvious login and passwords but was unsuccessful.

I used another method to connect to the Centaur, the micro sd card is split into 2 volumes (E & F drive for me). The book files are identical to the DGT Pi books, so it must select them at random. There are 3 engines present, 1 is for an x86 processor, both the others namely stockfish and stockfish_pi are RPi versions. I copied these to my my Picochess system and they both boot as Stockfish 310118:

./stockfish_pi
Stockfish 310118 by T. Romstad, M. Costalba, J. Kiiski, G. Linscott

So it’s not Stockfish10. Stockfish9 was released on the 1st of February 2018, 1 day after this was compiled, so this engine is probably the last dev version of Stockfish8, so in effect, Stockfish9.

Other than that most of the files are encrypted, so instead of .py (python) files, they are .so (shared object) files which are very difficult to decode.

A few pictures follow showing my modifications, I will take pictures of the extended sd card cable next time I open up my Centaur.

Click on each photo for a larger image.


Cheers,

Al.

Image

Image

Image

Image

Image

Image

Image

Image
MikeB
Member
Posts: 90
Joined: Thu Aug 09, 2007 11:08 pm

Re: DGT Centaur: My findings and modifications

Post by MikeB »

Scally wrote:Hi all,

I’ve had my Centaur since Monday and before I played a game I copied the micro sd card.

I played a game on the default friendly level and won a long 70 move game which I thoroughly enjoyed.

Then I wanted to see how it ticks and whether I could connect to it. I made slots for the micro sd connector and the micro hdmi connector. Next I purchased a micro sd card extender and made a slot for that.

I tried booting the supplied micro sd card in a RPi zero W, a RPi2, RPi3b and a RPi3b+ but it doesn’t boot, it’s obviously a restriction placed on the micro sd card.

Next I booted the Centaur connected to a monitor and keyboard and got the Centaur logon screen, I tried various combinations of obvious login and passwords but was unsuccessful.

I used another method to connect to the Centaur, the micro sd card is split into 2 volumes (E & F drive for me). The book files are identical to the DGT Pi books, so it must select them at random. There are 3 engines present, 1 is for an x86 processor, both the others namely stockfish and stockfish_pi are RPi versions. I copied these to my my Picochess system and they both boot as Stockfish 310118:

./stockfish_pi
Stockfish 310118 by T. Romstad, M. Costalba, J. Kiiski, G. Linscott

So it’s not Stockfish10. Stockfish9 was released on the 1st of February 2018, 1 day after this was compiled, so this engine is probably the last dev version of Stockfish8, so in effect, Stockfish9.

Other than that most of the files are encrypted, so instead of .py (python) files, they are .so (shared object) files which are very difficult to decode.

A few pictures follow showing my modifications, I will take pictures of the extended sd card cable next time I open up my Centaur.

Click on each photo for a larger image.


Cheers,

Al.

Image

Image

Image

Image

Image

Image

Image

Image
Thanks Al, based on the commits - it is Stockfish 9 - no functional difference. Run bench and you should get 5023629 which is the bench for SF 9.


https://www.dropbox.com/s/jhxwquiusf3hh ... 6.png?dl=0
Schachspieler
Member
Posts: 488
Joined: Mon May 22, 2017 8:05 pm

Post by Schachspieler »

Hello Scally,

good work! It looks like DGT has changed a few things in the release version. That should not be a problem. SO files are shared objects, such as those used in C for example. You could disassemble these files (libraries), but that's not necessary.

Since the program of the DGT Centaur is quite simple, I recommend the use of a process sniffer and a GPIO sniffer. Based on the resulting data, you can understand and rebuild the functionalities.

Have you tried to get root access using my tutorial?

https://schach.computer/dgt-centaur-mit ... erweitern/

Regards

Benny
User avatar
Scally
Full Member
Posts: 970
Joined: Sun Jun 05, 2016 5:44 pm
Location: Bermondsey, London
Contact:

Post by Scally »

Hi Benny,

Yes I had tried your tutorial plus other suggestions on the Internet, but to no avail. Also the supplied micro sd card does not boot in a RPi Zero W.

I have a few more ideas up my sleeve and will try these and report back here.


Al.
Schachspieler
Member
Posts: 488
Joined: Mon May 22, 2017 8:05 pm

Post by Schachspieler »

Scally wrote:Hi Benny,

Yes I had tried your tutorial plus other suggestions on the Internet, but to no avail. Also the supplied micro sd card does not boot in a RPi Zero W.

I have a few more ideas up my sleeve and will try these and report back here.


Al.
Hello Al,

I know you can bind SD cards to a Raspberry Pi. However, every single Raspberry Pi has to be bound manually. While I can not imagine that DGT would make that effort, it would explain why, as a retailer, you could only order smaller quantities at launch.

One way to bind an SD card (operating system) to a Raspberry Pi is codecs. I would like to explain this with the example of the MPEG-2 codec. If you want to use the MPEG-2 codec on the Raspberry Pi, you have to buy it and you get a hardware-bound license key. With this license key you can then license the codec only once. The licensing is hardware bound. If you plug the SD card into another Raspberry Pi, the codec will not work.

As a first step, I would replace the Pi Zero at the DGT Centaur and use a pure Raspbian. Then you perform a GPIO scan and control the individual pins. Subsequently, it is checked how the display, the LEDs, fields, etc. are controlled. For example, to expand the menu in the display, this is necessary.

If you want to expand things on the Centaur, it is not necessary to deskew all encrypted files. It's enough to clone the functions of a small library file. This can be a C-file or a Python file. Then you make the XXX.so file from this new C / Python file.

You practically replace the original file with the clone. If everything is done correctly and the DGT Centaur accepts this clone file, we can put all kinds of features into this clone file.

For example, with the knowledge of how to control the display, you can try to address individual pixels. It will create an error, but that's also wanted. By generating errors we can localize corresponding functions.

In order to get ahead faster, I also recommend the use of a HEX editor.

Benny

PS:

I checked some different things and it looks like, that some things are bounded to the unique serial of the raspberry.

You can check your serial with: cat /proc/cpuinfo
User avatar
Scally
Full Member
Posts: 970
Joined: Sun Jun 05, 2016 5:44 pm
Location: Bermondsey, London
Contact:

Post by Scally »

Hi all,

As promised, here’s a couple of pictures of the micro sd extension cable to enable me to change sd cards without further opening the Centaur

Click on the picture for a bigger image:

Image

Image


Cheers,

Al.
User avatar
Scally
Full Member
Posts: 970
Joined: Sun Jun 05, 2016 5:44 pm
Location: Bermondsey, London
Contact:

Post by Scally »

Hi all,

I forgot to add, someone on one of the many Centaur threads asked if the standard DGT pieces work on the Centaur, they don’t.

Al.
User avatar
Scally
Full Member
Posts: 970
Joined: Sun Jun 05, 2016 5:44 pm
Location: Bermondsey, London
Contact:

Post by Scally »

Hi all,

These just arrived from Amazon, only £3.02, I’ll try them tomorrow and post back here:

Image

Image

(Click on a photo for a bigger image)


Cheers,

Al.
User avatar
Scally
Full Member
Posts: 970
Joined: Sun Jun 05, 2016 5:44 pm
Location: Bermondsey, London
Contact:

Post by Scally »

Hi all,

The green felt stickers have arrived, I’ve stuck some on the Kings, Queens & Pawns and they look pretty good to me.

However the 2mm stickers are too small for the Rooks, Bishops & Knights so I’ve ordered another pack to get 10 more large 4mm stickers to add to the 4 I have left, which will leave me with 2 spare large stickers:

Image

(Click on a photo for a bigger image)


Cheers,

Al.
User avatar
Scally
Full Member
Posts: 970
Joined: Sun Jun 05, 2016 5:44 pm
Location: Bermondsey, London
Contact:

Post by Scally »

Hi all,

OK, forget about putting thin felt stickers on your Centaur pieces, they are longer recognised on the board, my stickers are 0.5 mm thick. I tried putting the 1 cm stickers on, leaving lots of the bottom of the plastic showing, but they still don’t work.

So no stickers it is, that’s why there were none placed on the pieces in the first place!

Image Image


Cheers,

Al.
Fax236
Member
Posts: 10
Joined: Thu Jun 13, 2019 4:02 am

Post by Fax236 »

Have you tried to add some aluminum foil in the middle of the felt sticker.... you need some conductive material to touch the board.
pennine22
Member
Posts: 74
Joined: Tue Oct 14, 2014 8:01 pm

Post by pennine22 »

Fax236 wrote:Have you tried to add some aluminum foil in the middle of the felt sticker.... you need some conductive material to touch the board.
Or just use a 1 cm square or so of aluminised Sellotape onto the felt. That is what I have done with a wooden set with felt bases. Works a treat and won't unduly affect the felt feel of the pieces on the board.

David
User avatar
fourthirty
Full Member
Posts: 763
Joined: Fri Dec 06, 2013 8:46 pm
Location: San Francisco

Post by fourthirty »

pennine22 wrote:
Fax236 wrote:Have you tried to add some aluminum foil in the middle of the felt sticker.... you need some conductive material to touch the board.
Or just use a 1 cm square or so of aluminised Sellotape onto the felt. That is what I have done with a wooden set with felt bases. Works a treat and won't unduly affect the felt feel of the pieces on the board.

David
Can you share a photo of this David?
southernlights
Member
Posts: 28
Joined: Mon Nov 13, 2017 9:04 pm

Post by southernlights »

Fax236 wrote:Have you tried to add some aluminum foil in the middle of the felt sticker.... you need some conductive material to touch the board.
I see what they are doing now. The coils are not RFID but are measuring a change in inductance by bringing metal near them. I just placed a small piece of aluminum foil on the square and it registers as a piece. The bottom of chess pieces just have some plastic cover over metal. I thought at first it was some kind of RFID like MCGE, but that's not the case.

Yes I think some sticky backed foil in the center of the felt would probably work.
User avatar
Scally
Full Member
Posts: 970
Joined: Sun Jun 05, 2016 5:44 pm
Location: Bermondsey, London
Contact:

Post by Scally »

Thanks guys,

Yes it’s not full piece recognition, as long as rows 1, 2, 7 & 8 are populated with pieces of any colour in any order, the game can begin. The Centaur assumes you have placed the pieces on their correct squares.


Al.
Post Reply