The popular press was recently abuzz with sad news from the planet Mars: Opportunity, the little rover that could, could do no more. It took an astonishing 15 years for it to give up the ghost, and it took a planet-wide dust storm that blotted out the sun and plunged the rover into apocalyptically dark and cold conditions to finally kill the machine. It lived 37 times longer than its 90-sol design life, producing mountains of data that will take another 15 years or more to fully digest.
Entire careers were unexpectedly built around Opportunity – officially but bloodlessly dubbed “Mars Exploration Rover-B”, or MER-B – as it stubbornly extended its mission and overcame obstacles both figurative and literal. But “Oppy” is far from the only long-duration success that NASA can boast about. Now that Opportunity has sent its last data, it seems only fitting to celebrate the achievement with a look at exactly how machines and missions can survive and thrive so long in the harshest possible conditions.
This is likely not to come as much of a shock to you, but the ESP8266 is pretty popular. At this point, we’re more surprised when a project that hits the tip lineĀ doesn’t utilize this incredibly cheap WiFi-enabled microcontroller. If you’re making a gadget that needs to connect to the Internet, there’s a good chance some member of the ESP family is going to be a good choice. But is it a one-trick MCU?
ESP Little Game Engine Logo
Well, judging by software frameworks like the “Little Game Engine” created by [Igor], it looks like the ESP is expanding its reach into offline projects as well. While it might not turn the ESP8266 into a next-gen gaming powerhouse, we’ve got to admit that the demos shown off so far are pretty impressive. When paired with a couple of buttons and a TFT display such as the ILI9341, the ESP could make for a particularly pocket-friendly game system.
The game engine that [Igor] has developed provides the programmer with a virtual screen resolution of 128×128, a background layer, and 32 sprites which offer built-in tricks like collision detection and rotation. All while running at a respectable 20 frames per second. This environment is ideal for the sort of 2D scrolling games that dominated the 8 and 16-bit era of gaming, and as seen in the video after the break, it can even pull off a fairly decent clone of “Flappy Bird”.
In addition, [Igor] created an online emulator and compiler which allows you to develop games using his engine right in your web browser. You can load up a selection of example programs and execute them to see what the engine is capable of, then try your hand at developing your own game before ever having to put the hardware together. Incidentally, the performance of this online development environment is fantastic; with even the fairly complex “Flappy Bird” example code compiling and starting in the emulator nearly instantaneously.
OpenSCAD is one of the most powerful 3d modeling applications around. Its beauty is in its simplicity; if you need a box, you can just write the code for a box. If you need some bit of plastic to keep your 3D printer running, you can just write the code for that bit of plastic. Like all programming languages, OpenSCAD is only really powerful if you have a huge back-catalog of various components ready for reuse. That’s where [Mark]’s library for hinged boxes comes in handy. Every type of box you would ever want to create, from boxes with covers, magnet closures, or cases for your glasses is easily accessible with just a few lines of code.
The work presented here is an OpenSCAD script to generate two-piece hinged boxes, with rounded corners, a lid, interlocking rims, and optional snap fit, magnet, or screw closures. As you would expect from OpenSCAD, everything in this script is parametric. You can change any measurement or simply delete entire sections of the box.
The included examples consist of a small mini-Altoids tin-sized ‘Bee Box’ with a snap-fit lid. All of the relevant dimensions of the snap-fit lid are variables. Other examples include an eyeglass case and a box for small parts storage that interlock. If you have a few rolls of filament, a lot of time on your hands, and want to organize your workbench, you could do worse than checking out a few of these OpenSCAD boxes.