A conventiongoer plays Pokemon on a working Color Game Boy costume.

Convention Plays Pokemon On Giant Color Game Boy Costume

Standard cosplay is fun and all, but what is there for admirers to do but look you up and down and nitpick the details? Interactive cosplay, now that’s where it’s at. [Jaryd Giesen] knows this, and managed to pull together a working color Game Boy costume in a few days.

The original plan was to use a small projector on an arm, like one of those worm lights that helped you see the screen, but [Jaryd] ended up getting a secondhand monitor and strapping it to his chest. Then he took the rest of the build from there. Things are pretty simple underneath all that cardboard: there’s a Raspberry Pi running the RetroPie emulator, a Pico to handle the inputs, and two batteries — one beefy 12,000 mAH battery for the monitor, and a regular power pack for the Pi and the Pico.

As you’ll see in the build and demo video after the break, nearly 100 people stopped to push [Jaryd]’s buttons. They didn’t get very far in the game, but it sure looks like they had fun trying.

Since we’re still in a pandemic, you may want to consider incorporating a mask into your Halloween costume this year. Just a thought.

Continue reading “Convention Plays Pokemon On Giant Color Game Boy Costume”

Put A Landscape Scanner On Your Bike And Ride

Google have a fleet of cars travelling the roads of the world taking images for their online StreetView service. You could do much the same thing pedalling on two wheels, with the help of this landscape scanner from [Celian_31].

The basic concept is simple. A powerbank on the bike runs a Raspberry Pi, kitted out with its typical Pi Camera within a 3D-printed housing. A reed switch on the bike’s frame detects pulses from a magnet attached to the valve stem of one tire, and this is used to trigger the taking of photos at regular intervals with the aid of a Python script. Further scripts are then used to knit all the photos taken on a ride together into one contiguous image.

It’s unlikely you’ll recreate Google’s entire StreetView in this fashion. You’d probably want a spherical camera anyway. However, if you wish to undertake regular static surveillance of your local area in an inconspicuous fashion, this would be a great way to do it while also staying in shape. If you do that, please don’t tell us as it would be a major violation of operational security. We’d love to hear about any other projects, though! Video after the break.

Continue reading “Put A Landscape Scanner On Your Bike And Ride”

A Raspberry Pi-based COVID Green Pass validator verifies a QR code on a phone.

COVID Green Pass Validator With Raspberry Pi

It seems like every nation is dealing with the plague a little differently. In June, the EU instated a COVID Green Pass which comes in the form of a paper or digital QR code. It was designed to grease the wheels of travel throughout Europe and allow access to nursing homes. As of early August, the Green Pass is now required of those 12 and older in Italy to gain access to bars and restaurants, museums, theaters, etc. — anywhere people gather in sizeable groups. The Green Pass shows that you’ve either been vaccinated, have had COVID and recovered, or you have tested negative, and there are different half-lives for each condition: nine months for vaccinated, six for recovered, and just forty-eight hours for a negative test.

[Luca Dentella] has built a Green Pass validator using a Raspberry Pi and a Raspi camera. Actual validation must be done through the official app, so this project is merely for educational purposes. Here’s how it works: the user data including their status and the date/time of pass issuance are encoded into a JSON file, then into CBOR, then it is digitally signed for authenticity. After that, the information is zipped up into a base-45 string, which gets represented as a QR code on your phone. Fortunately, [Luca] found the Minister of Health’s GitHub, which does the hard work of re-inflating the JSON object.

[Luca]’s Pi camera reads in the QR and does complete validation using two apps — a camera client written in Python that finds QRs and sends them to the validation server, written in Node.js. The validation server does formal verification including verifying the signature and the business rules (e.g. has it been more than 48 hours since Karen tested negative?) Fail any of these and the red LED lights up; pass them all and you get the green light. Demo video is after the break.

Are you Canadian? Then check this out, eh?

Continue reading “COVID Green Pass Validator With Raspberry Pi”

Even Faster Fourier Transforms On The Raspbery Pi Zero

Oftentimes in computing, we start doing a thing, and we’re glad we’re doing it. But then we realise, it would be much nicer if we could do it much faster. [Ricardo de Azambuja] was in just such a situation when working with the Raspberry Pi Zero, and realised that there were some techniques that could drastically speed up Fast Fourier Transforms (FFT) on the platform. Thus, he got to work.

The trick is using the Raspberry Pi Zero’s GPU to handle the FFTs instead of the CPU itself. This netted Ricardo a 7x speed upgrade for 1-dimensional FFTs, and a 2x speed upgrade for 2-dimensional operations.

The idea was cribbed from work we featured many years ago, which provided a similar speed up to the very first Raspberry Pi. Given the Pi Zero uses the same SoC as the original Raspberry Pi but at a higher clock rate, this makes perfect sense. However, in this case, [Ricardo] implemented the code in Python instead of C as suits his use case.

[Ricardo] uses the code with his Maple Syrup Pi Camera project, which pairs a Coral USB machine learning accelerator with a Pi Zero and a camera to achieve tasks such as automatic licence plate recognition or facemask detection. Fun!

An AMD GPU plugged into an ATX PSU and Raspberry PI CM4

