Low-Cost Eye Tracking with Webcams and Open-Source Software

“What are you looking at?” Said the wrong way, those can be fighting words. But in fields as diverse as psychological research and user experience testing, knowing what people are looking at in real-time can be invaluable. Eye-tracking software does this, but generally at a cost that keeps it out of the hands of the home gamer.

Or it used to. With hacked $20 webcams, this open source eye tracker will let you watch how someone is processing what they see. But [John Evans]’ Hackaday Prize entry is more than that. Most of the detail is in the video below, a good chunk of which [John] uses to extol the virtues of the camera he uses for his eye tracker, a Logitech C270. And rightly so — the cheap and easily sourced camera has remarkable macro capabilities right out of the box, a key feature for a camera that’s going to be trained on an eyeball a few millimeters away. Still, [John] provides STL files for mounts that snap to the torn-down camera PCB, in case other focal lengths are needed.

The meat of the project is his Jevons Camera Viewer, an app he wrote to control and view two cameras at once. Originally for a pick and place, the software can be used to coordinate the views of two goggle-mounted cameras, one looking out and one focused on the user’s eye. Reflections from the camera LED are picked up and used to judge the angle of the eye, with an overlay applied to the other camera’s view to show where the user is looking. It seems quite accurate, and plenty fast to boot.

We think this is a great project, like so many others in the first round of the 2018 Hackaday Prize. Can you think of an awesome project based on eye tracking? Here’s your chance to get going on the cheap.

Continue reading “Low-Cost Eye Tracking with Webcams and Open-Source Software”

Portable Photo Booth Named Buzz

We’re all used to posing for a picture — or a selfie — but there’s something about photo booths that make getting your photo taken an exciting and urgent affair. To make this experience a bit easier to tote about, Redditor [pedro_g_s] has laboriously built, from the ground up, a mobile photo booth named Buzz.

He needed a touchscreen, a Raspberry Pi, almost definitely a webcam, and a 3D printer to make a case — although any medium you choose will do — to build this ‘booth.’ That said, he’s built the app in a way that a touchscreen isn’t necessary, but carting around a mouse to connect to and operate your portable photo booth seems a bit beside the point. On the back end, he used Electron to code the photo booth app, React helped him build a touchscreen UI, and Yarn kept the necessary dependencies in order.

Operation is simple, and every time a photo is taken it is sent to and collated within a previously set-up email service. To set it up, [pedro_g_s] is here to guide you through the process.

Continue reading “Portable Photo Booth Named Buzz”

A Wireless Webcam Without A Cumbersome Cloud Service

After a friend bought a nannycam that required the use of a cloud service to make the device useful,  [Martin Caarels] thought to himself — as he puts it — ”I can probably do this with a Raspberry Pi!

Altogether, [Caarels] gathered together a 4000mAh battery, a Raspberry Pi 3 with a micro SD card for storage, a Logitech c270 webcam, and the critical component to bind this project together: an elastic band. Once he had downloaded and set up Raspbian Stretch Lite on the SD card, he popped it into the Pi and connected it to the network via a cable. From there, he had to ssh into the Pi to get its IP so he could have it hop onto the WiFi.

Now that he effectively had a wireless webcam, it was time to turn it into a proper security camera.

Continue reading “A Wireless Webcam Without A Cumbersome Cloud Service”

Giving a 4k Webcam Special Eyes

It’s a problem as old as photography: your camera is only as good as your lens. As cameras shrink, so do lenses, and so do the options for upgrading to a better lens. And forget about switching to a different focal length or aperture — it’s often just not an option. Unless you make it an option by adding a CS lens mount to a high-end webcam.

We’ll stipulate that at 4k resolution and packed with all sorts of goodies, the Logitech Brio Pro is a heck of a nice camera. And the lens isn’t bad either, as you’d hope for a camera with almost 9 megapixels at its disposal. But with an optical field of view optimized for video conferencing, it’s hard to use this premium camera for much else. [Saulius] fixed that by taking the camera apart and adding a new case with a built-in C- and CS-mount, resulting in literally thousands of lens choices. [Saulius]’ post has valuable teardown information, which includes exposing the CCD sensor completely. The new case is sold as a kit, but it looks like a 3D-printed case would be pretty easy to whip up.

