Raspberry Pi 4 And The State Of Video Game Emulation

The modern ideal of pixel art is a fallacy. Videogame art crammed onto cartridges and floppy discs were beholden to the CRT display technology of their day. Transmitting analog video within the confines of dingy yellow-RCA-connector-blur, the images were really just a suggestion of on-screen shapes rather than clearly defined graphics. Even when using the superior RGB-video-over-SCART cables, most consumer grade CRT televisions never generated more than about 400 lines, so the exacting nature of digitized plots became a fuzzy raster when traced by an electron beam. It wasn’t until the late 90s when the confluence of high resolution PC monitors, file sharing, and open source emulation software that the masses saw pixels for the sharp square blocks of color that they are.

More importantly, emulation software is not restricted to any one type of display technology any more than the strata of device it runs on. The open-source nature of videogame emulators always seems to congregate around the Lowest Common Denominator of devices, giving the widest swath of gamers the chance to play. Now, that “L.C.D.” may very well be the Raspberry Pi 4. The single board computer’s mix of tinker-friendly IO at an astonishingly affordable entry price has made it a natural home for emulators, but at fifty bucks what options unlock within the emulation scene?

Continue reading “Raspberry Pi 4 And The State Of Video Game Emulation”

CircuitPython Now Working On Teensy 4.0

Python is often touted as a great language for beginner coders to learn. Until recently, however, it simply wasn’t a viable choice in the embedded space. That’s begun to change with projects like CircuitPython, and now it’s available on the Teensy 4.0!

This milestone is thanks in part to [arturo182], who did the ground work of getting CircuitPython to run on the iMX RT series of microcontrollers. This was built upon by [tannewt], who is the lead in charge of the CircuitPython project.

There are some bugs to work out; currently, the project is in a very early stage of development. [Paul Stoffregen], who heads Teensy development, has already pointed out that there needs to be allowance for the 4096 byte recovery partition in the Teensy 4.0’s storage, for example. Development continues at a rapid pace, and those with ideas about where the project should go can weigh in online.

It’s an exciting development, which brings easy Python development to one of the more powerful embedded development platforms on the market. We look forward to seeing many more projects take advantage of the power of the Teensy 4.0 moving forward. If you’re eager to see what can be done with CircuitPython, be sure to check out projects we’ve featured before. Video after the break.

Continue reading “CircuitPython Now Working On Teensy 4.0”

Node-RED Laser Shooting Gallery Goes Anywhere

When you think of a shooting gallery, you might envision a line of tin cans set up along a split-rail fence, or a few rows of ducks or bottles lined up at a carnival. But what do these have in common? You, standing in one spot, and shooting in the same general direction. You’re exposed! If those targets could shoot back, you’d be dead within seconds. Wouldn’t it be more fun if the targets were all around you in 360°? We think so, too.

So how could you possibly set up a shooting gallery this way? [Another Maker] already solved that problem for you with ESP32s and Node-RED (YouTube). Each target has an ESP32, a laser sensor, and an LED that lights up when the target is ready, and turns off once it’s been hit. They all make an enticing ‘shoot me’ sound that goes with their graphics, and a second mp3 plays upon direct hit.

The PVC gun houses an ESP8266, a laser module at the end of the barrel, and runs on a cylindrical USB battery slipped down in the secondary grip. [Another Maker] can spread the targets out far and wide, as long as they all stay in range of the localized WiFi access point.

The best part is that the Node-RED system is target-agnostic — it doesn’t care how many you have or how they’re made, and it can juggle up to 250 of them. Because of the way the target objects are programmed, it would be quite easy to add actuators that make them drop down or fall backward when hit. You could also implement [Another Maker]’s fantastic suggestion of hitting arcade buttons with NERF darts instead. Charge those lasers and fire at the break button to see the demo and walk-through video.

If you plan to knock the targets down or over in your implementation, you’ll want an easy way to reset them. Here’s a scrap-built shooting gallery that uses a windshield wiper motor to set ’em back up.