Sparklecon 2.0 - Site is live and Call for Papers

The Sparklecon 2.0 site is now up and the call-for-papers and speakers is open.


Where: 23b Shop, 418 E. Commonwealth #1, Fullerton CA 92832
When: January 23-25th
What: A 3-day security conference with a local flavor. There will be embedded electronics, physical security and the usual wireless, mobile and network stuff.

How to sign up:
If you are interested in speaking or volunteering, please e-mail us at: 23bshop @ 23b.org.

Twitter: #Sparklecon23b

Hope to see y'all there!



Sparklecon 2.0 - January 23-25th

Today we are announcing a call for talks and papers for Sparklecon 2.0. This will be the second iteration of the successful "hit-and-run" format hacker conference we pulled off last year.

It will be running on a Friday-Monday schedule. There will be food and entertainment Friday and Saturday nights, contests and a full schedule of 10-minute lightning talks, alternating with 30-60 minute hands-on sessions and presentations.

We're also looking for entertainment on Saturday night. We will have a stage available and can work with you on getting set up.

Please e-mail 23bshop@23b.org  if you are interested in presenting. There will be open slots reserved for walk-ups, but it would be great to get you on the schedule ASAP.

Also of note, Milton Security has generously offered a sponsorship to help offset the cost of this evenbt. Thanks Milton!

More to come...



3D printed lock picks

Dano was messing around the shop the other day, and came up with a really interesting concept.  He took the end of a zip tie (the part that isn't serrated), and trimmed the profile to be the shape of a lock pick.

Sure enough, it worked, but not terribly well.  I could only get a few uses out of it before the zip tie became too floppy.  The shape is easy to make, yet difficult to reproduce exactly. 

I encounter the same challenge when making metal picks.  They're easy enough to form quickly by hand, but they're impossible to duplicate precisely. When the performance of the pick is so dependent on the exact shape of the pick, consistency is king.  Also, the TSA sometimes has difficulty with metal picks in my luggage, perhaps plastic picks can solve that. 

After a few days of simmering on those thoughts, something dawned on me.  "Hey, those fancy 3d printers, I bet those could produce some awesome lock picks!"

Creating the shape was no problem, due to a quick Google search and a really neat, obscure Autotrace tool in [redacted modeling software]. 

Although Autotrace wasn't flawless, the resulting sketch was easy enough to modify to get any sharp, unusual edges out of the model.  After a quick extrusion and some geometry modification, here's the resulting 3D model

Dimensioning the part is critical, and ironically, my fancy Dimension 3D printer simply wasn't up to the task.  Southord's picks are .023" thick, which is smack dab in between the layer thickness available for the Dimension printer (with layer thicknesses of .010 or .013 and dimensional accuracy of +/- .002", typically).  Two little filaments of extruded plastic didn't seem like it would be enough for producing a pick of any significant structure, which is why I chose to make these parts on the Objet 30 Pro, with a .001" layer thickness and 600 DPI resolution (!)

My package arrived in the mail Saturday afternoon, and with a singleminded focus, I dove straight into the play locks.  Within a few moments, the good ol' Defiant lock gave up the ghost, and my compounded excitement manifested in screaming "Got it!" at the top of my lungs.

Of course, these picks were far from perfect.  Scaling was a bit of a problem, as only about half of the picks were appropriately sized to fit the locks on hand.  One neat thing about designing these digitally, is that making scaled copies is a piece of cake.  I also successfully broke two picks within 15 minutes, far from ideal. 

This exercise may seem reminiscent of trying to kill a mosquito with a cannon.  Why would I use such an expensive technology to produce a simple plastic shape?  Consider this, once I have the precise digital shape tuned, and I'm able to produce perfect copies time after time, then perfect lock picks are nearly trivial (after a little research, of course)

The next step is to try a few iterations of these picks, perhaps including some new designs, to get a kit of a dozen or so nice picks of different sizes and shapes.  Once we have that, then making an injection mold shouldn't be much more difficult.  Then we should be able to produce many perfect copies at a trivial cost.

Stay tuned for part 2!


Singing CNC mill is fully operational

now with limit switches!  after years of passive work and weeks of rather intense hair-pulling, the machine is now bootstrapped into a functional state. 


also, gauging interest for a CNC milling class.  CNC class would NOT be for tourists.  plan on spending two days on the Tree mill for foundational work, before.  if you're interested, hit me up. 


23b and MAG Labs at the Inland Empire Mini Maker Faire


Nice little video interview with Machinist, and Trent from MagLabs, along with a writeup on 23b Shop and MagLabs at the IE Mini Maker Faire.
(Thanks to Matt for the coverage!)

Probably want to turn the audio down just a hair, it sounds like they were recording next to the Magical Steam-Powered Noisemaker and Tin Stamper Machine Hobbyists' tent, which I regret missing since it sounds like their Enraged Octopus 1000 tin sheet mangling machine was working overtime.


Boo-boo in the machine shop

Finding these surprises around the shop makes me sad.  This was one of my most useful tools.

