Track Bird Visitors With A Raspberry Pi And A USB Mic

Avian Visitors is a lovely project by [Teddy Warner] that uses a Raspberry Pi and microphone to keep track of which birds have been visiting your home, and creates a colorful illustration of recent visitors on top of it all.

It reports on a web interface of its own making, but what really takes things to a new level is an optional, stylish E-Ink panel that shows the last 24 hours’ worth of visitors at a glance in a collage.

The key to identification is BirdNET (GitHub here), a deep learning classifier from Cornell that can reliably identify and classify more than 11,000 species worldwide based on sound alone.

Based on that information, the system pulls bird images from a reference set for the region and creates a collage representing the breadth and frequency of visitors in a single image. The larger the image of a bird, the more frequently it was heard.

That’s a cool project, but [Teddy] took things one step further by setting up a color E-Ink display to show a running summary of all the avian visitors the system identifies. [Teddy] has a knack for leveraging projects into wall-mounted art, as we saw with his generative art wall plotter. Continue reading “Track Bird Visitors With A Raspberry Pi And A USB Mic”

Robotic Screw And Bolt Sorter Seeks A New Challenge

As someone who disassembles and repairs hardware, [Aad] eventually ended up with a huge collection of mixed bolts and screws. This led to creating the automatic bolt and screw sorting system you see here, although in a way it is just a proof of concept. Bolts and screws happen to be a useful application for now, but the system is capable of sorting just about any small objects.

A bit of machine vision detects the size and shape of each object. Weight can also be measured.

Mixed pieces go onto a large conveyor belt, shown on the right. This feeds a few screws at a time down a chute, where they roll onto an illuminated platform.

Above the lit platform is a camera, and machine vision is used to detect the size and shape and orientation of each screw. A robotic gripper on a gantry picks the screws up one by one — separating them first if they happened to clump together — and places each in a drop-off cart. The cart drops the object into a receptacle with its brethren, making sure similar ones are grouped together. Watch it in action in the video, embedded below the page break.

It’s a great build that shows fancy components aren’t necessary for good results. Servos and steppers are controlled with an ESP32-WROOM board, and a piezo sensor detects screws falling off the conveyor. Some of you may have noticed a repurposed Ultimaker 3D printer serving as the bulk of the system, its hot end having been replaced with a gripper that can raise and lower. The overhead camera is an ESP32-CAM adapted to accept M12 lenses so it can focus on the platform.

There’s one more feature worth mentioning — the system also has the ability to measure the weight of a picked object by placing it onto a moveable inspection platform, which can optionally put it under a USB microscope for a closer look. Everything is controlled by a nearby PC, so there’s a lot of flexibility built into the system.

We suppose that once all the screws and bolts in a shop are sorted, it only makes sense to sort all the nuts. Are there other objects besides screws and bolts that would be useful to sort with a system like this? If you have any ideas, don’t keep them to yourself! [Aad] would love to hear your comments and ideas, so share them below.

Continue reading “Robotic Screw And Bolt Sorter Seeks A New Challenge”

Wrist Welcomes Wii Nunchuk As Gloriously Ergonomic Macropad

[John Dingley] spends a lot of time editing videos, and as many of us know, when it comes to repetitive tasks the more ergonomic the better.

Keyboard shortcuts exist for common video editing functions, but [John] found that the vast majority of his work needed only three or four of them. Feeling he could do better than a three-key macropad, he turned to what’s perhaps one of the most ergonomic devices ever designed — the Wii Nunchuk.

A Wii Nunchuk is an I2C device, so there needs to be some intermediary device involved if you want to plug it into a computer. [John] solves that with the ANAVI Handle, an open source adapter to make a Nunchuk act like a USB Human Interface Device (HID). That addresses the connectivity problem, but the default firmware on the adapter only treats the Nunchuk as a mouse or joystick, so a few more changes are required before it can be pressed into service as an ultra-comfortable macropad.

The ANAVI Handle runs CircuitPython code on an RP2040, and modifying its behavior is as simple as plugging it in via USB and editing the code right on the device. One has to define some keyboard events, configure the device to act as a keyboard, and send the right events when the buttons or joystick get pushed. [John] provides the code, and walks through the changes on video so even those without any coding experience can get it done.

The Nunchuk design is still being sold and used today, and it’s shown up in all kinds of places. We’ve seen a Bluetooth-enabled one and even seen a Raspberry Pi Zero shoehorned into one, complete with HDMI output.

Continue reading “Wrist Welcomes Wii Nunchuk As Gloriously Ergonomic Macropad”

Get A Remote Terminal With One Binary, One URL, And Zero Config

Launch a single static binary executable, send someone a QR code or URL (or failing that, text a numerical code or shout it across a room), and they’ll get an encrypted terminal in their browser. No VPN, no port forwarding, no firewall modifications, and no account setup required. It’s BitBang by [Rich LeGrand], and there is a lot to go through in this one.

The best part? It’s not actually limited to just firing off a terminal. It’s a whole open framework for establishing an encrypted peer-to-peer connection between two systems over WebRTC without needing either a trusted central authority, or any special network configuration.

The signaling server brokers the handshake, then has no further involvement. By design, it couldn’t see application data even if it wanted to. Click to enlarge.

Opening a remote terminal, transferring files, or accessing web apps on a remote machine’s network is done with bitbang-cli, an implementation of BitBang focused on providing simple, zero-config remote access.

Before we go on, we want to mention that BitBang does require a lightweight, trustless signaling server only to broker the initial connection, but more on that in a moment.

On the machine to be shared, one first downloads the binary. Easiest way to do that is to go to bitba.ng and download manually, or copy and paste the one-line installer to auto-detect one’s system, download the correct release, and verify the checksum.

