Simple Sprite Routines Ease Handheld Gaming DIY

Making your own handheld games is made much easier with [David Johnson-Davies’] simple sprite routines for the Adafruit PyBadge and PyGamer boards. Sprites can be thought of as small, fixed-size graphical objects that are drawn, erased, moved, and checked for collision with other screen elements.

xorSprite() plots an 8×8 sprite, moveSprite() moves a given sprite by one pixel without any flicker, and hitSprite() checks a sprite for collision with any screen elements in a given color. That is all it takes to implement a simple game, and [David] makes them easy to use, even providing a demo program in the form of the rolling ball maze shown here.

These routines work out-of-the-box with the PyBadge and PyGamer, but should be easy to adapt to any TFT display based on the ST7735 controller. The PyGamer is the board shown here, but you can see the PyBadge as it was used to create an MQTT-enabled conference badge.

If you really want to take a trip down the rabbit hole of sprite-based gaming graphics, you simply can’t miss hearing about the system [Sprite_TM] built into the FPGA Game Boy badge.

Beautiful Sourdough Bread At Home Thanks To Dynamic Recipe Parameterization

More people are making sourdough at home than ever before, and while it may not take a lot of effort to find a decent recipe, it’s quite another thing to try using recipes to figure out how and why bread actually works. Thankfully, [Makefast Workshop] has turned copious research and hundreds of trials into a dynamic sourdough (and semi-sourdough) bread recipe chock-full of of drop-down options to customize not just ingredients, but baking methods and other recipe elements as well. Want to adjust quantities or loaf styles? Play with hydration or flour type? It’s all right there, and they even have quick-set options for their personal favorites.

In order to do all this, [Makefast Workshop] needed to understand bread at a deeper level than is usually called for. During research, they observed that the format of recipes was often an obstacle to understanding how good bread actually gets made. The reason for this is simple: recipes are presented as standalone documents describing a fixed process; a set of specific steps that, when followed, yield a particular result. What they do not normally do is describe the interplay and balance between ingredients and processes, which makes it difficult to understand how and why exactly the recipe produces what it does. Without that knowledge, it’s impossible to know what elements can be adjusted, and how. The dynamic recipe changes all that.

[Makefast Workshop] performed hundreds of tests, dialing in parameters one by one, to gain the insights needed to populate their dynamic recipe. It’s got clear processes and drop-down options that dynamically update not just the recipe steps, but also the URL. This means that one can fiddle the recipe to one’s desire, then simply copy and paste the URL to keep track of what one has baked.

When it comes to thoughtful approaches to food, this certainly isn’t [Makefast Workshop]’s first rodeo. We covered their beautiful directions for creating delicious speculoos, complete with effective 3D printed molds for a modern twist on a Belgian classic.

Whiteboard Plotter Rocks Three Colors And An Eraser

AutoWhiteboardBot’s business end, with three markers.

[td0g]’s AutoWhiteboardBot is not just any 3D printed whiteboard plotter, because it also sports a triple-marker carrier and on-board eraser! The device itself hangs from stepper motors, which take care of moving the plotter across the whiteboard, and the trick to making the three colors work was to incorporate retractable dry-erase markers. A spherical Geneva drive-based assembly on the plotter rotates the pen cartridge, and a plunger activates the chosen color. Erasing, arguably the easiest thing to do on a whiteboard, is done by a piece of felt. 3D printed parts are on Thingiverse and [td0g] says software is coming soon. It’s a clever device, especially the method of accommodating multiple colors with retractable markers.

AutoWhiteboardBot hangs from motors which pull it around, but we’ve also seen a SCARA-type robot writing away on a whiteboard. Watch the video embedded below, which begins with sped-up footage of AutoWhiteboardBot drawing in different colors as it slides across the board surface.

Continue reading “Whiteboard Plotter Rocks Three Colors And An Eraser”

New Breakout Board For Grid-EYE Thermal Sensor

Panasonic’s Grid-EYE sensor is essentially a low-cost 8×8 thermal imager with a 60 degree field of view, and a nice breakout board makes it much easier to integrate into projects. [Pure Engineering] has created an updated version of their handy breakout board for the Grid-EYE and are currently accepting orders. The new breakout board is well under an inch square and called the GridEye2 (not to be confused with the name of the main component, the AMG8833 Grid-EYE by Panasonic.)

