Smart Camera Based On Google Coral

As machine learning and artificial intelligence becomes more widespread, so do the number of platforms available for anyone looking to experiment with the technology. Much like the single board computer revolution of the last ten years, we’re currently seeing a similar revolution with the number of platforms available for machine learning. One of those is Google Coral, a set of hardware specifically designed to take advantage of this new technology. It’s missing support to work with certain hardware though, so [Ricardo] set out to get one working with a Raspberry Pi Zero with this smart camera build based around Google Coral.

The project uses a Google Coral Edge TPU with a USB accelerator as the basis for the machine learning. A complete image for the Pi Zero is available which sets most of the system up right away including headless operation and includes a host of machine learning software such as OpenCV and pytesseract. By pairing a camera to the Edge TPU and the Raspberry Pi, [Ricardo] demonstrates many of its machine learning capabilities with several example projects such as an automatic license plate detector and even a mode which can recognize whether or not a face mask is being worn, and even how correctly it is being worn.

For those who want to get into machine learning and artificial intelligence, this is a great introductory project since the cost to entry is so low using these pieces of hardware. All of the project code and examples are available on [Ricardo]’s GitHub page too. We could even imagine his license plate recognition software being used to augment this license plate reader which uses a much more powerful camera.

Installing Linux Like It’s 1989

A common example of the sheer amount of computing power available to almost anyone today is comparing a smartphone to the Apollo guidance computer. This classic computer was the first to use integrated circuits so it’s fairly obvious that most modern technology would be orders of magnitude more powerful, but we don’t need to go back to the 1960s to see this disparity. Simply going back to 1989 and getting a Compaq laptop from that era running again, while using a Raspberry Pi Zero to help it along, illustrates this point well enough.

[befinitiv] was able to get a Raspberry Pi installed inside of the original computer case, and didn’t simply connect the original keyboard and display and then call it a completed build. The original 286 processor is connected to the Pi with a serial link, so both devices can communicate with each other. Booting up the computer into DOS and running a small piece of software allows the computer into a Linux terminal emulator hosted on the Raspberry Pi. The terminal can be exited and the computer will return back to its original DOS setup. This also helps to bypass the floppy disk drive for transferring files to the 286 as well, since files can be retrieved wirelessly on the Pi and then sent to the 286.

This is quite an interesting mashup of new and old technology, and with the Pi being around two orders of magnitude more powerful than the 286 and wedged into vacant space inside the original case, [befinitiv] points out that this amalgamation of computers is “borderline useful”. It’s certainly an upgrade for the Compaq, and for others attempting to get ancient hardware on the internet, don’t forget that you can always use hardware like this to access Hackaday’s retro site.

Continue reading “Installing Linux Like It’s 1989”

The Game Boy As You Have Never Seen It Before Is Newest From [Sprite_tm]

Explain a Game Boy to a child in 2021 and they’ll have little idea of how much impact that chunky grey brick had back in the day. Search for a YouTube video to demonstrate, and you might find the one we’ve put below the break. It starts with the classic Tetris on the Game Boy, then moves on to Super Mario World before treating us to Sonic the Hedgehog, and finally Doom. All seminal games of the Game Boy’s heyday, with one small problem. The last three were never Game Boy titles, and certainly wouldn’t have run on the device’s limited hardware. Most of you will by now not be surprised to find that the narrator is none other than [Sprite_tm], and his Game Boy has one of the nicest Raspberry Pi conversions we’ve ever seen.

Given his previous work we expected the cartridges to have an ESP32 on board that  somehow mapped into Game Boy display memory, but in fact he’s swapped the original Nintendo motherboard with a replacement carrying an ICE40 FPGA on one side to handle the Nintendo hardware and a Pi Zero on the other to do the heavy lifting. Insert a Game Boy cartridge and it emulates the original to the point you’d never suspect it wasn’t the real thing, but insert one of the non Game Boy cartridges and it passes an identifier to the Pi which launches a script to run the appropriate Pi code. So the Mario and Sonic games are running in Pi-based emulators, and Doom is running natively on the Pi. It gives the appearance of a seamless gaming experience, wherein lies its charm.

This project certainly has the quality we’ve come to expect from Sprite, and a quick flick through these pages will show plenty of previous examples. One of the most recent was a miniature working DEC VT100 terminal containing an emulated PDP minicomputer.

Continue reading “The Game Boy As You Have Never Seen It Before Is Newest From [Sprite_tm]”

PiNet — One Small Project Grows Unexpectedly

A few years ago, [Gregory Sanders] aka [Dr Gerg] had one simple wish in mind when he started what is now the PiNet project — to know whether his garage door was open or closed. Instead of searching out off-the-shelf solutions, he looked at the project as a learning opportunity. After picking up Python, he built a system from a Raspberry Pi, a 12V gel cell battery, and a power supply / charger circuit. Thus project Overhead Door (ohd) was complete (see the ohd GitHub repository) and [Dr Gerg] was done.

Or so he thought. After getting a swimming pool installed, he got the itch again, and started a new project called Pool Controls, because:

The controls for your average backyard in-ground pool are pathetic. I felt like I could do better with a Raspberry Pi, a relay board and some Python. And so I did, and frankly, it’s awesome.