If you EVER need help with the machine shop, please don't hesitate to ask me.  I am more than happy to help.  It's easier for me to go out of my way and show you proper technique than to replace broken tools like this. 

That's also why I keep the nice insert tooling in a special place. 

In fact, I'll make you guys a deal.  If you ever want to know anything about machine shop, I will be happy to teach you, personally, one on one, if you're willing to make a deal with me: teach me something in return. 

I don't care if you only have underwater basket weaving to show me, i'd be happy to learn new things if I can teach you new things in exchange. 

Thanks, now you can return to your regularly scheduled programming. 


STARE NOT INTO THE BARBECUE lest it stare back into you

Thanks Chosen1 for the excellent and very shiny 
new propane grill you have given to 23b Shop.

The shop is well pleased with it, for behold! 
it shines like a mighty obsidian wonder of grilling majesty.

Plus, it has a burner on the side for pan-like objects!

So, everyone please feel free to bring grillables to the potluck,
to welcome the barbecue grill to its new place at the shop.
 (Update: Grilled items succeeded well at feeding potluck visitors!)

Comments from shop list members follow:


Does it need souls to feed its searing obsidian stare?

(Yes, occasional offerings of propane are welcome. 
We are using a big 5 gallon tank; it costs about $20 to fill it up. 
I think it can use little cans with an adapter as well, which we do not have.)


Oooo... Nice.  Consider SYN Shop jealous of the grilling awesomeness.  We may
have to do something about that....like get our own grill.

(Highly recommended. This will obviously increase the goodness of all foodish events, 
and will even create events where there were none before!)

I wept because you saw no BBQ message,
until I met a man who had not yet subscribed
to our 23b Shop mailing list.
http://tinyurl.com/23bmail/ shall set you free! 

All you other people who also aren't on the mailing list, 
and are reading this on the web, what are you waiting for? 
Unsubscribe from a spam email or two, and get on our list. 
You'll be glad you did it back in August, when the BBQ was the new hot thing.


Helping Hackers Hack Better

Work put me on a detour for first thing on Monday up in Sacramento.  That means I got to spend a random weekend visiting Noisebridge in San Francisco. 

The last time I was here (which was also the first time), I felt a familiar sense of awe, not unlike the first time I set foot at 23b.  The vibe is indescribably unique, I like the way they hack, mostly.  The one thing that gets to me more than Hacker Stackers, or an overwhelming need for consensus, was that their machine shop was looking sad for lack of love and attention.  I decided I should change that. Since this is a "Do-ocracy", I guess the job is left up to me.

A pile of 3D printers in various states of entropy at Noisebridge
The CNC mill at Noisebridge is strikingly similar to the one we have at 23b.  Both are the MaxNC model.  However, this one seems to retain the original closed-loop control, which keeps track of the position of the stepper motor's rotation.  This is to accommodate for step loss which could occur while heavily loading the spindle.  Also, it seems like the hackers here have figured out how to interface LinuxCNC with the mill, sorting out the dreaded config file to twiddle the pins on a parallel port straight into the CNC control.  An impressive feat, except, they didn't get it quite right.

Noisebridge.  See any disparity between backplot and actual cut?


Without knowing, I'd guess some VERY intelligent programmers figured out the interface between machine and computer.  I couldn't reverse-engineer the pinout on the magic "black box" on my own, so I ended up tearing it off completely and replacing with a set of Gecko Drives.  What Noisebridge missed was something very elementary to a machinist, but maybe not so much for a programmer - the X and Y axis were flipped.

Hold your right hand out like this.  Your fingers point toward the + direction in each axis.  Z is usually parallel with the spindle

When I set up the machine, I expected the cutter to start nearest to the front left hand corner, which was set as my G54 origin.  But, when the mill began by traveling to the opposite side of the workpiece, I panicked and hit the emergency stop button.  "What the hell!?", I cuss as I try to sort out what's wrong.  The code checked out and backplotted fine.  Ah, I know, I've seen this before.  The world is reversed!  After a quick googling, flipping a signed digit in the config file made the control behave as expected.  CNC machines are only trustworthy when they go where you tell them to.  Otherwise, they may try to drill a hole in the table at 10,000 miles an hour.  Okay, hyperbole a little bit, but CNCs are fantastically dumb machines.  They'll happily destroy themselves, if you let them (or tell them to!)

Once all that axial confusion was straightened out, the machine happily repeated cuts for the rest of the day.  Still, the machine was VERY slow.  Since this is a tiny, bantamweight duty machine, we could never expect a whole lot in the way of high feed rates, but the 6 inches per minute that this machine was running at was excruciatingly slow.  Not entirely sure of the upper limit of the speed on this machine, I seem to remember reading somewhere that these controls barfed when they were pushed beyond 20 IPM.  Digging back in the config file, I found a MAX_VELOCITY variable that needed a  tweak.  Now set at 15 IPM (a 250% increase) max travel rate, I doubt this machine could get into a whole lot of trouble before it had a chance to prevent CNC seppuku.   

After a few confidence-inspiring test cuts, eventually the kinks got works out of the code and the machine.  Gibs were tightened, syntax was changed, and ways lubed.  The machine is now working more properly than it ever has .

