Python Settles Bet About Best Strategy In Children’s Board Game

Simulating a tabletop game can be done for several reasons: to play the game digitally, to create computer opponent(s), or to prove someone wrong. In [Everett]’s case, he used Python to prove which adult was right about basic strategy in a children’s game.

[Everett]’s 5-year-old loves a simple game called Hoot Owl Hoot! in which players cooperatively work to move owls along a track to the safety of a nest. Player pieces move on spaces according to the matching colors drawn from a deck of cards. If a space is already occupied, a piece may jump ahead to the next available spot. The game has a bit more to it than that, but those are the important parts. After a few games, the adults in the room found themselves disagreeing about which strategy was optimal in this simple game.

It seemed to [Everett] that it was best to move pieces in the rear, keeping player pieces grouped together and maximizing the chance of free moves gained by jumping over occupied spaces. [Everett]’s wife countered that a “longest move” strategy was best, and one should always select whichever piece would benefit the most (i.e. move the furthest distance) from any given move. Which approach wins games in the fewest moves? This small Python script simulates the game enough to iteratively determine that the two strategies are quite close in results, but the “longest move” strategy does ultimately come out on top.

As far as simulations go, it’s no Tamagotchi Singularity and [Everett] admits that the simulation isn’t a completely accurate one. But since its only purpose is to compare whether “no stragglers” or “longest move” wins in fewer moves, shortcuts like using random color generation in place of drawing the colors from a deck shouldn’t make a big difference. Or would it? Regardless, we can agree that board games can be fitting metaphors for the human condition.

Inside An Oscillator With [Ken Shirriff]

We are always glad to see [Ken Shirriff] tear into something new and this month he’s looking inside a quartz oscillator module. Offhand, you’d think there’s not much to these. A slab of quartz and some sort of inverter, right? But as [Ken] mentions, “There’s more happening in the module than I expected…”

If you’ve ever wanted to decap devices, big hybrid modules like these are a good way to get started since you don’t need exotic chemicals to get at the insides. [Ken] managed to break the fragile crystal wafer on the way in. Inside was also a small CMOS IC die. Time to get out the microscope.

If you follow [Ken’s] blog, you know he’s no stranger to analyzing IC dice. The oscillator IC is a pretty standard Colpitts oscillator but it also provides a programmable divider and output drive.

The circuit uses some unusually configured capacitors. [Ken] takes the time to point out CMOS logic structures throughout. If you haven’t seen one of [Ken’s] deep dives before, before, it’s a great introduction.

You can learn more about crystal oscillator theory. We used some test equipment to characterize a crystal a few years ago.

Volumetric 3D Television Is Here!

Volumetric 3D displays that allow the viewing of full 3D images without special glasses are not unknown in our community, usually taking the form of either a 3D LED matrix or a spinning rotor either with an image projected onto it or holding an LED array. They are impressive projects, but they are often limited in what they can display. Pretty patterns and simple 3D models are all very well, but they are hardly 3D television. Thus we’re quite impressed with [Evlmnkey]’s bachelor’s degree project, which combines motion capture and a volumetric display for a genuine volumetric 3D closed-circuit television system.

Finding the details takes a bit of dredging through the Reddit thread, but the display is an off-the-shelf Adafruit single-sided LED matrix driven by an ESP32, all mounted on a motor with a pair of slip rings for power. Data is fed to the ESP via WiFi, with the PC responsible for grabbing the image sending it as uncompressed frames. There’s little detail on the 3D capture, but since he mentions a Kinect library we suspect that may be the source.

This is perhaps not the highest resolution TV you’ll ever have seen, indeed we’d liken it to the flickering 30 lines of 1930s mechanical TV, but it’s still a functioning volumetric 3D live CCTV system. If you’re interested by 3D displays, you might like to see our examination of the subject.

Thanks [nandkeypull] for the tip.

Apple II Talks To 3D Printer With A Little Modern Help

Controlling most desktop 3D printers is as easy as sending them G-code commands over a serial connection. As you might expect, it takes a relatively quick machine to fire off the commands fast enough for a good-quality print. But what if you weren’t so picky? If speed isn’t a concern, what’s the practical limit on the type of computer you could use?

In an effort to answer that question, [Max Piantoni] set out to control his Ender 3 printer with an authentic Apple IIc. Things were made a bit easier by the fact that he really only wanted to use the printer as a 2D plotter, so he could ignore the third dimension in his code. All he needed to do was come up with a BASIC program that let him create some simple geometric artwork on the Apple and convert it into commands that could be sent out over the computer’s serial port.

Unity controlling the Ender 3

Unfortunately, [Max] ran into something of a language barrier. While the Apple had no problem generating G-code the Ender’s controller would understand, both devices couldn’t agree on a data rate that worked for both of them. The 3D printer likes to zip along at 115,200 baud, while the Apple was plodding ahead at 300. Clearly, something would have to stand in as an interpreter.

