DGT 3000, I2C and lever position, arduino

275 views
Skip to first unread message

Laterunner

unread,
Apr 26, 2021, 10:18:04 AM4/26/21
to PicoChess
Hi there,
The DGT3000 - although many years old - is a very good and reliable chess clock!

For a software project I would like to make use of the position (up or down) of the lever of the DGT 3000. I saw the dgt3000 uses a reed switch to detect lever positions. Of course I could also use a reed (or a hall) sensor and an arduino and further process this signal.

However before I do this I want to kindly ask if anyone in this forum knows a way to read out the lever position from the I2c signal of the clock???

I looked at the DGT 3000 SDA/SCL output with a i2c scanner and a logic analyser. I also  looked at dgtpicom.cdgt3000.c and dgtbrd-ruud.h,  but I must admit this is very complex material.

So my question: Is their a simple way to decode the i2c output of the DGT3000 and find out the lever position or even more information with an arduino?

Any reply will be useful.

Kind regards, thank you

Marius

John Paul Parkins

unread,
Apr 29, 2021, 8:35:30 AM4/29/21
to PicoChess
Laterunner,

My approach would be to use something like Bus Pirate or your logic analyser to read the i2c data out while toggling the switch. Try to make sense on the bits that are changing and to understand how the data is formatted.

If you are using something like a Saleae logic analyser this should make is easier to disregard the bytes that refer to the i2c protocol and all the bytes that repeat such as the 12c address, etc. Should not be that hard.

Good Luck

JP

Reply all
Reply to author
Forward
0 new messages