Mar 24, 2023
Tonight I finished a major electronics project that will no doubt bring joy to many people. While I could have spent $101.55 on a reliable universal programmer1 and been done weeks ago, I decide to go the build-it-myself route and see where it led me. I used these instructions.
The necessary disclaimer at the start of any cool project notes: this took me way too long to get working and buying would have taught me almost nothing about electronics. But if you are not ready to learn things you didn’t want to know, I recommend buy or don’t attempt instead of following my path.Read more »
Sept 5, 2022
I have recently built a small robot as a test platform for an advanced robotics project. Huh? Let’s put the advanced robotics project aside and talk about what I actually have. I have a working robot that can detect hard collisions and the code is 120 lines of CircuitPython (not counting the libraries used to be clear). I can write a lot more code, but there’s no point to make it overly complicated until certain goals are met. Those goals: detect soft collisions, detect false-positive accelerations that are not collisions, and store information. While these may seem pretty easy to overcome, the thesis of this blog post is that they are not.
Let’s start at the very start. When I was young I wanted a robot. I didn’t know why very well, but I knew that I did. I bought Handbook of Advanced Robotics from a used bookstore, a bunch of motors, balsa, wheels, and other RC stuff from my local hobby shop, and started building. After building quite a few uncontrolled cars, I realized that a lot of the robot lies in control. It did not occur to me until I reached university how much. I tried to build an ornithopter and after propulsion failed on that project, I went off to university and gave up on robots. As time went on I worked on electronics and realized that while I was better than average at soldering, I was particularly bad at finishing projects. Each project had an obstacle. Not only did I lack experience as a young person, I lacked the necessary support to complete projects of even modest difficulty.Read more »
July 28, 2022
TetrisGYM SPS 0.2.1 [sig]
TetrisGYM SPS 0.2 [sig]
TetrisGYM SPS 0.1 [sig]
TetrisGYM is a wildly popular mod of Tetris for the Nintendo Entertainment System. It has recently been made into a cartridge by one of the highest scoring players, EricICX. Released in 1989, Tetris has come a long way as a result of high score competition, a fanatical community, and quirks that make it an incredibly difficult game to master. If it was just difficult to master, it might have earned a community. But its quirks have earned a mod that turns the game into a learning experience. The current list of features for TetrisGYM:Read more »
July 10, 2022
I’m playing a lot of NES Tetris recently and I won my first match. What happened? Well, I played well and my strategy turned out to work in this case. I learned about Tetrisfish, which uses the tetris engine StackRabbit to analyze games from video and I ran it on the first game. Since it was fairly slow and didn’t give me anything but tips on how to improve my stacking (thanks by the way), I wrote a simple modification to make it possible to avoid those analysis calls. Instead with my version, I can just output a file that showed what happened during the game: piece sequence, drought for each piece, and tetris rate. Tetris rate ignores pushdown points so the value is not accurate to the actual score, but is good enough since most games are won on scoring points with lines not pushdown.Read more »