Then he built his own weather station to replaced a commercial one which had died twice in as many years, followed by his own web-based UI framework. Next was the integration of an outdoor security camera system. And finally, although we don’t believe it’s really final, he ripped out the cloud-based controls from his shop air conditioner and added his own Raspberry Pi-based solution. All of these projects are available on his GitHub page.

[Dr Gerg]’s goal in posting all this work is not necessarily so people can duplicate it, although that is okay as well. Instead, he hopes that people will realize that they can build these types of projects on their own, perhaps leaning some things and picking up new skills along the way — have fun doing it. We like the way you think, [Dr Gerg]. Do you know of any small projects which grew and grew and took on a life of their own?

The Compromises Of Raspberry Pi Hardware Documentation

[Rowan Patterson] informed us about a recent ticket he opened over at the Raspberry Pi Documentation GitHub repository. He asked about the the lack of updates to the Raspberry Pi 4’s USB-C power schematics for this board. You may recall that the USB-C power issue was covered by us back in July of 2019, yet the current official  Raspberry Pi 4 schematics still show the flawed implementation, with the shorted CC pins, nearly two years later.

[Alasdair Allan], responsible for the Raspberry Pi  documentation, mentioned that they’re in the process of moving their documentation from Markdown to AsciiDoc, and said that they wouldn’t have time for new changes until that was done. But then [James Hughes], Principal Software Engineer at Raspberry Pi,  mentioned that the schematics may not be updated even after this change due to a of lack of manpower.

As [James] emphasized, their hardware will probably never be open, due to NDAs signed with Broadcom. The compromise solution has always been to publish limited peripheral schematics. Yet now even those limited schematics may not keep up with board revisions.

An easy fix for the Raspberry Pi 4’s schematics would be for someone in the community to reverse-engineer the exact changes made to the Raspberry Pi 4 board layout and mark these up in a revised schematic. This should be little more than the addition of a second 5.1 kΩ resistor, so that CC1 and CC2 each are connected to ground via their own resistor, instead of being shorted together.

Still, you might wish that Raspberry Pi would update the schematics for you, especially since they have updated versions internally. But the NDAs force them to duplicate their efforts, and at least right now that means that their public schematics do not reflect the reality of their hardware.

Raspberry Pi Floppy Driver Uncovers Fishy Secrets

A forum post by New Zealand electronics enthusiast [zl2wrw] about retreiving waypoints from a mysterious floppy disk caught our eye. The navigation system on his friend’s fishing boat had died and was replaced. But the old waypoints were stored on a 3-1/2 inch floppy disk that was unreadable on a normal PC. Not to be deterred, [zl2wrw] then looked for another solution — apparently a list of hot NZ fishing spots is worth quite the effort.

The tool he discovered, and the main point of this story, is the bbc-fdc by [Jasper Renow-Clarke] aka [picosonic]. [Jasper] made this project to read 5-1/4 inch Acorn DFS floppies from his BBC Micro. But bbc-fdc can be used to read a variety of floppy disk formats, such as DOS, C64, Apple II, and others It can also just capture raw magnetic flux transitions on the disk, blissfully unaware of any logical structure to the data. We recently wrote about another Raspberry Pi Floppy Drive Controller project by [Scott Baker]. What sets [picosonic]’s project apart is that he’s not using an FDC controller chip here. The only interface electronics is a couple of open-collector 7406 ICs. Data is read using the SPI peripheral. If you need to archive old floppy disks or do a forensic analysis of unknown disks like [zl2wrw], then one of these two projects will almost certainly do the trick.

Meanwhile back in New Zealand, [zl2wrw] discovered that the floppy format was standard (Modified Frequency Modulation, MFM) by examining the raw flux dump. However, the filesystem was a mystery — it didn’t quite match any of the usual suspects. So [zl2wrw] dug into the hex dump of the data and figured out enough of the structure to manually recover the waypoints. Subsequently, a user on the forum found a document describing the file system used by Furuno GPS units, which proved to be a close match albeit after the fact. Alas, [zl2wrw] hasn’t publish the coordinates of those good fishing spots.

Have you had any successes (or failures) when it comes to reading data from old disks? Or have you encountered peculiar disk formats and/or file systems, where having a tool like this could have been helpful? Let us know in the comments below.

Raspberry Pi Hat Adds SDR With High Speed Memory Access

An SDR add-on for the Raspberry Pi isn’t a new idea, but the open source cariboulite project looks like a great entry into the field. Even if you aren’t interested in radio, you might find the project’s use of a special high-bandwidth memory interface to the Pi interesting.

The interface in question is the poorly-documented SMI or Secondary Memory Interface. [Caribou Labs] helpfully provides links to others that did the work to figure out the interface along with code and a white paper. The result? Depending on the Pi, the SDR can exchange data at up to 500 Mbps with the processor. The SDR actually uses less than that, at about 128 Mbps. Still, it would be hard to ship that much data across using conventional means.

On the radio side, the SDR covers 389.5 to 510 MHz and 779 to 1,020 MHz. There’s also a wide tuning channel from 30 MHz to 6 GHz, with some exclusions. The board can transmit at about 14 dBm, depending on frequency and the receive noise figure is under 4.5 dB for the lower bands and less than 8 dB above 3,500 MHz. Of course, some Pis already have a radio, but not with this kind of capability. We’ve also seen SMI used to drive many LEDs.