Creating a 3D Scanner – I want one!

I wanted to 3D print a part for a remote control car, I had recovered it from a skip from the back of my house and someone had super glued the steering to a metal shaft connected to one of the wheels and that shaft was meant to move freely. It had broken.

Sure there are simpler solutions than 3D printing a part, but being a member of Leeds Hackspace with a MendelMax readily available I figured this was a good time to learn. So my next problem was getting the model from meatspace into cyberspace.

So there’s two choices, I either 3D model the piece of plastic by hand, using OpenSCAD, Blender, 3DStudio Max, etc. Though there are two problems to that. One is that some of the software costs money I don’t have, the other is I don’t know how to use them. Especially Blender, ugh. Or I 3D scan the plastic to mitigate the majority of the modelling and just alter it afterwards, which is possibly harder but the thought of tinkering with electronics and distracting myself from learning a 3D package was too tempting.

3D scanners are expensive. You can get fancy hand-held ones for $900, I’ll let you do the Google search. So I wanted to make my own, why not?

I have no idea what I'm doing

I have no idea what I’m doing

I have no idea what I’m doing, after talking with a number of people from the Hackspace the best idea was to go with a laser and webcam combination. At this stage I was interested in what was available for free on the internet to use as a basis for making a 3D scanner. So I searched off for software, in the Hackspace I have sufficient hardware to do the job, a member bought a bag of 50 lasers with the intention of attaching them to everything (why not?) and constructed some laser-sights for nerf guns (the maverick in particular).

The webcam we had left over from the Hackspace versus Pumping Station 1 competition with the Beaglebone Black in 2013, a Playstation Eye from the PS3. So I felt that I was off to a good start.

After searching online for a while, I happened upon MakerScanner, free open source software that’s available on github, low and behold it also uses a PSEye and laser, even better is that it has the parts/frame available as a thingiverse download.

The software, written in C++ is painless to download and compile if you’re running linux. I run Debian Wheezy on my personal laptop, so visiting the github , downloading a zip (there should be a button for it) rather than cloning the git repository made it even simpler. Extract, follow the instructions on the page, run.

I had a problem, I had a laser pointer, but I needed the laser in a form that was useful; a line. Similar to what you get from a barcode scanner at the supermarket. White-tac and a bar of metal which was recovered from a printer came to the rescue!

Laser mounted white-tac!

Laser mounted white-tac!

Beam test

Beam test

When the laser was shone at the metal bar at about 45 degrees, the reflection was a nice, sharp, clear line. After trying it by hand, the white-tac was piled up to support it. What you can also see in the photo is that the white-tac was affixed on top of a bolt, that was sat within some metal rings (actually bearings if I recall correctly) just so that we could rotate it in situ. It wasn’t graceful, but it worked!





Suffice to say, I did get readings. MakerScanner creates an RGB coloured point cloud from the scan, but I also had a lot of noise in the scan. I attribute this mainly to the scatter of the laser from the metal bar, which if I was to use in future then I would put a filter on it to ensure a clean line. Though I would ideally get hold of a proper lens that should produce the same output. The other reason for the noise was partly reflections from the table surface I was scanning on, the paper helped with this.

However there was still a lot of mess on the point cloud, by mess I don’t mean scattering but it appeared that some points were either being misplaced or calculated incorrectly. I couldn’t tell if this was in software or if it was just dodgy hardware.

I think that I need to narrow down my variables and try to acquire some decent pieces, though I don’t have a lot of money to do so! I think being self contained would be useful, but having seen some hand-held 3D scanners then I’d rather go in that direction.

And yes I did just use an Arduino to power the laser, lazily.

Any feedback/questions appreciated.

Posted in Blog | 4 Comments

Fixing an LED Cube with Hot Glue

Last weekend we went to the UK Maker Faire and saw many awesome things, including some very nice LED cubes. Inspired by this I thought I’d have a go at building a small one.