After the binary is downloaded, simply run it in a terminal and receive a QR code to scan, a URL to copy & paste, or a numerical code if those are inconvenient. On the remote side, one accesses the signaling server and the connection is made — one gets a terminal on the target machine open in the browser tab, with added options for file sharing and accessing web applications on the target network.

The signaling server isn’t involved in authentication or encryption, and couldn’t see private data between the two ends even if it wanted to. Prefer not to use someone else’s regardless? Run your own local instance with bitbang-server.

Originally developed as an easy way to securely make telepresence robots reachable over the Internet with nothing more than a QR code, today it’s a whole framework.

It includes not just the remote-access tool mentioned above, but also a BitBang Octoprint plugin for cloud-free remote access to 3D printers, and bitbang-python is a library for turning local Python web applications into a URL that can be opened from anywhere.

We’re sure some of you are getting more than a few ideas from this. If it lets you bring a project over the finish line, let us know on our tips line.

Browser-based 3D Editor Covers The Basics While Staying Local

Got an idea and want to make a simple 3D model, but don’t want to install a full-fledged CAD modeling suite and queue up a few hours of tutorial videos? Check out SketchForge, a 3D modeling program that runs locally in one’s browser without any need for an account, or external services.

SketchForge takes a more WYSIWYG approach to 3D modeling by making it easy to put an object together with primitive shapes, and making it extra easy to specify dimensions and align parts with one another. There’s also a sketch feature that makes it easier to create more complex shapes by making a 2D drawing, then extruding or revolving it into a solid. We like that it has STEP format export as an option, making it easy to import your creation into another CAD program of your choice later. Most 3D printer slicers natively support the STEP format nowadays, too.

It’s a bit reminiscent of Tinkercad in concept, but entirely local. It’s still new, but there’s a demo online that gives a good idea of its capabilities if you’d like to give it a spin.

We’re reminded of CaDoodle, another project that takes the “Tinkercad, but local” approach but as a standalone executable, instead of browser-based.

RC Telemetry Board Lets Virtual Crewmember Help You Race Better

Logging and telemetry in remote controlled racing is a great thing, and not only does [jwachlin]’s Open RC Spotter do a fantastic job of that, it has quite a few clever tricks up its sleeve that make it extra special.

Open RC Spotter is an ESP32-based hardware platform for high performance RC car racing that reads from various sensors (including IMU, GPS, temperature, battery, and IR receiver for IR lap beacons) to create a filtered stream of readings that include position, velocity, lap time, battery voltage, and more.

Got RC car telemetry? Feed it to a virtual race engineer for real-time feedback.

This data gets logged to an SD card, but can also be broadcast wirelessly via ESP-NOW to a receiver that can in turn send it over serial USB, or do whatever else one wishes. There’s also a neat feature that fires up a temporary WiFi access point on demand so log files can be downloaded with a web browser, no need to hook up a cable.

So far, so cool. But there’s still another nifty feature. [Update: originally the project had a link to the sim racing companion application Crew Chief. The developer clarified that at this writing, Open RC Spotter only supports its own Open RC Crew Chief application and not the similarly-named Windows sim racing assistant.] Open RC Spotter supports the Crew Chief telemetry protocol. Crew Chief is a piece of free Windows software that serves as a companion application for sim racing. It acts as a virtual race crew member, providing spoken information based on live telemetry read from supported racing sims.

Since Open RC Spotter supports the same telemetry format, one can use the virtual race engineer with RC car racing by simply feeding Open RC Spotter‘s serial data to the Crew Chief application. The RC telemetry data isn’t as rich as what comes from the racing sim APIs, but it’s more than enough to be useful.

People come up with all kinds of neat ideas when it comes to RC racing, and most of them depend on having access to good data. For example, a load cell in the steering mechanism can provides the data for force-feedback steering. We’ve even seen LiDAR and a depth camera used to automatically compute optimal racing lines.

Using Video Glasses As A Camera Viewfinder Is Harder Than It Looks

[John Dingley] has a Sony ZV-E10 camera that is excellent, but the design lacks a built-in electronic viewfinder. This means it relies entirely on its rear-mounted touchscreen for framing shots. This is troublesome because [John] often films in bright sunlight, and sometimes from a perspective other than normal eye level. His solution? Use a pair of XREAL video glasses as a handsfree viewfinder.

Cable management can be a real challenge, even if a project’s technical elements are solved.

The XREAL glasses look a bit unusual, but they can be worn and used like regular sunglasses. They accept external video and importantly, allow the wearer to see the video feed while still having awareness of their surroundings. Seems like a perfect match for the camera, but as [John] discovered, there are quite a few implementation hurdles involved.

For starters, the camera and glasses do not speak the same format. The camera outputs HDMI via a distressingly fragile micro-HDMI connector, but the glasses accept video over USB-C (aka DisplayPort altmode). Connectors and cables and a converter will be involved, as well as a power bank because the glasses and converter will require a power supply. As any hacker knows, wires and connectors can eat up space very quickly.

To solve all this, [John] carefully selected off-the-shelf components chosen to minimize bulk and designed a custom camera cage to hold things cleanly without obstructing the camera’s microphone port. The end result is very tidy package that presents a single USB-C connection point between the glasses and the camera, requires no hardware modifications or soldering, and even takes the strain off the fragile connector on the ZV-E10.

The finishing touch is putting a neck strap on the XREAL glasses, allowing them to be easily donned and doffed as needed while filming. Check it out the video, embedded just below the page break.

When it comes to filming vehicles it often makes sense to film from a low perspective. The camera has a handle for this purpose, but the process is much better now that the glasses can act as a viewfinder. [John] has a soft spot for vehicles, including self-balancing unicycles or monotracks of his own design.

Continue reading “Using Video Glasses As A Camera Viewfinder Is Harder Than It Looks”