Camera held in hand

Review: Vizy Linux-Powered AI Camera

Vizy is a Linux-based “AI camera” based on the Raspberry Pi 4 that uses machine learning and machine vision to pull off some neat tricks, and has a design centered around hackability. I found it ridiculously simple to get up and running, and it was just as easy to make changes of my own, and start getting ideas.

Person and cat with machine-generated tags identifying them
Out of the box, Vizy is only a couple lines of Python away from being a functional Cat Detector project.

I was running pre-installed examples written in Python within minutes, and editing that very same code in about 30 seconds more. Even better, I did it all without installing a development environment, or even leaving my web browser, for that matter. I have to say, it made for a very hacker-friendly experience.

Vizy comes from the folks at Charmed Labs; this isn’t their first stab at smart cameras, and it shows. They also created the Pixy and Pixy 2 cameras, of which I happen to own several. I have always devoured anything that makes machine vision more accessible and easier to integrate into projects, so when Charmed Labs kindly offered to send me one of their newest devices, I was eager to see what was new.

I found Vizy to be a highly-polished platform with a number of truly useful hardware and software features, and a focus on accessibility and ease of use that I really hope to see more of in future embedded products. Let’s take a closer look.

Continue reading “Review: Vizy Linux-Powered AI Camera”

Amazing “Connect Fore!” Robot Challenges Your Putting Practice

We’ve just come across [Bithead]’s amazing, robotically-automated mashup of miniature golf and Connect Four, which also includes an AI opponent who pulls no punches in its drive to win. Connect Fore! celebrates Scotland — the birthplace of golf, after all — and looks absolutely fantastic.

Scotty the AI opponent uses this robotic turret to make their moves in a game of Connect Fore!

The way it works is this: players take turns putting colored balls into one of seven different holes at the far end of the table. Each hole feeds to a clear tube — visible in the middle of the table — which represent each of the columns in a game of Connect Four.

Each player attempts to stack balls in such a way that they create an unbroken line of four in their color, either horizontally, vertically, or diagonally. In a one-player game, a human player faces off against “Scotty”, the computer program that chooses its moves with intelligence and fires balls from a robotic turret.

[Bithead] started this project as a learning experience, and being such a complex project, the write-up is extensive. We really recommend reading through the whole thing if you are at all interested in what goes into making such a project work.

What’s particularly interesting is all of the ways in which things nearly worked, or needed nudging or fine adjustment. One might think that reliably getting a ball to enter a hole and roll down a PVC tube wouldn’t be a particularly finicky task, but it turns out that all kinds of things can go wrong.

Even finding the right play surface was a challenge. [Bithead]’s first purchase from Amazon was a total waste: it looked bad, smelled bad, and balls didn’t roll well on it. There are high-quality artificial turfs out there, but the good stuff gets shockingly expensive, and such a small project pretty much pigeonholes one as a nuisance customer when it comes to vendors. The challenges [Bithead] overcame serve as a reminder to keep the 80/20 rule (or Pareto principle) in mind when estimating what will get a project to the finish line.

Right under the page break below is a brief video tour of the completed table, and after that, you can watch a game in action as [Bithead] faces off against Scotty the AI. Curious about the inner workings? The last video has some build details that fill in a few blanks from the write-up.

We’ve seen an automated Chess table before, but this is an entirely other, utterly fantastic level of work.
Continue reading “Amazing “Connect Fore!” Robot Challenges Your Putting Practice”

Best Ways To Make PCB Breakaway Tabs, Revealed

Most of us are familiar with the concept of producing PCBs in a panel, and snapping them apart afterwards. V-grooves that go most of the way through a PCB are one way to go about this, but a line of perforations along which to snap a tab is another. But what’s the best size and spacing of holes to use? Sparkfun’s [Nick Poole] spent some $400 on PCBs to get some solid answers by snapping each of them apart, and judging the results.

The nice thing about creating a perforation line (or “mouse bites”) is that drill hits are a very normal thing in PCB production, which makes creating this kind of breakaway tab a very straightforward and flexible method. However, it can be tricky to get results that are just right. Too sturdy, and breaking apart is a hassle. Too weak, and the board may break or twist before its time. On top of that, edges must also break cleanly. We’ve covered panelizing PCBs in this way before, but this is the first time we’ve seen someone seriously look into how to create optimal breakaway tabs.

Placing holes tangent to the board edge (as shown above) isn’t the prettiest, but keeps PCB edges free from protrusions. This is best for boards that are rail-mounted, or have tight enclosures.

Data on designing mouse bites was sparse and a bit inconsistent, so [Nick] decided to figure it out empirically and share the results. The full details are available in Building a Better Mousebite (PDF download) but the essence of the recommendations are: 0.015″ unplated holes, spaced 0.025″ apart (center-to-center), tabs a maximum of 0.118″ wide (so as to be compatible with depanelizing tools), and holes that extend into the corners of the breakaway tab to avoid sharp edges. Holes should be placed slightly differently depending on whether one wishes to optimize the cosmetic appearance versus the physical smoothness of the board edge, but those numbers are the core of the guidelines.

To fine tune, [Nick] suggests increasing the spacing between holes to add strength, or just adding additional tabs. What about thickness of PCB? [Nick] tested boards both 0.8 mm and 1.6 mm thick, and while different amounts of torque were needed to snap the boards apart, things still worked as expected regardless of PCB thickness.