Raspberry Pi With Some Serious Graphical Muscle

[Jeff Geerling] routinely tinkers around with Raspberry Pi compute module, which unlike the regular RPi 4, includes a PCI-e lane. With some luck, he was able to obtain an AMD Radeon RX 6700 XT GPU card and decided to try and plug it into the Raspberry Pi 4 Compute Module.

While you likely wouldn’t be running games with such as setup, there are many kinds of unique and interesting compute-based workloads that can be offloaded onto a GPU. In a situation similar to putting a V8 on a lawnmower, the Raspberry Pi 4 pulls around 5-10 watts and the GPU can pull 230 watts. Unfortunately, the PCI-e slot on the IO board wasn’t designed with a power-hungry chip in mind, so [Jeff] brought in a full-blown ATX power supply to power the GPU. To avoid problems with differing ground planes, an adapter was fashioned for the Raspberry Pi to be powered from the PSU as well. Plugging in the card yielded promising results initially. In particular, Linux detected the card and correctly mapped the BARs (Base Address Register), which had been a problem in the past for him with other devices. A BAR allows a PCI device to map its memory into the CPU’s memory space and keep track of the base address of that mapped memory range.

AMD kindly provides Linux drivers for the kernel. [Jeff] walks through cross-compiling the kernel and has a nice docker container that quickly reproduces the built environment. There was a bug that prevented compilation with AMD drivers included, so he wasn’t able to get a fully built kernel. Since the video, he has been slowly wading through the issue in a fascinating thread on GitHub. Everything from running out of memory space for the Pi to PSP memory training for the GPU itself has been encountered.

The ever-expanding capabilities of the plucky little compute module are a wonderful thing to us here at Hackaday, as we saw it get NVMe boot earlier this year. We’re looking forward to the progress [Jeff] makes with GPUs. Video after the break.

Continue reading “Raspberry Pi With Some Serious Graphical Muscle”

A wall clock with exposed circuit boards

Drunk Wall Clock Uses Convoluted Circuits To Display Time

Here at Hackaday we can never get enough of odd clocks, and we’re delighted to see [Dan O’Shea]’s creation called the Wifi-Telnet-FPGA-NTSC Drunk Wall Clock. That mouthful is an accurate description of what it does: at the heart of the device is an ESP32 that uses WiFi to connect to a Raspberry Pi. It then telnets into the system, logs in, and requests the current time using the Linux date command. So far, so ordinary.

The “FPGA” part is where it gets weirder: the ESP32 is hooked up to a VGA1306 board. This is a little PCB with an FPGA that emulates an OLED display and outputs the image to a VGA connector. [Dan] could have simply hooked up a VGA display to this, but instead went for another layer of complexity by converting the VGA signal to something resembling composite video, using nothing more than three resistors. The resulting “NTSC” signal is then fed into a small TFT display that shows the time.

The clock got its “drunk” label because the process of repeatedly running the date command and parsing its output is slow and prone to hiccups, resulting in a display where the seconds advance in a somewhat unsteady manner. This fits well with the overall aesthetic of the clock, which consists of a heap of PCBs held together with cable ties and electrical tape. Mounted on a round panel of recycled wood, it makes a beautiful wall ornament for any hacker lab.

We love projects like this that accomplish a simple task in a convoluted way, and there’s no shortage of needlessly complicated clocks, whether physically drawing the time or using machine-learning data. But if you simply like your clocks with their electronics exposed, check out this free-form LED clock or this neat circuit sculpture clock.

Continue reading “Drunk Wall Clock Uses Convoluted Circuits To Display Time”

Dynamicland Makes The Whole Building The Computer

Every once is a while a research project comes along that has the potential to totally shake up computing and what it even means to interact with a system. The project Dynamicland.org, is a result of [Bret Victor]’s research journey over the years, looking into various aspects of human computer interaction and what it even means to think like a human.

One of the overhead projectors tied to a realbox
In Realtalk, paper is your programming medium

Dynamicland is an instantiation of a Realtalk ecosystem, deployed into a whole building. Tables are used as computing surfaces, with physical objects such as pieces of paper, notebooks, anything which can be read by one of the overhead cameras, becoming the program listing, as well as the user interface. The camera is associated with a projector, with the actual hardware hooked into so-called ‘Realboxes’ which are Linux machines running the Realtalk software. Separate Realboxes (and other hardware such as a Raspberry Pi, running Realtalk) are all federated together using the Realtalk protocol, which allows communication from hardware in the ceiling, to any on the desk, and also to other desks and computing surfaces.

Realtalk itself is described as an environment for authoring and using computation media. The Realtalk system provides a language extension to Lua. Together these form a domain-specific language. Realtalk is also a kind of reactive database, which means that the emphasis is on the flow of data and connections between data producing things, and data consuming things. For a bit more explanation of how reactive programming can be used with modern relational databases, check out this article on the subject.

For a good overview of how this works in practice, from a programming perspective, checkout [Omar Rizwan]’s article about his ‘Geokit’ project. Another interesting read is the work by [Andrés Cuervo.]

Continue reading “Dynamicland Makes The Whole Building The Computer”