[Salius] sure seems to love those optical hacks, whether they be a budget microscope camera, high-resolution LIDAR, or capturing license plates at great distances.

Controlling a Robot Over the Internet Grows Up

Since the beginning of the Internet people have been controlling robots over it, peering at grainy gifs of faraway rec rooms as the robot trundles around. RunMyRobot.com has taken that idea and brought it fully into the teens. These robots use wifi or mobile connections, are 3D printed, and run Python.

The site aims to provide everything to anyone who wants to participate. If you’re just an anonymous visitor, you can still play with the robots, but anyone can also play with the same one, and sometimes a whole bunch of visitors create a cacophony of commands that makes it not fun—but you can always move to a different robot. Logged-in members of the site have the option to take over a robot and not allow anyone else to use it.

If you want to build a robot and add it to the site, the creators show how to do that as well, with a Github code repository and 3D-printable designs available for download, as well as YouTube instructions on how to build either the printed robot or one made with off-the shelf parts. They’re also looking for patrons to help with development, with the first item on their list being a mobile app.

Thanks to [Sim] for the link.

 

Old Thermometer Gets New Eyes

As much as we’d like to have the right tools for the right job all of the time, sometimes our parts drawers have other things in mind. After all, what’s better than buying a new tool than building one yourself from things you had lying around? That’s at least what [Saulius] must have been thinking when he needed a thermometer with a digital output, but only had a dumb, but feature-rich, thermometer on hand.

Luckily, [Saulius] had a webcam lying around as well as an old thermometer, and since the thermometer had a LCD display it was relatively straightforward to get the camera to recognize the digits in the thermometer’s display. This isn’t any old thermometer, either. It’s a four-channel thermometer with good resolution and a number of other useful features (with an obvious lack of communications abilities), so it’s not something that he could just overlook.

Once the camera was mounted to an arm and pointed at the thermometer’s screen, an algorithm running on a computer detects polygons and reports its information into a CSV file. This process is made simpler by the fact that LCD screens like this are very predictable. From there, the data is imported into LibreOffice and various charts and graphs can be made.

Although perhaps not the most elegant of hacks, sometimes you have to work with the supplies that are on hand at the time. Sometimes the tools you need are too expensive, politically dangerous, or too impractical to obtain. To that end [Saulius]’s hack is a great example of what hacks are possible with the right mindset.

Low-cost Video Streaming with a Webcam and Raspberry Pi

Some people will tell you that YouTube has become a vast wasteland of entertainment like the boob tube before it. Live streaming doesn’t help the situation much, and this entry level webcam live-stream server isn’t poised to advance the art.

We jest, but only a little. [Mike Haldas] runs a video surveillance company that sells all manner of web-enabled cameras and wondered what it would take to get a low-end camera set up for live streaming. The first step was converting the Zavio webcam stream from RTSP (real-time streaming protocol) to the standard that YouTube uses, RTMP (real-time messaging protocol). Luckily, FFmpeg handles that conversion, so he compiled it for his MacBook Pro and set up a proof of concept. It worked, but he needed a compact solution that would free up his laptop. Raspberry Pi to the rescue – after loading a bunch of libraries and a four-hour build and install of FFmpeg, the webcam was streaming 1080p video of [Mike]’s sales office. He was worried that the Pi wouldn’t have the power needed for the job, and that it would be unstable. But as of this writing, the stream below has been active for six days, and it’s riveting stuff.

Raspberry Pis are a staple in the audio streaming world, like this pro-grade FM broadcast streaming rack or this minuscule internet radio streamer. And of course there’s this quick and dirty, warm and fuzzy streaming baby monitor.

Continue reading “Low-cost Video Streaming with a Webcam and Raspberry Pi”