Sparklecon 2.0: A group project for 200

Many of us have been to hacker conferences like Defcon, B-Sides, HOPE or LayerOne.

Most of the time, these are held in a hotel and cost a lot of money to put on. Especially if there is a conference giveaway, such as a printed circuit board badge.

Our hackerspace decided to host Sparklecon again this year. This is a free, informal event for infosec and hacker topics. It's going to be held at 23b Shop January 23-25th.  Events will include talks, contests, and a hacker BBQ.
This time around, a local security firm was willing to sponsor us, and thought that in addition to the above, it would be fun to do a group project everyone could participate in.

Enter the Sparklecon badge. I wanted to create a build-it-yourself soldering kit that would teach basic SMT soldering and circuits, while costing as little as possible.

I started with an inventory of the surplus SMT parts we had lying around. Between a half-reel of 1206 LEDs I bought in Shenzhen for the Open Access 4.0 and several reels of SST2907 transistors, 0805 resistors and caps, I was pretty sure there was enough to build something cool.

Consulting the Forrest Mimms Green Book, I found a nice alternating LED flasher circuit with only 10 parts needed.  The only thing we didn't have was a power source. Fortunately, the sales rep at Wurth Elektronik was kind enough to ship us 100 samples of their VERY nice CR2032 battery holder.

We worked with Mitch at Hackvana.com for suggestions on how to keep the cost down. He recommended a PCB 50mm or less on a side and 1.0mm thickness.

After triple-checking things, I put in an order without having a working prototype. About 9 days later, a box showed up with 200 nice-looking PCBs. 

Our friend Natalie was in town when they showed up and we asked her to try building one to gauge the difficulty.

Fortunately, I got everything right, and we ended up with 200 functional PCBs after a bit of debugging.

A happy hacker!

The total cost per kit is just over US$1.50 with the donated parts. It also has the advantage of no programming required.

The 'B Side' contains an assortment of 1206,0805,0603 and 0402 practice parts to hone your skills.

If you'd like to come, please check the Sparklecon Wiki and consider speaking, sponsoring or helping. This should be a great free event, with a local SoCal flavor!

Full Eagle PCB files and info for hacking are here.



Six things I've learned about 3D printing

1. 3D printing saves lots of time (even if printing seems slow)

In those dark days before 3D printing, when I needed a custom set of vise jaws for my milling machine, producing them was a non-trivial process.  Either I needed to keep some blanks on the shelf, or I'd have to make them from scratch.  To do so, I'd have to: Find some material, remove any setups already on the machine, indicate all the straight edges, square up the stock, accurately drill and counterbore the holes, and THEN I can finally worry about producing the functional shape of the jaws.

Today, it's only a little bit of effort with some CAD tools to model up the same set of vise jaws.  The benefits of digital fabrication are manifold: not only do we have the exact shape in an easily duplicated digital format, but we can easily create iterations and derived models, small little tweaks, just as quickly (or all of them as a batch).  You also know that the parts from the 3D printer will come out true, flat, straight, and dimensionally accurate.  What's more, producing said shape no longer requires the devoted attention of an artisan - anyone can produce almost any complex shape, printing overnight and unattended.  That frees up the machine shop (and the machinist) to do what they do best, instead of your best employees toiling away to produce these trivial, but troublesome shapes that we seem to need all the time. 

Added benefit - when relying on digital designs, you never have to backstock parts, you can simply print them as needed, using a Just-In-Time or Kanban system. 
2.  Iteration is trivially easy

Using 3D printers in combination with your existing set of tools gives you a higher, augmented level of versatility to solve problems.  I had to mate up a bolt pattern for a motor bracket, but didn't have a quick way to measure the spacing between holes.  Using some clever CAD trickery, I was able to take a picture of the hole pattern and make an estimation of the size, so I could print out a gasket (rather than the whole part).  The first iteration wasn't quite right, it needed some adjustment before printing out the final bracket.  Also note the 3d printed shaft coupler with the square internal broachway, a very challenging shape to produce with otherwise limited tooling.

Utilizing the power of digital fabrication and modern, innovative tools, we can quickly go through several design changes, even over the weekend when most of the manufacturing staff has gone home. 