traced in Solidworks, plotted in CAMWorks

inspired by a sticker on a nearby laptop

While this is all a bunch of fun (and also a big component of my day job), why would I spend my weekend at Noisebridge fussing around with an esoteric piece of equipment?  It's because I live for the love of hacking.  For the adventure, for the skills, for the lulz.  Also, after reading Ivan Illich's Deschooling Society recently, a point has stuck with me: I feel compelled to contribute back to the society which created me. 

Spending time at 23b and other spaces has given me a chance to shine among brilliant peers and mentors; I stand on the shoulders of giants and all the work they've done before me.  Most of these hackers, for some reason, rarely dabble in the physical realm, or if they do, it's not to the level of sophistication required to get these finicky CNC machines running under optimal conditions (does that explain the pile of non-functioning 3d printers?).  Not everyone has the technical background to get these disparate hardware, software, and artistic systems integrated well enough to do what is commanded of them, but once in a while, putting a few heads together yields impressive results.  Two half wits make a whole wit. 

You may think, "So what? G code is difficult to generate anyway!"  Yes and no.  While the method I was generating G code was from a fancy (read: expensive) software suite, it looks like LinuxCNC offers a few options to generate toolpath from a greyscale image, or from a DWG file, and a few other format types.  While there's a little bit of nuance in the code that's missing from this whole exposition, the thought is generally this: the softer the material, the easier it is to machine.  Wood machines fine under many sub-optimal conditions.  If I didn't have the spindle speed set just right, or the feed incorrect, in many materials that would break tools and scrap parts.  Here, all we wanted to do is make a silly engraving of Nyancat in wood.  There's nothing technical or tightly toleranced here where we'd have to invoke the CNC gods to get the tools to perform crazy magic.  Keep it simple, stupid.

While this little CNC isn't great for building your next AR lower receiver, it would be perfectly suited for milling circuit boards, or a custom license plate frame for grandma.  These machines are essentially useless without proper instruction, which could be a challenge at Noisebridge.  The high level required to operate the CNC keeps it more in the arcane knowledge realm.  But, now that some of the hardware and software bugs have been worked out, the machine is a little more accessible.  Baby Steps.

It's difficult to send a n00b to a CNC mill and say, "Okay, time to make good parts!".  If G-code is unintelligible to you as a programming language, then you better get help from someone before you go running a CNC.  It's not difficult at all to understand g code, especially for such a simple machine like the MaxNC.  It's simply 3d connect the dots (think LOGO, from Mr. Wizard, remember???), with about a dozen extra commands operating the spindle and other things.

In fact, 3d printers speak a dialect of G code that's not much different from CNC mills.  Perhaps the CNC mill was neglected for much of the same reasons that the 3d printers remain in disrepair - too many levels of nuanced information to synthesize in order to get the machine to cooperate using limited human resources. 

What CAN be done, though, is for me to provide more thorough documentation of setup and operation of this milling machine with my newfound knowledge, which is in the process of being updated on the Noisebridge wiki page.  That might help a few people become self-sustaining.  However, after a few successful machine shop classes at HeatSync Labs, as well as a few sessions at 23b Shop, I think it's safe to say the way to get the shop to a lower state of entropy is to bootstrap the community into activity.  Teach them just enough to be self-sufficient.  There's a few things about machining that cannot be replaced by anything except for sheer experience, but with focused training, it would be interesting to see the way the Noisebridge community could come together and solve their own problems, figure things out in their own way. 

That's a part of the hacker ethic, right? 


Circuit Bending and Pot Luck!

When:  Saturday, April 19th, 5:00pm
Where: 23b Shop, 418 E. Commonwealth, Unit 1, Fullerton CA 92832

What: Monthly Pot Luck. Bring something delicious to share. If you are lacking creativity, downtown Fullerton has a plethora of restaurants.

The theme this month is "Circuit Bending." Details are below.

Via Danozano:
Circuit bending is happening this Saturday for sure, so go to the swap meet, or garage sale, or garage, or Filipino 98+ cents store, or dumpster, bring some electrical or electronic toys or objects that can stand to be improved, and we'll void some warranties.

Reed Ghazala has a great site which is loaded with some basic ideas and theory about how some things work: 

and here is his book:

There's a lot of info on the web about bending, but we can jump right in with no prior knowledge and do fun stuff, in many cases.

It's hit or miss, we'll talk about that... we'll talk about how to make a circuit do interesting things, how to find new jobs for old gear, and I will have several very wise and sharp electronics people breathing moist vapors down my neck whilst I flout the very foundational rules of electronics and electrical engineering before your eyes!

We will also probably talk about making little battery-powered amps like that mint box thing, input and output caps, diodes, ckt protection, resistor code, and lots of core foundational electronics stuff, so you can feel good about that. This is probably not an accredited class suitable for transfer to higher learning institutes. but you'll still know more than they do.

A few points:
- If you want to make things that make noises, maybe start with some noisy things?