Constructing the cube itself was relatively straightforward. The structure is formed almost entirely from the legs of the LEDs. The anode legs are bent 90° to form a strip of 4 LEDs. The cathode drops down to meet the anode rail of the strip below, which is rotated 90° to give an alternating grid of anode/cathode wires. The whole assembly is mounted on a piece of stripboard (forming the cathode connections for the bottom row of LEDs), along with vertcal wires to drop down the anode rails.

This results in a charliplexed matrix, requiring 12 drive wires. Effectively it’s an 8×4 grid with two LEDs (one of each polarity) at each intersection. This is connected directly to an Arduino Pro Micro (a small form-factor variant of an Arduino Leonardo).

I’ve already written a charlieplex driver for a different project, so a bit of modification and a few re-soldered joints later I had a working LED cube. Not bad for an afternoon’s work!

However initial results were poor. I’d used some cheap blue LEDs I happened to have left over. These are nice and bright, but with water clear cases and fairly narrow focus. Unless you were looking almost directly down it was barely visible. In fact each LED illuminated the LED immediately above more than it lit itself. In the video this is particularly noticable on the vertical sweep (and the reason I didn’t bother make it sweep back down!).

The solution was to put a small blob of hot glue on top of each LED. This dries slightly opaque, forming a near perfect diffuser!

Posted in Projects | Leave a comment

3d Printing: Printer part designed and printed!

This weekend at the hackspace I realised that my personal 3D printer needed a part that we made for the space printer using the laser cutter.

Unfortunately the laser cutter is no longer with us and it was a little bit of a bodge.  Enter the now working 3D printer!

I actually designed and printed the part on our existing printer from scratch, and here is the part being printed and the final version.


Posted in Uncategorized | Leave a comment

Alternative Open Day

Saturday 12th April 2014 – 11am till 4pm

Myself and a few other members are opening the Hackspace on saturday for an open-day; we’ve had people ask if someone would open the space on a not-tuesday and this’s the result!

Bring yourself down, have a chat, bring a project, discuss a project, or don’t have a project and just check out the people and the space and chillax for a few!

See you there?

Posted in Events, LHS Events | 3 Comments

Partnership with Farnell (almost)

Hello everyone,

The directors have been contacted on at least two occasions about developing a small scale partnership with Forward3D; these people are working with Premier Farnell/element14 to help create more content for the site(s) and generally get feedback on stuff that we sell at the company (yes, I work for element14, too, coincidentally).

So I’ve been talking with Forward3D (because I hadn’t heard of them before, but they are genuine as I checked with the Farnell Marketing team) and they need to know if there are any specific components that would help with any workshops, projects or otherwise that people are working on?

This isn’t something to be passed up or ignored and I think this would be a lost opportunity if it isn’t taken up. So even if you are just spending an hour a week to get something done, or if you need some parts to get the rest of your work complete, it’d be a good idea to mention/list/feed back to me what you need/want.

Let me know, here, in person or e-mail or on the mailing list (!topic/leeds-hack-space/GJ_7INY_5kw) as soon as you can.

Forward3D are also contacting other Hackspaces in the UK to try to develop something more national in the future.

Posted in Hackspace Land, LHS Publicity, UK Hackspaces | Leave a comment

Surface Mount?

Today we learned a lesson in quality control. And how little some suppliers have.
We recently bought a set of (very) cheap “stepstick” 3D printer stepper motor drivers. While attaching heatsinks we noticed one board wasn’t mounting correctly. Further invstigation revealed that one of the components wasn’t quite soldered in the correct position:


Easily fixed with a quick dab of a soldering iron.

Posted in Blog, Uncategorized | Leave a comment

Quarterly Meeting!

At the last AGM we said that we would try to have a meeting about every three months. A little overdue but the next meeting will be on the 4th starting at 8pm.

This will cause a little disruption to the open evening of course but everybody is still welcome to come down, even if it is your first time! We hope to keep the meeting short.

Everyone is welcome to join in the meeting, you don’t have to be a full member.