GridEye2 connected to CH341A dev board, allowing easy PC interface over USB.

A common way to interface with the Grid-EYE is over I2C, but to make connecting and developing on a PC more straightforward, [Pure Engineering] has made sure the new unit can plug right into their (optional) CH341A development board to provide a USB interface. Getting up and running on a Linux box is then as simple as installing the Linux drivers for the CH341A, and using sample C code to start reading thermal data from an attached GridEye2 board.

The Grid-EYE is a low-cost and capable little device that mates well with an LED matrix display, and on the more advanced side, a simple Gaussian interpolation can have a striking effect when applied to low-resolution sensors, making them appear higher resolution than they actually are.

Making A Gorgeously-Twisty Sculpture, Using Only Flat Pieces

Closeup of unique pieces that make up the final scuplture.

The sculpture shown here is called Puzzle Cell Complex and was created by [Nervous System] as an art piece intended to be collaboratively constructed by conference attendees. The sculpture consists of sixty-nine unique flat panel pieces, each made from wood, which are then connected together without the need for tools by using plastic rivets. Everything fits into a suitcase and assembly documentation is a single page of simple instructions. The result is the wonderfully-curved gyroid pattern you see here.

The sculpture has numerous layers of design, not the least of which was determining how to make such an organically-curved shape using only flat panels. The five-foot assembled sculpture has a compelling shape, which results from the sixty-nine individual panels and how they fit together. These individual panel shapes have each been designed using a technique called variational surface cutting to minimize distortion, resulting in their meandering, puzzle-piece-like outlines. Each panel also has its own unique pattern of cutouts within itself, which makes the panels lighter and easier to bend without sacrificing strength. The short video embedded below shows the finished sculpture in all its glory.

Continue reading “Making A Gorgeously-Twisty Sculpture, Using Only Flat Pieces”

Touch-Typing On Fingertips? Prototype Says It Could Work

The fingertips are covered in touch sensors, each intended to be tapped by the thumbtip of the same hand.

Touch-typing with thumbs on a mobile phone keyboard is a pretty familiar way to input text, and that is part of what led to BiTipText, a method of allowing bimanual text input using fingertips. The idea is to treat the first segments of the index fingers as halves of a tiny keyboard, whose small imaginary keys are tapped with the thumbs. The prototype shown here was created to see how well the concept could work.

The prototype hardware uses touch sensors that can detect tap position with a high degree of accuracy, but the software side is where the real magic happens. Instead of hardcoding a QWERTY layout and training people to use it, the team instead ran tests to understand users’ natural expectations of which keys should be on which finger, and how exactly they should be laid out. This data led to an optimized layout, and when combined with predictive features, test participants could achieve an average text entry speed of 23.4 words per minute.

Judging by the prototype hardware, it’s understandable if one thinks the idea of fingertip keyboards may be a bit ahead of its time. But considering the increasingly “always on, always with you” nature of personal technology, the goal of the project was more about investigating ways for users to provide input in fast and subtle ways. It seems that the idea has some merit in principle. The project’s paper can be viewed online, and the video demonstration is embedded below.

Continue reading “Touch-Typing On Fingertips? Prototype Says It Could Work”

Three-Dollar Router Rebooter Has One Job

Sometimes connectivity problems go away by power cycling a router. It’s a simple but inconvenient solution to a problem that shouldn’t exist, but that didn’t stop [Mike Diamond] from automating it for a few bucks in parts. The three-dollar router rebooter may be a simple device with only one job, but it’s well documented and worth a look.

The device is an ESP8266 board configured to try to reach Google periodically via the local wireless network. If Google cannot be reached, the board assumes a reboot is needed and disconnects the 12 V power supply from the router by using a relay. Then, after a delay, power is re-connected and all of one’s problems are over until the next time it happens. [Mike] used a relay module that has built-in screw terminals and a socket for the ESP8266-01, so it looks like the whole device can be put together without soldering a thing.

While the code for making this happen may sound trivial, [Mike] nevertheless delves into documenting it. It makes a great example of how to implement a simple event-driven finite state machine in a way that’s clear and concise. By structuring the code so that there is a finite number of specific states the device can be in (router power on, router power off, and testing connection) and by defining exactly how and when the device switches between those states, operation and troubleshooting becomes a much more manageable job. Another great example is this IoT Garage Door Opener project. If you’re programming devices that interface to physical things, these techniques are definitely good practice.