- We won't be modifying anything with wall power, we are working on devices with batteries only.  So if someone brings a pack of AA or AAA batteries, that's a good plan to make friends.

- We have tools

- We have components, (which we might maybe ask you to consider donating something if you want an expensive thing, or the last one), several soldering stations, and a variety of materials, but if you want something special please do bring it (and a spare if you have one to spare.)
- Doll parts make great knobs for electronics, especially arms and heads, but don't let me fence you in here... go nuts, we have hot glue.

- Newer electronics, and those with very few internal components (like just a chip blob plus a couple resistors) may be very hard to bend.  Old analog stuff is super easy to work with, but harder to find.  Shop wisely and inexpensively with this in mind.


Fix-it night: This Wednesday, 3/12/14 at 7:00pm

Where: 23b Shop, 418 E. Commonwealth #1, Fullerton CA 92832

When: Wednesday, 3/12/14 at 7:00pm

What:  Bring your broken TV, musical instrument, whatever. We will be helping folks learn to troubleshoot common problems with consumer electronics and learn how to use test equipment. We will also have the welding room available if anyone has something needing more stone-age repairs.

Hope to see y'all there!


Sparklecon - Update and schedule

Here is a quick update on this Saturday's Sparklecon festivities (Saturday, 1/25/2014)

10:00am - 12:00 - General shop cleaning and setup. If you show up before noon, we will hand you a mop or send you to the store or something.
12:00 noon - Things officially get started.

12:00-6:00pm - Open Mic for talks and workshops

I'll be doing a DIY tear-down and repair workshop where we try to fix a 50" flat-panel TV. Feel free to bring other dead electronics if you are so inclined.
We have some malware and defense talks also scheduled to appear, and more hardware stuff as well. If you have a topic, we have a projector and table space to present it.

3:00pm - I will start the BBQ. A limited amount of burgers and veggie options will be provided. Feel free to bring your favorite meat to throw on.

6:00pm - 8:00pm - The "Hacker's Cup" home-brew contest is happening. Bring your favorite home-brew and try to win the cup. Bring enough to share.

8:00pm - LATE - Entertainment featuring special Chip Tunes live performance. Bask in all that 8-bit, square-wave glory

Also, just announced: We'll be having a SOLDERING CONTEST to raise money for Nullspace Labs. In case you haven't been to NSL, they are our sister hacker space in downtown L.A. Their landlord just told everyone in their building they have 30 days to move, so they need to raise some funds. Shit is more difficult and expensive around L.A. than it was 5 years ago, when grimy, run-down buildings in the hacker district were plentiful and inexpensive.
Here is a link to their IndiGoGo campaign:

I'm suggesting a minimum $10 donation to enter the soldering contest. We will provide materials. Bring your favorite iron or solder if you like, but not necessary. You can get in on this any time on Saturday, until midnight. There will be a special prize for the WINNAH.
Finally, I want to emphasize that this is a free event. If you can help out with plastic cups/plates, food, etc that would be lovely but no requirements on y'all.




SAT 1/25/14 
at 23b SHOP




Sparklecon is sparkly! Come enjoy extra sparkles at all times. Saturday 1/25/2014 

Sparkly mini-talks (signups on site), sparkly clown bike rodeo. Sparkly killamajigs. Sparkly flash drive with sparkly rootkit. Sparkly power outlet, sparkly pickle firejets. Sparkly 3D printer, sparkly fistfighting, sparkly hamburger (kawaii!) Sparkly jet engine, sparkly wild animal, sparkly cassette tape. Sparkly too many exclamation marks! Sparkly beer brewing!!!1!!! Sparkly non- orientable surfaces. (For rills.) Sparkly bronies. Sparkly pdf files, with sparkly exploit payloads all in a row! Put sparkles on a hobo, just don't get caught! Shoot glitter in your eyes and ears with an air hose. All at Sparklecon! 

TL;DR: Sparklecon is a one day party at 23bshop in Fullerton, California. Show up after noon, not before, unless you like to scrub and clean and set up. We will have beer (and a brewing contest), a few talks, and whatever funny mischief you bring. It’s free to come listen to talks, and we are asking for donations if you choose to drink. So gird your loins and mark your calendars for Saturday, January 25th, 2014.


Adding fasteners to 3D printed parts

Working in the machine shop the other day, curiosity got the better of me.  I was thinking about how to add fasteners to my printed part, but with a minimal amount of work.  Fasteners can be drilled and tapped, Helicoil-ed, or ultrasonically welded into ABS parts.  If the thread is large enough, it can even be modeled on the part directly, but what about smaller fasteners? 

Typically, to create a threaded hole on a 3D printed part, we'd need to add a few operations with the mill or the drill press.   First, the part and the hole position would need to be located precisely, straight and true (“tramming and indicating”).  Second, three tools need to be used – a center drill for the pilot hole, a tap drill of a specific size, and finally a tap.  All these tools need to be used in the exact same location in order to generate an accurate screw thread profile.  This is standard operating procedure in the machine shop.  However, you're probably using a 3D printer to avoid the machine shop in the first place.  You can save a few steps by inserting the tap drill size directly into the 3D print, with impressive results.

