Scanning On The Cheap

[Will] recently stumbled across the MakerBot Digitizer, a device that’s basically a webcam and a turntable that will turn a small object into a point cloud that can then be printed off on a MakerBotⓇ 3D printer. Or any other 3D printer, for that matter. The MakerBot Digitizer costs $800, and [Will] wondered if he could construct a cheaper 3D scanner with stuff sitting around his house. It turns out, he can get pretty close using only a computer, a webcam, and a Black and Decker line laser/level.

The build started off with a webcam mounted right next to the laser line level. Software consisted of Python using OpenCV, numpy, and matplotlib to grab images from the webcam. The software looks at each frame of video for the path of the laser shining against the object to be scanned. This line is then extracted into a 3D point cloud and reconstructed in MeshLab to produce a 3D object that might or might not be 3D printable.

This is only [Will]’s first attempt at creating a scanner. He’s not even using a turntable with this project – merely manually rotating the object one degree for 360 individual frames. It’s extremely tedious, and he’ll be working on incorporating a stepper motor in a future version.

This is only attempt number 1, but already [Will] has a passable scanned object created from a real-world thing.

A 3D(ollar) Scanner

scanner

Once you have a 3D printer, making copies of objects like a futuristic Xerox machine is the name of the game. There are, of course, 3D scanners available for hundreds of dollars, but [Joshua] wanted something a bit cheaper. He built his own 3D scanner for exactly $2.73 in parts, salvaging the rest from the parts bin at his local hackerspace.

[Josh]’s scanner is pretty much just a lazy suzan (that’s where he spent the money), with a stepper motor drive. A beam of laser light shines on whatever object is placed on the lazy suzan, and a USB webcam feeds the data to a computer. The build is heavily influenced from this Instructables build, but [Josh] has a few tricks up his sleeve: this is the only laser/camera 3D scanner that can solve a point cloud with the camera in any vertical position. This potentially means algorithmic calibration, and having the copied and printed object come out the same size as the original. You can check out that code on the git.

Future improvements to [Josh]’s 3D scanner include the ability to output point clouds and STLs, meaning anyone can go straight from scanning an object to slicing it for a 3D printer. That’s a lot of interesting software features for something that was basically pulled out of the trash.

WiFinder is a Python Driven Roommate Warning System

WiFinder

We’ve all been there. Your roommate is finally out of the house and you have some time alone. Wait a minute… your roommate never said when they would be back. It would be nice to be warned ahead of time. What should you do? [Mattia] racked his brain for a solution to this problem when he realized it was so simple. His roommates have been warning him all along. He just wasn’t listening.

Most Hackaday readers probably have a WiFi network in their homes. Most people nowadays have mobile phones that are configured to automatically connect to these networks when they are in range. This is usually smart because it can save you money by not using your expensive 4G data plan. [Mattia] realized that he can just watch the wireless network to see when his roommates’ phones suddenly appear. If their devices appear on the network, it’s likely that they have just arrived and are on their way to the front door.

Enter wifinder. Wifinder is a simple Python script that Mattia wrote to constantly scan the network and alert him to new devices. Once his roommates are gone, Mattia can start the script. It will then run NMap to get a list of all devices on the network. It periodically runs NMap after this, comparing the new host list to the old one. If any new devices show up, it alerts with an audible beep and a rather hilarious output string. This type of scanning is nothing new to those in the network security field, but the use case is rather novel.

Fingerprint Scanner Both Simplifies And Complicates Opening Garage Door

Fringer Print Scanner Garage Door Opener

Opening a garage door by hand is a lot of work and a hassle, hence the advent of the garage door opener. Nowadays, some people may even say just pushing the button of a remote control requires too much effort. [nodcah] is one of those people so he came up with a fingerprint scanner that controls a pre-installed garage door opener. All kidding aside, it is a cool project that lets you into your garaage, keeps unknown people out and doesn’t require you to remember to carry a key or remote.

