7-Month Progress video of my Split Flap Chess Machine
▲ 51 r/arduino

7-Month Progress video of my Split Flap Chess Machine

Previous post: https://www.reddit.com/r/arduino/s/gtiHTDrmAk

The video file was too large to upload directly to Reddit, so I had to share it as a youtube link instead. Hope that's all right.

This video documents the journey of my split flap chess machine project from the very beginning to its completion. I compiled the progress clips I recorded along the way and arranged them in chronological order with their dates.

If you're interested in seeing how the project evolved over time, I hope you'll enjoy watching it.

I feel like I’ve probably milked this project enough for now. Once I’ve finished organizing the files and everything is ready to be open-sourced, I’ll be back with another update. Thanks again for all the support!

youtu.be
u/e4_user — 8 days ago
▲ 4.7k r/cassettefuturism+1 crossposts

Split-Flap Chess Machine - fully playable now, controller's done

Hello everyone! I think it’s been about a month since my last update.

Since then, I’ve added a frame and housing to the previous version, which was basically just a bare board, and I’ve also built the controller. My original plan was to use aluminum extrusions for the supports, but I eventually realized they weren’t really necessary and ended up using PETG 3D-printed parts instead. I also enclosed the power supply, wiring, and everything else inside the housing to give it a much cleaner finish.

For the controller, moves are entered by pressing the origin and destination squares on an 8×8 grid of buttons that corresponds directly to the chessboard. I designed the PCB myself and assembled it using mechanical keyboard switches. The display above the controls is a VFD display and I just love the retro look of it.

At this point, I think it’s fair to say that my first engineering project is finally complete. The original plan was to build a second machine so that two people could play against each other, but honestly, I’m pretty exhausted right now, so that part will have to wait for another day.

I’ve also received far more requests for file releases and open-sourcing than I ever expected. Now that the project is reaching the finish line, I’m going to start organizing everything. Since this was my first project, I didn’t pay any attention to documentation or file organization while building it. I appreciate your patience while I sort things out.

Anyway, thank you all so much!

u/e4_user — 11 days ago
▲ 2.9k r/arduino

Finally Done! Full 8x8 Split Flap Chess board

Hello! I’ve been working like crazy lately, I think I spent over 6 hours a day on it. Thanks to that, I managed to complete the remaining three ranks in a short period of time. Now that all 8 ranks are finished, instead of wanting to take a break, I can finally see the next steps clearly.

Right now, the biggest issue is the weight. The board has become so heavy that it struggles to support its own weight. I’m planning to build a stable support structure using aluminum profiles. Of course, I also want to add a nice-looking frame around the board.

After that, I’ll finally move on to building the controller for operating it. I’m currently deciding between two input methods: entering moves in PGN notation like “Nf3,” or using 64 buttons mapped one-to-one with the board squares to input the source and destination squares directly.

If you’re curious about how this board works, I wrote a short explanation about it here: https://www.reddit.com/r/arduino/s/ReisFfO7fm

I’ll post another update once the controller is finished. Thank you, everyone!

u/e4_user — 2 months ago
▲ 10 r/arduino

Update: How Split Flap Chess board works

https://preview.redd.it/fuqvlw7sqh0h1.jpg?width=4000&format=pjpg&auto=webp&s=df5c0e2d4897a6a31eda09b6cfeea8deeb5d9eba

Previous post: https://www.reddit.com/r/arduino/s/1Wejy62eQ9

Hello everyone! I was really encouraged by all the support and interest on my last post. I’ve been working even harder than usual, so I think I’ll be able to show you a fully completed split flap chess board up to the 8th rank very soon.

This project can continue thanks to all of you as well. The reason I made my first post here was because I was feeling really exhausted and unmotivated, and I thought sharing my progress with others might help keep me going. But the response was far better than I expected, and now my motivation bar is completely full.

Anyway, enough of the introduction. In this post, I’d like to talk about the mechanism and technical details that many of you were curious about.

https://reddit.com/link/1ta0eob/video/18xk6a90rh0h1/player