By printing parts with the tap holes already modeled in, we can save several steps in the process, eliminate the need of using a separate machine and several extra operations.  We can hand-tap the precisely located holes. 

After tapping, the 4-40 thread felt a little loose, indicating an oversize minor diameter. To remedy that, the tap hole can be made slightly undersize.  The slop wasn't so dramatic of a concern on the larger threads (the largest here being 1/2-13).  Loose fit wasn't a problem at all with the two tapered threads, 1/8-27 NPT and 1/4-18 NPT. 

By printing the tap holes directly into the part, we avoid several steps typically needed to insert threads into 3d printed parts, only needing threading.  All of these threads were created with a hand tap, and as long as the tap goes in relatively straight, it produces quality threads without all the usual effort.

BONUS ROUND - captive nuts

Don't have any taps handy?  Well, if your printer can handle the geometry, I suggest using a "captive nut" like so. 

Measure the size of your fastener, and add a little bit of tolerance to the hole size to accommodate any dimensional error (in this case, I added .005" to the size of this nut, which I believe is #8-32).  This allows the nut to slip in and out of the recess, but without any extra slop.  You may also want to consider a small interference fit, to make sure that the nut stays put when there's no bolt attached.   Be sure to add clearance in the through-hole, as well.  Also note the boss surrounding the nut - this is to add strength to the part.   For more information on fitment and tolerancing, I HIGHLY suggest you pick up a copy of Machinery's Handbook

If modeled correctly, using a calibrated printer, your results will be impressive. 


Where's Waldo-the-Datasheet?

Howdy gang,

Once in a while, an interesting, random project shows up at 23b's doorstep.  This week's project-du-jour is a rotary encoder / stepper motor drive.  Without getting too bogged down in the details, what we need to do here is read the position from an encoder, and then drive a stepper motor at 110% the speed of the encoder.  This is meant for pulling extruded vinyl out of a larger machine, while keeping an appropriate tension on the extrusion. 

The focus of this post isn't the extrusion puller itself, this is more about the quest I took to find out where the Mil Spec callouts were for this particular connector, so we can hook up test leads while we develop the rest of the project.

The first step was checking the product data sheet.  A "Sick Stegman DGS25 rotary encoder" yielded ample Google results, with the proper data sheet.  Cool, that was easy. 

Another bit of googling for the connector type lead me to the Digikey and Mouser website where it has the proper connector listed (I think), and it's nearly $20.  Screw that, I'll make something here at the shop (why else do we have all these tools?)  After the 3D printer was down for most of the summer due to my dumb ass putting ancient support material through the extruder, I find myself champing at the bit for every opportunity to make a customized, one off piece for any project in the general vicinity.  The printer is an incredibly useful tool, when it works. 
After examining the case a little better, there is confirmation on the physical connector that it is nearly the same part number, calling out CR3102E18-1P-1.  The numbering convention is essentially the same, but why the CR spec instead of MS? 

After a bit more smashing my face on the keyboard, I learn that the CR and MS specifications are essentially the same scheme.  CR spec came from Cannon Electronics in the 50's, and it looks like the Mil Spec connectors were developed a decade prior.  Perhaps there's some overlap?  Perhaps it's similar to the 7400 / 5400 families of ICs.

Checking Digikey for the part number, I find myself puzzled, as the part number only seems to be for the male receptacle of the plug.  What the hell is the mating part called?   After some more face-smashing and context-grokking, I find "Oh, it's a MS/CR3106-18-1, of course that was easy to figure out".  NOT!

Different Mil Spec, different connector callout.  I guess that makes sense. Now where the hell is the blueprint? 

Just looking for the -3102 or -3106 part number didn't yield anything incredibly fruitful at first.  I did find a few diagrams showing pin location, but nothing with dimensional values.  Should be no big deal, perhaps I can figure this out.  Time to break out the calipers and Solidworks. 

After getting to know my Stratasys 3D printer over the last few months, I know that it's for the most part dimensionally accurate (maybe a hair on the small side)  Sure, I could run calibrations until I'm blue in the face, but that won't help too much.  The printer operates in open loop mode, meaning that it doesn't get any positional feedback to make on-the-fly adjustments to the print head location.  Translation - even if I program something at 1.000" exactly, it may come out a tiny bit bigger (1.003") or smaller (.997"), depending on a few factors, mostly the positional tolerance of the machine itself.  I'm satisfied I can program this part to a tolerance that will be acceptable to fit.  Usually, I give loose-fitting portions a +/- .005" tolerance (depending on direction of interference).  Tight fits usually have a single sided tolerance of .002", and we have even successfully produced accurate interference fit parts. 

There's a neat feature in Solidworks where you can superimpose an image on top of your model, so you can draft features based on an imported image.  "Sketch Picture" is the command you'd use, and here's what I did.  I opened up a sketch on the back face of the nearly-finished connector plug, resized the image, and simply drafted new lines on top of the image until they matched.  Mostly.

One thing I've learned while using Solidworks over the last few years, combined on top of my experience fabricating and machining parts, is that if something doesn't look right, it probably isn't right.  With ample training, your brain can become a finely-tuned difference engine, instantly recognizing small changes in familiar objects, without needing to intellectualize what the change is.  The warning alarm becomes a subconscious manifestation screaming into your Neocortex.

These Mil Specifications are quite good about part fitment and mating.  Something immediately struck me as odd while drafting this using my image file.  According to the superimposed image, the holes aren't precisely centered on the face, nor are they parallel, or even exactly aligned with one another.  I didn't think of this as a huge problem, hoping that the generous amount of space around the pins would more than make up for any dimensional inaccuracies of my part.  Take a close look at the centerlines of the part, versus the centerlines of the circles.  It's all wonky and offset, which is what I should have expected using a JPG as a reference. 

I printed the part, eagerly burning a little bit of time for the print to complete.  After realizing I am surrounded by assholes, I returned to Mr. Printer, lovingly nestled in between Mr. Coffee and Mr. Compressor.  An excited, anticipatory removal from the machine only led to my disappointment.  In this case, close enough wasn't going to cut it.  The pins were offset too far, something was wrong with my design. 

Shit, it doesn't fit all the way


you can see a few of the pins barely peeking out

Back to the good ol' drawing board.

So what went wrong?  A quick glance down the holes, and you can see that the pin spacing wasn't quite accurate enough to get us a decent fitment: the plug is jamming on the pin diameter.  Since I gave up on finding the exact dimensions early on, looks like I'll have to dig around on the internet to find the exact specifications for this particular connector.  More Googling. 

As it turns out, there isn't any one specific drawing on the 3106 connector.  Rather, it lives as a subset of the byzantine MIL-STD-1651,where there's a breakdown of all variety of round connectors.  266 pages of connectors, not ordered in any specific way.  Even when searching for the term "18-1", I got close, but not close enough.  Turns out, the X in 18-X gives a variation on the part, usually a rotational value for the pins, and there's umpteen different varieties of rotation, and not even with the same pin population!  

DAMMIT, this last one is close, but rotated 90* off. 

FINALLY, after manually scanning each page of the document (really only about 20 minutes of work), I found the correct specification. 

Strange, even though the pin population is the same as the last spec (18-24), the spacing is just off enough where it wouldn't match, even with a rotation.  Time to update the model with the correct information. 

how about a googly eyed connector?

Close wasn't close enough.  The change in hole location seems to reflect the skew in my first part.  My brain processed the resulting linear offset accurately without needing a measurement.  Now if only my brain could be calibrated for more useful things, like where I leave my keys every day...

A quick revision to the hole locations, and off to the printer.  But wait, things can't be that easy, can they?  Of course not. 

One of the complications I've run across with the 3D printer is incomplete layer slicing. 

Just like reading toolpaths for CNC machines, when slicing a 3D model in Catalyst, it gives a preview of the toolpath before the print, which provides a quick and robust method to diagnose the print quality before finding out the hard way.  Look for erratic motions in the toolpath, or strange insertions of support material.  In this case, we saw both. 

STL file imported into Catalyst

The red lines indicate model material, and the white lines indicate soluble support, typically inserted if there are any overhangs to the model, building up a support network from the bottom up.  Since there weren't any programmed overhangs, why is there support here?

After slicing.  Notice the support material in the middle of the part.  This is bad, something is wrong.
Top view of the same part.  What's with the hole contours? 

Checking out the top view of the toolpath, you can see how some of the holes are artifacted and incongruous with the contours we programmed in Solidworks.  What happened? 

My first clue is the hole size, and the spacing that requires.  These features are getting pretty small, and the spacing between the holes is getting thinner and thinner.  Even though the finest level of print is .010" layers, that doesn't mean that the plastic extrusion is exactly that size.  The extrusion head prints layers that are substantially thicker than they are tall, nearly .020" wide.  This can cause problems for interpreting smaller dimensions, as well as the fill pattern between thin walls.  In this case, Catalyst changed the programmed contours of the circles to now have a bit of cutaway, probably to accommodate for the XY size of the extruded plastic.  While these changes would be minute, since we're dealing with small parts and tight tolerances in the first place, allowing these changes to be made by Catalyst would at best produce a part that doesn't fit correctly.  At worst, it may have messed up the entire print by inserting support material where none is intended - I've even seen whole layers of support inserted in the middle of a print, effectively ruining the model half-way through.

After a few revisions to the part (making the hole size slightly smaller, so the wall thickness can be larger), I was able to find some dimensional values that would happily process in Catalyst.

Much better, Aziz

Notice the holes look right, now?

 So how did the part turn out, after all this trouble?  Perfectly. 

This is a much more satisfying result.  The printed parts fit precisely, as long as they were designed precisely.  Not everything works on the first shot, but success the second time around isn't a bad consolation prize.   


LOSING FOCUS: Practical experiments in visual perception

I made a presentation at B-Sides OC on October 4th.

My topic was visual perception hacking, and how to manipulate your cognitive filters to help you use more visual data. I included several experiments and a handout.

Here are the slides and handout from the presentation.

Losing Focus Presentation Slides
Losing Focus Presentation Handout
Speaking Notes


Waterproof storage for small stuff

Spare AAA batteries kept safe until needed 

Boba straws are available in black, clear, and neon colors, up to a foot long and 1/2 inch in diameter.

They are useful to package any number of small items, including things like the following:

sewing kit
salt or pepper
chili powder
SD cards (red=full cards, blue=blank)
ibuprofen, vitamins, or meds
AAA batteries
watch batteries
escape plans, one-time pads, maps, a hundred dollar bill
a tiny USB drive
a pinch of dirt from a magical castle
a small transmitter or zigbee radioan RFID tag or tiny geocache
Throwies -- UV LEDs, a battery, and a magnet inside a neon straw
spare pencil leads
jeweler's saw blades
X-acto or craft knife blades
baking soda -- used with super glue to fill gaps
hard drive screws, cable tied to the inside of the case 
sharp tools or drill bits

- Go out for boba and swipe some extra straws , or pay $2 for dozens at your local asian market or online.

- Put aluminum foil over and under the straw to prevent it from sticking.

- Press the straw end with your heating tool, soldering iron, or whatever, moving around until the plastic fuses completely shut.

- You only need to seal once straight across, but more is better.

Improvise if no soldering iron is handy:

  - Fold the end over and insert it into a short piece of straw or a pen cap
  - Close it with the smallest size of binder clip
  - Iron it shut with a light bulb, hot butterknife, or the lid of a Zippo lighter 
  - Melt it with a clothes iron or hair curling iron
  - Heat (or burn) the end with a lighter and squash it flat under a water glass
  - When melting the end, use foil or wax paper to avoid sticking or burning.

You could get all fancy-pants with it too:

  - Make the melted tab longer, and punch a hole for an eyelet, rope, cable tie, keyring, or carabiner to pass through
  - Add a rare earth magnet and stick it to a fridge or toolbox
  - Make a laminated nametag or cable label by ironing in a strip of paper


RFID Blocking Wallet

I whipped this little project up today as a 
proof of concept for an RFID blocking wallet. 

It's simple but effective at preventing RFID reading of your valued card.


Modifying a folding lock pick set

[TLDR] I made a modification to my RCS Tools folding lock pick set to help retain the tension wrench, which could easily pop free without warning. [/TLDR]

The tension wrench can pop out of its storage slot with very little squeezing force. This is further facilitated by the extra-large nail nick, which provides an easy spot for the wrench to be squeezed while on your keys, or inside a pocket or bag. The wrench might also be released by a key or other object levering it out from inside the nail nick.   This modification provides extremely secure retention for the tension wrench, while still allowing easy removal.

The edge of the tension wrench is visible along the bottom of the tool.  

A small rivet (visible along the leftmost edge of the tool) was added. A desktop drill press with a #62 (.036) drill bit was used to make the hole.

(This hi-speed rotary tool was too fast by far for drilling such a tiny hole in plastic, but our floor drill press would pretzel such a tiny bit, except that carbide bits would actually shrapnel and fly across the shop, as opposed to actually pretzeling.)

I created the pin from a piece of aluminum wire by cutting it to rough length.  I used short nosed, smooth-jawed pliers to hold the wire so it was perpendicular to the edge of the plier jaw -- this helps me to not sand my pliers. I shortened the wire to just a hair too long, and squared the ends off. 

I rolled the wire between iron plates to straighten it out -- next time I'll do this step before sanding the wire down, since the wire was so short it kept going sideways. 

I used a digital micrometer to get the diameter of the wire, and selected the right bit for the Dremel press. This was maybe .001 under the diameter of the pin for a snug fit.

The pin is visible at the left end of the tension wrench, 
right inside the channel and next to the red handle.

I added the pin where it won't interfere with pick rotation or use, and it seems to have enough plastic around it to avoid breaking out.  The wire bent slightly when i tapped it down flush with a steel hammer because i didn't give it enough support in the middle, but it didn't crack or damage the case and it retains the wrench properly, so I won't rework it just for a blemish defect.

(EDIT: I ended up finding a dowel pin in my junk box and re-drilled, inserting the nice steel pin in place of the nasty old aluminum one. Happily ever after.)

The wrench is definitely retained securely and will only come out when it's needed.


Welding experiment success!

A few weeks ago, I posted to the mailing list for a Welding / Fabrication class, and we had a few people show up to try their hand in making a new addition to the shop, a custom-built shelf for our welding bench.  The old shelf is pretty sad, if you've ever had a chance to meet it. 

It's falling out of the wall
I mean, just look at the thing.  While it served its purpose without complaint for many years, it's Ikea roots definitely show through.  The shelf has perpetually had a 5° slant as long as I've known it, so it was certainly never confidence inspiring enough to do pullups on. 

We're always in a state of flux at the shop, making small improvements here and there as we see necessary.  It all adds up after a while, and people who haven't visited the shop in six months are usually stunned to see how much things have de-Seussified in the interim (in fact, that happened just now when RJ walked in, haha).  Little upgrades like this make all the difference in the world, when you were used to staring at the eyesores like this one.

Looking into the Tested videos shown on the prior posts, there is a neat video on Youtube of Jamie Hyneman's (of Mythbusters fame) workshop, specifically on the custom racks they have holding their boxes of equipment in M5 Industries.  He says, "We buy tubing by the ton".  Well, we just so happened to have a bunch of tubing scraps at the shop just begging to be put to use.  Off to Solidworks!

I quickly drew a few 3d sketches, and then used the Weldments tool to turn my sketch into a solid model.  After a grand total of maybe five minutes from concept to finished model,  then I could use to generate engineering prints, Bill of Materials, mass information like weight and volume, even simulations for deformation and drop testing if we really needed that.  While having all that strength is useful if you want it, what is most important to me is ease-of-use, and how intuitively I can learn new concepts in software.  I went through the weldments tutorial once, beyond that, this is actually my first real-life Solidworks weldments project.  

This was entirely modeled up in a virtual environment before I needed to make a single cut, so when I made a few revisions to the size of the tubes in the sketch, the rest of the model updates instantaneously (along with any other associated information, like the prints and BOM).  Not having massive experience with welding, ANSI-complete prints, nor manufacturing management, what I found this tool was most useful for, was the ability it gave me to convey the important information about this structure to my students taking the welding class.  I simply handed them a set of blueprints with a cut list, and told them "All the relevant information is on this paper." 

They delivered.  I made the first two cuts and welds, the rest was up to the new guys. 

The Noobs followed what few instructions there were, the hardest part being getting a "feel" for welding.  It's something that can't be taught out of a book, rather, it's an art that needs to be practiced.  The biggest problem we encountered was heat management, understanding what's changing in the system when you start welding, and how the molten puddle of steel needs to be manipulated through the welding process. 

Welding steel is not much different than a hot glue gun and popsicle sticks, except it's much much hotter, and it'll melt the popsicle sticks away beneath the glue. With a few basic concepts like that in mind, as long as you're considering what's happening to the heat in the weld, then your results will show a little bit of insight to the process.  Mild steel is a moderate heat conductor, it uses a mid-range heat value (between stainless and aluminum), so it's relatively simple to work with.  Stainless, while it conducts heat much less than mild steel (requiring less heat overall), also has a higher coefficient of thermal expansion, so if you don't carefully tack down your weld in several spots, a whole piece of stainless will bend and bow as you weld it along the entire length, ending up distorted and warped.  Aluminum is another beast altogether, and not recommended for beginners to fabricate with.

Tack welds holding everything together
This whole project was built from scrap and leftovers laying around the shop.  If you had to go to the metal supply store and source all of this material on your own, I'd be surprised if you'd be $20 deep into it.  The worst part of this whole project is dealing with that expanded metal grating.  While it's wonderful for filling in open areas like the tops and bottoms of this shelf, it's pretty nasty stuff to handle.  Even the "flattened" grades of expanded metal are covered in lots of tiny sharp edges that will cut the shit out of you the second you turn your attention away from it.  I have to find out these things the hard way.  That's why I order $100 of material at a time, so Benner Metals will deliver the order to me instead. Twenty foot lengths of steel aren't too easy to negotiate, let the flatbed deal with it. 

The mounts had to be reoriented 90° from my initial drawing, mostly due to my lack of considering how much space the grating was going to take up.  Since this part is being mounted to a block wall, I had to get some 3" sleeve anchors and a carbide tipped masonry bit to drill the pilot holes.  The mounts started life as a small leftover piece of rectangular tube from Flea's jeep bumper project, which I quartered into nice flanges and drilled a .400" hole through them.  Once tacked on, I laid a weld bead on the butt joint between the mount and the frame.  I could have filled it in better, but I think a weld of that size would probably exceed the design limits of this part.

Dykem is also known as layout fluid.  I use this all the time to mark parts based on a measurement, to see where I need to make my cuts or holes.  After measuring the parts using calipers, then I gently scribed the intersections of the horizontal and vertical midlines to find a rough center for the mount holes.  Dykem is easily washed away once you're done, using acetone.  In a pinch, Sharpie marker works fairly well, just remember that Sharpies are ruined once you put some oil on the tip, and you can pretty much count on these steel parts being slathered in a light coat of oil to prevent oxidation.  Acetone, you'll come to learn, will be your best friend when working with metal, except when you have even the slightest cut in your skin, which the acetone will seep into and light up any exposed nerve ending with a nice bright searing pain, not much different than squeezing lemon juice all over your broken cuticles. 

The end result - total amateurs (including myself) successfully made a beautiful, custom shelf for the shop.  It's way overbuilt (the way I like it), cheap, and user-servicable.  Want to add some hooks?  Weld them on.  Want more shelves?  Weld them on.  Speaking of hooks, remind me sometime to tell you the story about why this wall is red... 

The top crate weighs +60 lbs.  I'd say this is pretty solid.

My fourth attempt at 3G (vertical up) welds
the finished result - pullup tested.