First game of ChessLR vs my Radio Shack 1850 chess computer! The 1850 won! Not what I was expecting, but a pleasant surprise for sure.
Shortly after printing the feet for ChessLR, I realized I made a mistake. I didn't allow for attaching the bottom board to the feet unless I glued them. I could drill a hole and use a self tapping or wood screw, but that would not last very long, if it worked at all. So after a little research and a couple test prints, I came up with a nifty design that would allow me to screw and unscrew as many times as I wanted, without fear of stripping out the plastic.
Printed a test power panel. Took a couple tries, but second print seems to fit nicely. I also finally wired up a barrel connector for power instead of USB. Much easier to deal with. Translucent green color is really nice.
I transferred my 3x3 breadboard circuit to a protoboard. Now calling it an interface board. Much easier to work with as a protoboard, and learned a few things that will transfer nicely to the 8x8 interface boards.
Using new hardware. I got my touch display hooked up I use it for a GUI instead of the OLED display. Piece input is working a lot better, although reed switches continue to be a problem. You can check out the YouTube video or the Read more below to find out more.
Made a couple versions of my MCP board. One holds 2 MCP23017, the other holds 4. The 4 chip version will make it so I only need 2 of them, but the extra wiring involved might make the 2 chip version more appealing. Easier to wire up, test and might make it easier to find where to put the circuit boards on the chess board.
ChessLR progress report 7 shows the first draft of my MCP23017 board. This board is used to connect the chess board LED and Reed switches to the 8 MCP23017 chips. Each chip handles a row on the chess board, which is 8 LEDs and 8 Reed switches. This means that the MCP board handles 128 I/O pins, which can all be read from the 2 i2c pins. Pretty sick.
ChessLR progress report 6 shows some progress in terms of software and using my tiny OLED display. Sadly the display is too small for me to read very well, so I'll have to put a rush on the touch display development! I demo two programs in the video on YouTube. The first was from progress report 5 which just had a stop frame animation. I wanted to show live video. The second shows the board keeping track where the pieces are moved from and to.
ChessLR progress report 5. My first prototype chessboard works like a charm. I wanted small scale test to get LEDs and reed switches setup on a board, then be able to move chess pieces around to see how well the switches would work. The switches have no trouble sensing the pieces, and it's quite magical being able to move pieces without having to press any buttons, like chessboard computers of old.
ChessLR progress report 4. I got two MCP23017 port expanders working on my Raspberry Pi. The chip refused to work until I eventually figured out that the negative rail on my breadboard wasn't connected. While searching for a reason it didn't work lead me to a site with examples of how to use the command line to test the I2C bus for connected devices, as well as be able to send data to it.
I got my parts that I ordered from AdaFruit. Parts included a Raspberry PI Zero W that has wifi built in, quad alphanumeric displays, blue 3mm LED's, which are way cooler, and a lot brighter, then I was expecting. I2C I/O port expanders, and some resisters and diodes. The LEDs will be one LED per board square. The buttons and segmented displays are for the clock, one button and display per player.
ChessLR. Me and Rob got together to talk about the electronic chess board today. He showed a proof of concept using reed switches, a magnet, and an LED. Man that was cool. The reed switch is amazingly sensitive to the magnetic field of a magnet. I was able to hold the magnet about 3cm away and the reed switch was still able to sense it. I did find that there was a bit of a dead zone in the middle of the switch, which could prove problematic. But no problems reading it through a piece of wood.
PrettyCSV 1.2 is now out. This is a minor update that includes a fix for the Window frame on Windows machines. You can also now optionally have the formatted text copied to your clipboard when you format. I'm working on making it copy it in a mono font like courier for the next minor update. Enjoy!
ChessLR. I have been wanting to have an electronic chess board for years now, but never purchased one because they are so expensive. I finally decided to build my own, with the help of a friend that was totally jazzed about the idea, and much better at the electronics part of the project then I am. The goal will be to create a chessboard that can sense and record the moves of a game and allow for natural play.
PrettyCSV is an open source developer tool that formats CSV text into neat columns, much like a spreadsheet, suitable for pasting into email or textual documents. How many times have you been working on an SQL query and needed to send a snippet of the result to someone via email? Typically you would either capture a screenshot or copy/paste an ugly comma or tab separated text snippet.
The second progress report for CocoJEM is available. I talk about how I implemented addressing modes, utilized an enum during instruction lookup, and give a little peek at how I implemented LDA, my CPU's execute method. Finally some thoughts on unit test coverage.
RC2019/03 retro challenge has started. And I missed it again! If it wasn't already half way through, I would enter CocoJEM. But alas, 2 weeks is a little tight, and I don't think I would get enough done in a month anyway. I believe they will have another one in September this year, so I'll be prepared for that! Good luck to the list of challengers!
Copyright © 2019, Lee Patterson