When it comes down to it, the best numbers will ultimately be the ones that your process or fab house can most efficiently handle, but [Nick]’s numbers should not steer anyone wrong, and it’s fantastic to see this kind of work go into refining such a common PCB feature.

Enjoy This Animatronic Eyeball’s Smooth Moves

[Enza3D] shows off a surprisingly compact articulated animatronic eyeball that can be intuitively controlled with a Wii nunchuk controller. The design uses 3D printed parts and some tiny servos, and all of the necessary electronics can be easily purchased online. The mechanical design of the eye is very impressive, and [Enza3D] walks through several different versions of the design, the end result of which is a tidy little assembly that would fit nicely into masks, costumes, or other projects.

A Wii nunchuk is ideal for manual control of such a device, thanks to its ergonomic design and ease of interface (the nunchuk communicates over I2C, which is easily within the reach of even most modest of microcontrollers.) Of course, since driving servos is also almost trivial nowadays, it doesn’t look like working this into an automated project would pose much of a challenge.

The eyeball looks great, but if you want to try for yourself, accessing the design files and code will set you back $10 which might look attractive if an eye like this is the missing link for a project.

On the other hand, enjoying the video (embedded below) and getting ideas from [Enza3D]’s design notes will only cost you a few minutes.

Continue reading “Enjoy This Animatronic Eyeball’s Smooth Moves”

Turn Timing Diagrams Into ASCII Art, For Friendlier Pasting

We all use text-based fields at one time or another, and being limited to ASCII only can end up being a limitation. That’s what led [Luke Wren] to create asciiwave, a fantastic tool that turns WaveDrom timing diagrams into ASCII art. Unlike images, ASCII timing diagrams are suitable for pasting into comment fields, change logs, or anywhere else that accepts text only. [Update: As the author kindly shared in the comments below, this tool’s original niche is pasting into HDL (e.g. Verilog) source code comments, where it has a special kind of usefulness.]

WaveDrom itself is a nifty JavaScript tool that we have covered before. It accepts timing diagrams expressed as JSON data, and renders nicely-readable digital timing diagrams as images directly inside one’s browser.

As cool and useful as that is, images can’t be pasted into text fields. That’s where asciiwave comes in. It reads the exact same format that WaveDrom uses, but generates an ASCII-art timing diagram instead. So if you’ve found WaveDrom useful, but wish you could generate ASCII versions, here’s your solution.

Is Your Device Actually USB 3.0, Or Is The Connector Just Blue?

Discount (or even grey market) electronics can be economical ways to get a job done, but one usually pays in other ways. [Majenko] ran into this when a need to capture some HDMI video output ended up with rather less than was expected.

Faced with two similar choices of discount HDMI capture device, [Majenko] opted for the fancier-looking USB 3.0 version over the cheaper USB 2.0 version, reasoning that the higher bandwidth available to a USB 3.0 version would avoiding the kind of compression necessary to shove high resolution HDMI video over a more limited USB 2.0 connection.

The device worked fine, but [Majenko] quickly noticed compression artifacts, and interrogating the “USB 3.0” device with lsusb -t revealed it was not running at the expected speeds. A peek at the connector itself revealed a sad truth: the device wasn’t USB 3.0 at all — it didn’t even have the right number of pins!

A normal USB 3.0 connector is blue inside, and has both sets of pins for backward compatibility (five in the rear, four in the front) like the one shown here.

A USB 3.0 connection requires five conductors, and the connectors are blue in color. Backward compatibility is typically provided by including four additional conductors, as shown in the image here. The connector on [Majenko]’s “USB 3.0” HDMI capture device clearly shows it is not USB 3.0, it’s just colored blue.

Most of us are willing to deal with the occasional glitch or dud in exchange for low prices, but when something isn’t (and never could be) what it is sold as, that’s something else. [Majenko] certainly knows that as well as anyone, having picked apart a defective power bank module to uncover a pretty serious flaw.

Who Needs Yeast When You Have Lab Equipment?

This particular story on researchers successfully making yeast-free pizza dough has been making the rounds. As usual with stories written from a scientific angle, it’s worth digging into the details for some interesting bits. We took a look at the actual research paper and there are a few curious details worth sharing. Turns out that this isn’t the first method for yeast-free baking that has been developed, but it is the first method to combine leavening and baking together for a result on par with traditional bread-making processes.

Some different results from varying the amount of pressure released during the baking process.

Basically, a dough consisting of water, flour, and salt go into a hot autoclave (the header image shows a piece of dough as seen through the viewing window.) The autoclave pressurizes, forcing gasses into the dough in a process similar to carbonating beverages. Pressure is then released in a controlled fashion while the dough bakes and solidifies, and careful tuning of this process is what controls how the bread turns out.

With the right heat and pressure curve, researchers created a pizza whose crust was not only pleasing and tasty, but with a quality comparable to traditional methods.

How this idea came about is interesting in itself. One of the researchers developed a new method for thermosetting polyurethane, and realized that bread and polyurethane have something in common: they both require a foaming (proofing in the case of bread) and curing (baking in the case of bread) process. Performing the two processes concurrently with the correct balance yields the best product: optimized thermal insulation in the case of polyurethane, and a tasty and texturally-pleasing result in the case of pizza dough. After that, it was just a matter of experimentation to find the right balance.

The pressures (up to 6 bar) and temperatures (145° Celsius) involved are even pretty mild, relatively speaking, which could bode well for home-based pizza experimenters.