People trying to replicate their favorite items and gadgets from video games is nothing new, and with desktop 3D printing now at affordable prices, we’re seeing more of these types of projects than ever. At the risk of painting with too broad a stroke, most of these projects seem to revolve around weaponry; be it a mystic sword or a cobbled together plasma rifle, it seems most gamers want to hold the same piece of gear in the physical world that they do in the digital one.
But [Jonathan Whalen] walks a different path. When provided with the power to manifest physical objects, he decided to recreate the iconic “Question Block” from the Mario franchise. But not content to just have a big yellow cube sitting idly on his desk, he decided to make it functional. While you probably shouldn’t smash your head into the thing, if you give it a good knock it will launch gold coins into the air. Unfortunately you have to provide the gold coins yourself, at least until we get that whole alchemy thing figured out.
Printing the block itself is straightforward enough. It’s simply a 145 mm yellow cube, with indents on the side to accept the question mark printed in white and glued in. A neat enough piece of decoration perhaps, but not exactly a hack.
The real magic is on the inside. An Arduino Nano and a vibration sensor are used to detect when things start to get rough, which then sets the stepper motor into motion. Through an ingenious printed rack and pinion arrangement, a rubber band is pulled back and then released. When loaded with $1 US gold coins, all you need to do is jostle the cube around to cause a coin to shoot out of the top.
Any display can be connected to a microcontroller and used as a display if you know the protocol to use and have enough power in your micro. Sometimes, an odd display is used just “because it’s there.” This seems to be the case for Reddit user [phckopper], who has used a STM32 and a PS2 joystick to play a version of a Mario game on an oscilloscope.
There’s not many technical details but [phckopper] lets us know that the rendering is done using the SPI on the STM, transferred via DMA, which is synchronized to two saw-tooth waves that are fed in to the X and Y axes of the oscilloscope. The Z axis, which controls the brightness of the dot, is fed from the MOSI. By making the oscilloscope range all over the screen, similar to the way a CRT’s gun does,  is able to draw sprites, rather than vector graphics. The display has a resolution of 400×400 and each sprite is 16×16. The input is from a PS2 joystick connected to [phckopper]’s PC, with the information communicated over UART using a simple protocol.
We don’t get to see much of the game in the video after the break, but it’s a pretty impressive job nonetheless, especially when you realize that [phckopper] did this project when he was just sixteen! There are a couple of other oscilloscope projects here at Hackaday, like this one, a great version of pong played on the ‘scope, or this one, showing off some great graphics.
[Geeksmithing] wanted to respond to a challenge to build a USB hub using cement. Being a fan of Mario Brothers, a fitting homage is to build a retro-gaming console from cement to look just like your favorite Mario-crushing foe. With a Raspberry Pi Zero and a USB hub embedded in it, [Geeksmithing] brought the Mario universe character that’s a large cement block — the Thwomp — to life.
[Geeksmithing] went through five iterations before he arrived at one that worked properly. Initially, he tried using a 3D printed mold; the cement stuck to the plastic ruining the cement on the face. He then switched to using a mold in liquid rubber (after printing out a positive model of the Thwomp to use when creating the mold). But the foam board frame for the mold didn’t hold, so [Geeksmithing] added some wood to stabilize things. Unfortunately, the rubber stuck to both the foam board and the 3D model making it extremely difficult to get the model out.
Next up was regular silicone mold material. He didn’t have enough silicone rubber to cover the model, so he added some wood as filler to raise the level of the liquid. He also flipped the model over so that he’d at least get the face detail. He found some other silicone and used it to fill in the rest of the mold. Despite the different silicone, this mold worked. The duct tape he used to waterproof the Raspberry Pi, however, didn’t. He tried again, this time he used hot glue – a lot of hot glue! – to waterproof the Pi. This cast was better, and he was able to fire up the Pi, but after a couple of games his controller stopped working. He cracked open the cement to look at the Pi and realized that a small hole in the hot glue caused a leak that shorted out the USB port on the Pi. One last time, he thought, this time he used liquid electrical tape to waterproof the Pi.
The final casting worked and after painting, [Geeksmithing] had a finished cement Thwomp console that would play retro games. He missed the deadline for the USB Hub Challenge, but it’s still a great looking console, and his video has a lot of detail about what went wrong (and right) during his builds. There’s a great playlist on YouTube of the other entries in the challenge, check them out along with [Geeksmithing]’s video below!
This is a hacking and gaming tour de force! [Seth Bling] executed a code injection hack in Super Mario World (SMW) that not only glitches the game, but re-programs it to play a stripped-down version of “Flappy Bird”. And he did this not with a set of JTAG probes, but by using the game’s own controller.
There are apparently a bunch of people working on hacking Super Mario World from within the game, and a number of these hacks use modified controllers to carry out the sequence of codes. The craziest thing about our hack here is that [Seth] did this entirely by hand. The complete notes are available here, but we’ll summarize the procedure for you. Or you can go watch the video below. It’s really incredible.
Most people use the Super Mario Maker to, well, create Super Mario game levels. [Robin T] decided to try something a little different: building a working calculator. Several hundred hours later, he created the Cluttered Chaos Calculator, which definitely lives up to the name. What this Super Mario level contains is a 3-bit digital computer which can add two numbers between 0 and 7, all built from the various parts that the game offers. To use it, the player enters two numbers by jumping up in a grid, then they sit back and enjoy the ride as Mario is carried through the process, until it finally spits out the answer in a segment display.
It’s not going to be winning any supercomputer prizes, as it takes about two minutes to add the two digits. But it is still an incredibly impressive build, and shows what a dedicated hacker can do with a few simple tools and a spiny shell or two.
[Jordan Wills] was tasked by his company, Silicon Labs, to build some Christmas Baubles to give away to co-workers. While the commissioned units were designed to be simple battery and LED affairs, he decided to make one of his own with bells and whistles. His Mario themed Christmas Ornament uses a Silicon Labs FM972 micro controller, capacitive sensing, PWM controlled 8 bit audio, and blinky lights.
The interesting part is some of the construction techniques that he used. The finger-joint style cube is built from circuit boards. Electrical connections between panels were routed using solder wicking copper braid. That’s a interesting trick which we’ll keep in mind along with some of our favorite creative structural uses of PCB.
The top of the cube has four LED’s which light up the Mario “Question Mark” symbols on the four sides of the cube while the base contains all of the electronics. The outside of the base piece was a large copper plane to act as the capacitive sensing element. This meant all electronics needed to be surface mounted with tracks laid out on one side – which posed some layout challenges. Adding the Capacitive sense function was a cinch thanks to support from the in-house design team. PWM output from the micro controller takes care of audio, and the output is routed through a buffer to boost the signal. A bandpass filter then cleans up the PWM output before feeding it to the speaker.
Minecraft wizard, and record holder for the Super Mario World speedrun [SethBling] is experimenting with machine learning. He built a program that will get Mario through an entire level of Super Mario World – Donut Plains 1 – using neural networks and genetic algorithms.
A neural network simply takes an input, in this case a small graphic representing the sprites in the game it’s playing, sends that input through a series of artificial neurons, and turns that into commands for the controller. It’s an exceedingly simple neural network – the network that can get Mario through an entire level is less than a dozen neurons – but with enough training, even simple networks can accomplish very complex tasks.
To train the network, or weighting the connections between inputs, neurons, and outputs, [SethBling] is using an evolutionary algorithm. This algorithm first generates a few random neural networks, watches Mario’s progress across Donut Plains 1, and assigns a fitness value to each net. The best networks of each generation are combined, and the process continues for the next generation. It took 34 generations before MarI/O could finish the level without dying.
A few members of the Internet’s peanut gallery have pointed to a paper/YouTube video by [Tom Murphy] that generalized a completely different technique to play a whole bunch of different NES games. While both [SethBling]’s and [Tom Murphy]’s algorithms use certain variables to determine its own success, [Tom Murphy]’s technique works nearly automatically; it will play about as well as the training data it is given. [SethBling]’s algorithm requires no training data – that’s the entire point of using a genetic algorithm.