In the center of this project is an ATmega328 that runs a custom Arduino code. This ATmega328 is responsible for controlling a 16 character, 2 line LCD screen as well as communicate with an off the shelf fingerprint scanner from Sparkfun. The fingerprint scanner has a built in CPU, can store up to 20 fingerprints and does all its own processing of fingerprint scans. It then communicates to the ATmega328 with simple commands over serial Tx and Rx lines.

The ATmega328, LCD and fingerprint scanner are all mounted outside the garage in a 3D printed enclosure. If the wires for the internal-garage open/close button were just run straight into this outdoor module, anyone could open it up, short the wires and get into the garage. To prevent this, if the ATmega328 gets the ‘OK’ from the fingerprint scanner, then it sends a signal to an ATtiny85 that is inside the garage. If the ATtiny85 receives the correct signal, it will then actuate the garage door opener by shorting the open/close button contacts. This prevents anyone from sneaking into the garage.

[nodcah] did a great service to the community by making all of the part list, schematics, instructions and Arduino code available so anyone can easily put this project together.

Continue reading “Fingerprint Scanner Both Simplifies And Complicates Opening Garage Door”

Building a Network Controllable RGB LED Lamp from an Old Scanner

EthernetLamp

Being able to use one of your old projects to make a new one better can be quite satisfying. [Steve] from Hackshed did just this: he integrated an Arduino based webserver into a new network controllable RGB lamp.

What makes this lamp unique is that the RGB LED bar comes from an old Epson scanner. Recycling leftover parts from old projects or derelict electronics is truly the hacker way. After determining the pinout and correct voltage to run the LEDs at, the fun began. With the LED bar working correctly, the next step was to integrate an Arduino based webserver. Using an SD card to host the website and an Ethernet Arduino shield, the LEDs become network controllable. Without missing a beat, [Steve] integrated a Javascript based color picker that supports multiple web browsers. This allows the interface to look quite professional. Be sure to watch the lamp in action after the break!

The overall result is an amazing color changing lamp that works perfectly. All that is left to do is create a case for it, or integrate it into an existing lamp. This is a great way to use an LED strip that would have otherwise gone to waste. If you can’t find a scanner with a color wand like this one, you can always start with an RGB strip.

Continue reading “Building a Network Controllable RGB LED Lamp from an Old Scanner”

Hacking a flatbed scanner to scan very large documents

lds

When you need to scan really large documents, camera setups can get pretty expensive. There are professionals that do it, but they are fairly pricey too. What if you need to do it on the cheap? A flatbed scanner would be perfect, but the lip on the edge of most flatbed scanners keeps the document from touching the platen properly. [Matthew] decided to hack his Canon LiDE 90 scanner to use it in a face-down format. By removing the top of the case, and making a couple extra tweaks, the scanner can now lay flat and simply be moved in a grid.

Once you have the images, you’ll need a way to stitch them together. [Matthew] points to this tutorial, but he awesomely decided to write a little Python script to make it all happen automatically. We imagine that script might be useful for more than just this project.

We’ve seen some other scanners recently, but this one is probably the easiest for the majority of hobbyists to achieve with parts on hand.

Scratch-built gigapixel scanner

scratch-built-gigapixel-scanner

The presence of a camera in this image may be a bit confusing since we’re calling it a scanner. What’s actually going on is that macro-images this piece of art are being captured automatically. The multiple shots will later be assembled into one fascinatingly high-resolution image. The CNC scanner rig is [Charlie Romer’s] summer project.

Unfortunately [Charlie] hasn’t yet collected all the information on the project into one place. After the break you’ll find more images, as well as a few demo videos. The best place to start is probably his proof-of-concept from this Spring. He shows a single-axis CNC mount for the camera. It takes an entire row of images. The assembled photo from that test is shown below. We believe the faint yellow dots in the macro part of the example are fingerprints purposefully left by the printer called printer stenography to help prevent forgery.

The larger rig uses movement on two axes. The idea is that the artwork will be perfectly positioned so that manual focus set at one point will work along all points in the capture routine. He’s using a lamp for a light source but we’re sure he will upgrade so something like a ring light as the project continues.

Continue reading “Scratch-built gigapixel scanner”