3. It's an indispensable tool for (Reverse) Engineering

Not quite sure how big your widget needs to be?  Use your printer to find out, before you go through the trouble of making part from metal.  In this case, I had to guess what the size of the T slot nuts needed to be, and I used the 3d printer to double-check my dimensions.  Everything mated up, except the wide part of the base, which was about .010" too tall, due to a troublesome measurement.  After gently lapping the bottom of the nut, it was a perfect fit, which we then used to produce the nut from metal.  Use lessons 1 and 2 to your advantage, while you're at it.  Also notice the orientation of the part - that was crucial in regards to proper dimensioning.  My FDM machine prints with an accuracy of +/- .002" along the X and Y axis, and perfectly accurate along the Z axis, although in .010" or .013" layer thicknesses.  In other words, I had to consider printed part orientation for optimal printer resolution and tolerancing. 

4. The 3D printer industry needs a "killer app"

How do we make 3D printers useful to everyone?

I know how these tools are useful to me, but manufacturing is kind of my bag.  I have 3D CAD skills, machine shop skills, and a workshop that requires said skills from time to time.  I can't begin to tell you how many times producing a little 3D printed trinket has turned a project completely around.  It seems the problem lies in that intimate-enough knowledge of the extensive tool chain can be troublesome: between multiple pieces of software (CAD and Slicers), and multiple pieces of hardware (3D printer and a whole machine shop).  Most of those tools and skills are simply not within reach of most people, especially as a stack.  When I need a quick little doo-dad to hold a switch on a machine, no problem.  Typically, most people using 3D printers are stuck printing Yoda heads downloaded from Thingiverse.

I always like to compare 3D printer technology to how computers must have been in the mid 70s.  You either have these tremendous industrial boxes that only large businesses can afford, or you have these hobbyist toys built at home by geeks, programmed in Assembly language by flipping switches.  However, the gap between the two is rapidly closing, blindly stampeding toward ubiquity.  What was it that brought computers out of the nerd's garages and into the mainstream?  I'd say it was the word processor.  Once the average joe discovered that typing documents electronically was far superior to even the most sophisticated typewriter, there was no more denying the awesome power of the microchip.  In the 30 years since then, computers are so ubiquitous that we're often relying on many different interconnected computers with many millions or billions of transistors, EACH, some of which live in our pocket, so disposable that soon smartphones will be appearing as the prize in our breakfast cereal. 

It's difficult to predict how 3D printing technology will change our lives in the coming years and decades, but it almost goes without saying that this is only the beginning.  3D printing has been around for roughly 30 years now, and it took about that long for the microchip to become a mainstay in everyone's home. 

5. 3D printed guns are NOT the "killer app"

In fact, they outright stink.

People have been engineering firearms for hundreds of years, and many competent people have lost life and limb in that pursuit.  We've all seen enough Elmer Fudd cartoons to know what happens to malfunctioning firearms.  Also a few things worthy of note:

3D printed firearms are generally a novel legal situation, lacking any real legal precedent.  I'd hate to be the guy who goes through the wringer while the lawmakers use my case as a guinea pig to develop case law. 

As far as the BATF is concerned, the distinction between a pistol / rifle barrel and a short-barreled shotgun (read: VERY BAD) is rifling, or lack thereof.  Have you looked down your 3d printed barrel to see any discernible rifling?  These machines are good, but not THAT good. 

Do yourself a favor: save yourself the time, the trouble, and the plastic, and avoid this one.

6. Let it go (figuratively speaking)

In the old days of making a part, I would have spent many hours of my dedicated focus and attention to producing a specific shape.  What would stink is that after all that time, the part doesn't fit, or the new guy on first shift breaks it, or the designer changes it enough to warrant making a new one.  We've all been there, and it's a very frustrating position to be in.  All that effort, down the tubes.  Kinda makes you want to scream, sometimes.

When you make parts on the 3d printer, and the new guy immediately drops it on the floor, don't get mad, don't take it personally.  Take a deep breath, take a moment to consider your predicament, then calmly hit the start button on your printer one more time. 

All you have to do at this point is wait for the next print to finish. 


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.