Chess Robot’s Got The Moves

[RoboAvatar]’s Chess Robot consists of a gantry-mounted arm that picks up chess pieces and places them in their new location, as directed by the software. The game begins when the human, playing white, makes a move. When a play has been made, the human player presses a button to let the robot to take its turn. You can see it in action in the videos we’ve posted below the break.

Running the robot is an Arduino UNO with a MUX shield as well as a pair of MCP23017 I/O expander chips — a total of 93 pins available! Thanks to all those pins, the Arduino is able to listen to 64 reed switches, one for every square.

The robot detects the human’s move by listening to its reed switches and identifying when there is a change. The gantry consists of X and Y tracks made out of PVC slabs, with half-inch lead screws turned by NEMA-23s and powered by ST-6600 stepper drivers.

Unlike some chess robots that rely on pre-existing software, this one features a custom minimax chess algorithm that [RoboAvatar] coded himself. It consists of Python scripts run on a computer, which interacts with the Arduino via a serial connection. In the second video, he explains how his algorithm works. You can also download the Arduino and Python files from [RoboAvatar]’s GitHub repository.

You’d be surprised how many chess-playing robots we’ve published, like the ChessM8 robot and this voice-controlled chess robot.

Continue reading “Chess Robot’s Got The Moves”

Emulate ICs In Python

Most people who want to simulate logic ICs will use Verilog, VHDL, or System Verilog. Not [hsoft]. He wanted to use Python, and wrote a simple Python framework for doing just that. You can find the code on GitHub, and there is an ASCII video that won’t embed here at Hackaday, but which you can view at ASCIInema.

Below the break we have an example of “constructing” a circuit in Python using ICemu:

Continue reading “Emulate ICs In Python”

A Cold Hard Look At FPGAs

Researchers at the Delft University of Technology wanted to use FPGAs at cryogenic temperatures down around 4 degrees Kelvin. They knew from previous research that many FPGAs that use submicron fabrication technology actually work pretty well at those temperatures. It is the other components that misbehave — in particular, capacitors and voltage regulators. They worked out an interesting strategy to get around this problem.

The common solution is to move the power supply away from the FPGA and out of the cold environment. The problem is, that means long wires and fluctuating current demands will cause a variable voltage drop at the end of the long wire. The traditional answer to that problem is to have the remote regulator sense the voltage close to the load. This works because the current going through the sense wires is a small fraction of the load current and should be relatively constant. The Delft team took a different approach because they found sensing power supplies reacted too slowly: they created an FPGA design that draws nearly the same current no matter what it is doing.

Continue reading “A Cold Hard Look At FPGAs”

DIY LiPo Protectors

Spiderman’s Uncle Ben was known to say, “With great power comes great responsibility.” The same holds true for battery power. [Andreas] wanted to use protected 18650 cells, but didn’t want to buy them off the shelf. He found a forty cent solution. Not only can you see it in the video, below, but he also explains and demonstrates what the circuit is doing and why.

Protection is important with LiPo technology. Sure, LiPo cells have changed the way we use portable electronics, but they can be dangerous. If you overcharge them or allow them to go completely dead and then charge them, they can catch fire. Because they have a low source resistance — something that is usually desirable — short-circuiting them can also create a fire hazard. We’ve covered the chemistry in depth, but to prevent all the badness you’ll want a charger circuit.

Continue reading “DIY LiPo Protectors”

Pulleys Within Pulleys Form A Unique Transmission For Robots

After a couple of millennia of fiddling with gears, you’d think there wouldn’t be much new ground to explore in the field of power transmission. And then you see something like an infinitely variable transmission built from nested pulleys, and you realize there’s always room for improvement.

The electric motors generally used in robotics can be extremely efficient, often topping 90% efficiency at high speed and low torque. Slap on a traditional fixed-ratio gearbox, or change the input speed, and efficiency is lost. An infinitely variable transmission, like [Alexander Kernbaum]’s cleverly named Inception Drive, allows the motor to stay at peak efficiency while smoothly changing the gear ratio through a wide range.

The mechanism takes a bit of thought to fully grok, but it basically uses a pair of split pulleys with variable spacing. The input shaft rotates the inner pulley eccentrically, which effectively “walks” a wide V-belt around a fixed outer pulley. This drives the inner pulley at a ratio depending on the spacing of the pulley halves; the transmission can shift smoothly from forward to reverse and even keep itself in neutral. The video below will help you get your head around it.

We’ve seen a couple of innovative transmissions around here lately; some, like this strain-wave gear and this planetary gearbox, are amenable to 3D printing. Looks like the Inception Drive could be printed too. Hackers, start your printers and see what this drive can do.

Continue reading “Pulleys Within Pulleys Form A Unique Transmission For Robots”

Reverse Engineering Guitar Hero

What do you do when a ten-year-old video game has a bug in it? If you are [ExileLord] you fix it, even if you don’t have the source code. Want to know how? Luckily, he produced a video showing all the details of how he tracked the bug down and fixed it. You can see the video below. You may or may not care about Guitar Hero, but the exercise of reverse engineering and patching the game is a great example of the tools and logic required to reverse engineer any binary software, especially a Windows binary.

The tool of choice is IDA, an interactive debugger and disassembler. The crash thows an exception and since [ExileLord] has done some work on the game before, he was able to find a function that was creating a screen element that eventually led to the crash.

Continue reading “Reverse Engineering Guitar Hero”

Hackaday Prize Entry: OrthoSense, A Smart Knee Brace For Physical Therapy

If you have knee surgery, you can probably count on some physical therapy to go with it. But one thing you might not be able to count on is getting enough attention from your therapist. This was the case with [Vignesh]’s mother, who suffers from osteoarthritis (OA). Her physiotherapist kept a busy schedule and couldn’t see her very often, leaving her to wonder at her rehabilitation progress.

[Vignesh] already had a longstanding interest in bio-engineering and wearables. His mother’s experience led him down a rabbit hole of research about the particulars of OA rehabilitation. He found that less than 35% of patients adhere to the home regimen they were given. While there are a lot of factors at play, the lack of feedback and reinforcement are key components. [Vignesh] sought to develop a simple system for patients and therapists to share information.

The fruit of this labor is Orthosense, an intelligent knee brace system that measures gait angle, joint acoustics, and joint strain.  The user puts on the brace, pairs it with a device, and goes through their therapy routine. Sensors embedded in the brace upload their data to the cloud over Bluetooth.

Joint strain is measured by a narrow strip of conductive fabric running down the length of the knee. As the user does their exercises, the fabric stretches and relaxes, changing resistances all the while. The changes are measured against a Wheatstone bridge voltage divider. The knee’s gait angle is measured with an IMU and is calculated relative to the hip angle—this gives a reference point for the data collected by the strain sensor. An electret mic and a sensitive contact mic built for body sounds picks up all the pops and squeaks emitted by the knee. Analysis of this data provides insight into the condition of the cartilage and bones that make up the joint. As you might imagine, unhealthy cartilage is noisier than healthy cartilage.

[Vignesh]’s prototype is based the tinyTILE because of the onboard IMU, ADC, and Bluetooth. Since all things Curie are being discontinued, the next version will either use something nRF52832 or a BC127 module and a la carte sensors. [Vignesh] envisions a lot for this system, and we are nodding our heads to all of it.