The solution [Max] came up with certainly wouldn’t be our first choice, but there’s something to be said for working with what you know. He quickly whipped up a program in Unity on his Macbook that would accept incoming commands from the Apple II at 300 baud, build up a healthy buffer, and then send them off to the Ender 3. As you can see in the video after the break, this Mac-in-the-middle approach got these unlikely friends talking at last.

We’re reminded of a project from a few years back that aimed to build a fully functional 3D printer with 1980s technology. It was to be controlled by a Commodore PET from the 1980s, which also struggled to communicate quickly enough with the printer’s electronics. Bringing a modern laptop into the mix is probably cheating a bit, but at least it shows the concept is sound.

Continue reading “Apple II Talks To 3D Printer With A Little Modern Help”

This Slimline Word Clock Uses Laser Etching To Keep Things Simple

Judging by the tips we get, it seems like the popularity of word clocks has perhaps started falling off lately. But back at peak word clock, we were seeing dozens of designs, some better than others. This simple but classy word clock seems to benefit from all that prior art, making the design just about as simple as it can get while still looking great.

The main tool for [t0mg]’s build is a laser cutter, which is a great choice for keeping the design simple. The tricky part of word clocks is getting the “word search” matrix executed cleanly, and we’ve seen everything from laser-cut wood to inkjet prints, and even commercially produced PCBs, used for the job. [t0mg] opted instead to spray paint a piece of glass and etch away the characters with the laser, which results in superb text quality. Etching the underside of the glass also has the advantage of protecting the paint layer while giving the finished clock a glossy face that really looks nice. Under the template lie layers of MDF that hold the Neopixel strips and act as light guides, while an ESP32 and RTC perform timekeeping and LED-driving duties. [t0mg] finished off the clock with a nice web interface to set the clock, change the colors, and perform maintenance functions. The video below shows the software in use.

We really think this clock looks great, and for those with access to a laser cutter, it seems like a great way to go about building your own.

Continue reading “This Slimline Word Clock Uses Laser Etching To Keep Things Simple”

It’s Noodles All The Way Down: Ramen Comes To 3D Printer Support

While ramen support might sound like a help desk for soup, it is actually a technique [GeoDroidJohn] uses to get easy-to-remove support structures on 3D prints. We saw the video below and we have to admit that it did remind us of a brick of uncooked ramen noodles.

We had to dig a little further to find out how he did it. We finally found a Reddit post that gives the recipe for Simplify 3D:

  • Nozzle diameter/2= layer height
  • Support material every other layer, 15% crossing at -45, and 45
  • 5 dense layers at 90% 0 gap layers top or bottom.

We have to admit, we try to avoid support where we can, and where we can’t we just pick one of the stock Cura settings. It wasn’t entirely clear how — or even if — you could replicate this in slicers other than Simplify 3D. The layer height, of course, is a given. We think 15% support density with [-45, 45] in the “line directions” box might get partially there. Maybe someone who is an expert in Simplify and some other slicers can help translate.

In any event, it did make us think about experimenting with different support structures. We’ve played with Cura’s tree supports before this and liked them. So maybe the defaults aren’t always the best.

We’d like to have time to try more of what we read about supports. You can also fit your printer with a marker if you want to try that.

Continue reading “It’s Noodles All The Way Down: Ramen Comes To 3D Printer Support”

How Did The Nintendo Virtual Boy Work?

What do you know about the Nintendo Virtual Boy? Everybody knows that it was the console giant’s mid-90s foray into 3D graphics and VR, and that it was a commercial flop. Sickness and headache-inducing graphics are probably first to mind, and that’s it. But since most of us will never have handled one in real life, all we have on this legendary console is this Received Opinion. What was it Really like? [Rodrigo Copetti] has put up a detailed technical examination, and it reveals a machine well ahead of its time in more than just the market it was trying to create.

The first surprise is that this machine eschews the expected LCD screens that were the norm on handheld consoles of the day, instead using a persistence-of-vision display with a single vertical bar of LEDs facing a vibrating mirror through a lens system. He goes into significant detail on how this system worked, and in doing so gives us a new respect for the console.

The meat of this article lies though in a detailed look at the console’s architecture. The NEC V810 CPU was significantly more powerful than those in other portable consoles of the day, and we get a peek of how it and the custom silicon handled the graphics. The GPU had dual framebuffers for each display to ensure each frame could be delivered smoothly while the next one was being created.

Everything that can be said about the Virtual Boy in the marketplace has been done to death, leading to the received opinion we mentioned at the start of the article. This write-up provides new information on one of Nintendo’s rarer machines and casts it in an entirely new light.

There have been understandably few Virtual Boy projects that have made it to these pages. One that has, was a VGA interface for the console.

Via Hacker News.