If there is anything you wish to put on the agenda please state it in a comment to this post or on the mailing list.

Posted in Events, LHS Events, LHS Update | Tagged , | Leave a comment

The Evil Snowman

This year I decided to have a go at building my own electronic christmas card. As I have no real artistic skill, I did cheat a little, and started with a regular off the shelf card, featuring a snowman on a raised mount. My plan was to make the snowman light up.

Sticking an LED on the front of a card is hardly a new idea. With some of the conductive inks you can even do it without and actual wires or soldering! However there is one problem: Power consumption. While LEDs don’t use a huge amount of power power (a few mA), I want this device to remain operational for several days off a single coin cell. These only have enough juice to power an LED for a day or two at most.

I had a spare attiny25 left over from a previous project, so I though I’d see if I could use that to add smarts. If I only turn the LED on for a few seconds every minute, the battery should be good for at least a week. Once I have a microcontroller in there, I can also add more complicated behavior: fading/glowing LEDs and a capacative touch sensor to make it perform on demand.

Initial tests were not promising. A gowing LED (using the attiny PWM output) triggered by a capacative touch sensor (10Mohm resistor and a sheet of tinfoil) consumed over 5mA, not including the LED itself (annother 2mA). I know the atmega chips are capable of extremely low power consumption, so clearly my software needded some improvement.

First the core was running at 8MHz. I really don’t need all that processing power, so turn that right down. In fact the 128KHz watchdog oscillator is good enough for my needs. Using that also means I don’t need to power up the high frequency OSC at all. This gets me down to about 300uA (0.3mA). Not a bad start, but I’m pretty sure I can do better.

I’m only using a single PWM channel (Timer0). Turning off unused peripherals (Timer1, ADC, USI) saves annother 50uA.

As I’m using the hardware PWM output, my code isn’t actually doing anything most of the time. The Timer hardware does all the heavy lifting for generating the PWM signal, and adjusting the brightness is done in response to the timer overflow interrupt. The rest of the time It’s just sitting around waiting for something to happen.

Putting the core into idle mode brings power consumption down to about 65uA (plus the LED). This is as good as we can do when the LED is on.

But the LED is off ~90% of the time. All I need to do is check the touch sensor periodically. I can put the chip into deep sleep power down mode, using the watchdog to wake up a couple of times a second to check the touch sensor. Doing this gets average power consumption of 5uA while the LED is off. Or put annother way, low enough to last well over a year (assuming we never actually turn the LED on).

All that’s left now is to solder everything together, bore out the eye sockets to fit 3mm LEDs, and and mount it inside the card. The end result is a little creepy, but I’m pretty pleased overall.

Posted in Projects | Leave a comment

Switching over to RFID locks at the hackspace.

We are currently changing over our locking system to access the space from mortice and yale locks to RFID cards. The upstairs door has already successfully been installed and we hope to get the downstairs one in place in the next week or two. Can all members who still do not have an RFID card please make themselves known in IRC/ the mailing list/ in person on a Tuesday night. Pbrook has sorted out all the electronics behind it and I am currently installing it all, but I could do with some help installing the lock itself. If anyone is willing and able to lend a hand please again make yourself known on IRC / the mailing list/ on Tuesday night. Thanks.

Posted in Uncategorized | Leave a comment

AGM 2013 (past tense)

Full table for the 2013 AGMA big thanks to everyone who attended the AGM last night; new, old and non members alike. Big thanks to James for taking minutes, Stanto and Andy for going out for pizza and Paul for making his last non executive decision that the space would pay for it.

Minutes are currently being written up and will be published shortly as will the pretty graphs that didn’t work on the night.

Daniel and Mick remain Directors and are joined by Joe and Paul who both volunteered, were officially nominated and then were voted in unanimously (baring only minor objections from themselves). We greatly welcome them onto the board (=


Posted in LHS Events, LHS Publicity, LHS Update | Leave a comment