First of all, the module shown in this video was specifically made so the internals are visible. You can see the motor mounted at the back, right? Since each module corresponds to one square on the chess board, the front surface area couldn’t be too large. Because of the size constraints, it wasn’t possible to place the motor directly next to the spool in a direct-drive configuration, so I mounted the motor behind the module and transmitted power through gears instead.

For the motors, I’m using 28BYJ-48 stepper motors converted to bipolar mode together with A4988 stepper drivers. The wires attached to the side of the module are for the Hall sensor, which detects a magnet embedded in a specific part of the spool to establish the home position.

The photo at the top shows the back side of the board. And yes, I know. It’s a mess. I wanted to organize the wires properly, but once bundled together they became too short to reach. Anyway, let me explain the overall structure.

In my previous post, I mentioned that I use an ESP32 as the main brain running the chess engine, along with several Raspberry Pi Picos responsible for each rank. It would be interesting to explain how they communicate and operate together as a single machine.

First of all, they communicate over UART. Initially, I tried using RS-485, but it turned out to be much harder than expected. Communication would randomly fail, chips would burn out, and after struggling with it for a while, I decided to switch to the much simpler UART approach.

Each Pico is responsible for one rank, so a full board will contain a total of eight Picos. Let’s say I move a knight from g1 to f3. In that case, the g1 square needs to change to an empty square, while the f3 square needs to change to a knight. The g1 square is controlled by Pico 1, while f3 is controlled by Pico 3. So how is this command transmitted?

https://preview.redd.it/4apbl8rfrh0h1.png?width=645&format=png&auto=webp&s=b0d87221ee436d5fc0fc7d6f76b76362e694e7da

As shown in the diagram above, the TX pin of the ESP32 is connected to the RX pin of Pico 1. Then Pico 1’s TX connects to Pico 2’s RX, Pico 2’s TX connects to Pico 3’s RX, and so on. Finally, Pico 8’s TX connects back to the RX pin of the ESP32.

Each Pico receives messages from the neighboring node. If the message is not intended for that Pico, it simply forwards it to the next node. If the message is addressed to that Pico, it both executes the command and forwards the message onward. Eventually, the message travels around the ring and returns to the ESP32, which verifies that the message was neither corrupted nor lost. If something is wrong, it retransmits the message; otherwise, the message is discarded.

So the knight move I mentioned earlier works like this:

The ESP32 sends out a command to update the board: “Set g1 to empty. Set f3 to knight.”

That message is immediately received by Pico 1. Since there is a command intended for it, Pico 1 changes g1 to an empty square. Of course, it still forwards the message to Pico 2.

Pico 2 has no commands intended for it, so it does nothing and simply passes the message to Pico 3.

Pico 3 receives the message and changes f3 to a knight.

The message then continues around the ring until it eventually returns to the ESP32, which verifies the integrity of the message and discards it.

https://preview.redd.it/4po10dzkrh0h1.jpg?width=4000&format=pjpg&auto=webp&s=1bf660d0f8136f4d5314c8c557f3db61a3d5846b

I think that explains the overall structure pretty well. I should probably get back to working on the remaining three ranks now. I can’t wait to show you the finished chess board as soon as possible.

I hope this answered at least some of your questions, and if there’s anything else you’re curious about, feel free to ask in the comments.

Thank you!

reddit.com
u/e4_user — 2 months ago
▲ 884 r/arduino

Decided to build a massive vertical Split-Flap Chess board with zero engineering experience. 5/8 ranks completed!

Hello everyone, this is my first post here. I recently realized that split-flap displays and chess actually make a pretty great combination, so I started building this project as my first engineering project. It uses a single ESP32 as the main brain running the chess engine, along with multiple Raspberry Pi Picos, each responsible for controlling one rank of the board. So far I’ve completed 5 out of the 8 ranks, and I’m also planning to make a dedicated controller for operating it later on. I’ll keep working hard to finish it!

u/e4_user — 2 months ago