Printing New Frames for Old Lenses

I think it is not an uncommon experience for people who are bit by the 3D Printing bug to look at each object in their daily life and wonder “Could I print that?” It’s also fun to look at objects and think of how you would manipulate a cube, a sphere, or a cylinder (common ‘primitive’ shapes in 3D design).

So I had been practicing Blender and noted that the lenses of my eyeglasses just pop in and out of my super-cheap plastic frames — no screws required. And of course I thought “I could print that.” It wasn’t until a newcomer to Makerspace Urbana wandered in with the same idea that I made progress.




The second design iteration

Basically, I knew how to trace the 2D oval shape of the lens (take a picture, draw a bezier curve in Inkscape on top of the photograph, import that bezier curve into Blender, convert it to a mesh, and start building the frame outward from that. But the lenses aren’t flat, and I didn’t have a clue how to measure and mimic that curvature in Blender. I wish I could remember the guy’s name (this was a couple years ago) but an optician walks into Makerspace with he same idea, except he knows about these lookup tables where you can find the curvature of particular prescriptions. It’s a pretty straight forward set of numbers: a sphere of a certain radius a certain distance from the lens. That information made it trivial to take my bezier curve in Blender deform into the actual curvature of my lens using the “ShrinkWrap” modifier. Position the curve at the right distance from the sphere, and ‘shrinkwrap’ the curve to the surface of the sphere.



Modelling the outline and curvature of my prescription lens.

The lens has a bezel top and bottom which I could measure the height of, but the angle of the bezel was just eyeballed. I simply extruded this ring outward to create the first test fit (printed at MakerLab). Plastic is now one of my favorite materials because of how forgiving it can be: it stretches and snaps and even tho I did very rough measurements, the lens snapped right into place.




From there, I printed some pince-nez style frames that I wore around for a while before sitting back down to model the earpieces in Blender. The first iteration was printed in one solid piece, face down, earpieces being build straight into the air with no supports. This worked great for a few inches, but I learned that the plastic being extruded applies a significant amount of pressure on the plastic beneath it, so that as the towering earpieces grew, they began being pushed side to side as the nozzle worked on the next layer such that subsequent layers were not stacking up straight. The night that I was determined to finish a pair (I had by now broken my manufactured frames from popping the lenses in and out so much), I wanted to be able to see on the bike ride home, so I had to finish these. Our of desperation, I braced myself against the frame of the printer and held onto the earpieces to stabilise them by hand for the last 20 minutes of the print. They still turned out looking like a dog had gnawed on the ends of the frame (the misaligned top of the print) but that sits behind my ears and I told myself it gave it a more homemade touch.

To get the lenses to fit into these frames took a few more tries (I used the same file, but the original print was done in PLA on a Makerbot, and these were now in ABS, and between the expansion and contraction of plastic and the slightly differing calibration of printers, well, point is these things aren’t always consistent.)




I got a lot of mileage out of this design, printing a few alternative colors, including glow in the dark. They looked a bit toyish, which is a style of its own. The real trick though is that they were printed with the earpieces straight up and down at a width that’s just a bit skinnier than my head: so when stretched over my face, they actually pinch just enough that they never fell off (but were still suitably comfortable.)

The next iteration (pictured at the top) was designed with hinges, but without a lot of thought into how to prevent the hinge from swinging both ways. After printing the pieces separately, I drilled a 1/32″ hole through the pivot point, stuck 20 gauge copper wire into the hole, snipped off the remainder, and filled the hole top and bottom with superglue, pivoting the hinge as it dried so that it only adhered to the top and bottom.

I liked the look of these (that PETT plastic carries light like fiber optic, so they kind of sparkle), but they did fall off my face time to time owing to the backwards bending hinges, so when I accidentally stepped on them in my morning stupor, I just went out and got contacts.

Hacker Trip To China

Hong Kong

That’s Innovation Tower! Looks like a cruise ship from the year 2070, right? Possibly interplanetary space-worthy? It houses the school of design at Hong Kong Polytechnic University and was the first stop of Noisebridge’s Hacker Trip To China 2015.

We toured three separate spaces just today: the workshops at PolyTech, DimSubLabs, and LAB by Dimension+.


Sewing Studio & Ceramic Studio at PolyTech

We met with William of Dim Sum Labs outside our hotel who took us on a tour of the PolyTechnic University, pointing our the tight grouping of the Business School, Design School, and Textiles School. We interrupted a couple of classes, where students were happy to explain what they were working on. I met one guy doing a papercraft mech (you know, those giant flying fighting robots) which he designed in CAD and broke out all kinds of engineering drawings of how to fold this complex origami. A girl was working on a chair made of bamboo and cord, taking advantage of its tension. Always something being cut in two (I think I saw some chiseling going on) and folded into shape.

So it’s a very well equipped university lab, open only to design students. Reminded me that I wish I had access to ceramics wheels again. The thing that attracted my attention the most was the excellent signage! Maybe a boring thing but it’s a topic of constant discussion at CUCFabLab — how to make the signs better, how to make sigs that express rules and expectations and capabilities. So when I saw the wall-sized page-turning displays of materials, I said to myself “Duh!” and when I saw a big poster listing all the tools available at the lab with a key connecting it to its picture, I said to myself, “duh!” There was even a big poster by the laser cutters describing what line weight and file format to use.







So I got organizationally inspired. After concluding our tour, we had a big lunch (I’ve been impressed so far with Hong Kong restaurant’s capacity to cater to a group of 18 people without warning) and headed to Dim Sum Labs, but not before topping off our ‘Octupus Cards’ — which is the tap to pay card for all the public transit systems as well as convenience stores. I forget who it was, but somebody had an app on their phone that could read any NFC chip and dump all of its information on the screen, so with one tap we found out the model # of the microchip and the software version running on these featureless plastic cards. Neat stuff — we joked about editing the information (chiefly, the current balance), but there’s some pretty tight encryption running on those little plastic cards, too.

“Do you think I can edit the balance of this without putting cash on it?”

“Put money on it without paying money? Yeah I’d like to know, too.”



Workshop at Polytech, Dim Sum Labs, and Architecture Model Lab at Polytech

Dim Sum Labs is a one room affair (I think I heard 400 sq ft), which they pay about $1,500 USD/month for. They’ve got some great self-screen-printed tshirts (William is wearing one in the pics) and a great RGB LED lighting system — kind of looks like christmas lights in the picture. One of the members was working on an upgrade: to make the color of the whole room programmable (switching a few amps on and off is a little tougher than blinking one LED).

I was reminded of my dream-classroom for teaching intro to programming: individually addressable LEDs covering the ceiling such that each student in a classroom could start by controlling just the one LED, getting to know how to blink it and effect its color. Then each student could work their way up to controlling larger arrangements: perhaps a row of 5 LEDs, then a grid of 5 x 5 LEDs, until the students’ combined work is creating undulating colors across the whole ceiling.

The benefit of this is twofold:

  1. basic programming is a lot more interesting if you get to control something not on your computer screen (I learned by manipulating strings in a command line, but I see people blinking LEDs are a lot more enthusiastic about a few lines of code.)
  2. As a teacher / mentor, you don’t have to squint and bend down to someone’s screen to see how they’re doing. You can see the progress of the whole class at once. Better yet, the students can see the results of each others work, too, leading to un-plannable “how did you do that?!” learning moments.

So I was going on about how I wanted to build a room like that, and the guy I was talking to (I’ll learn everyone’s names soon enough…) said “Oh, we got a ceiling you could do that with at our hackerspace in Chico (California)”

!!!!

Then a guy across the table says “What? You live in Chico? I grew up in Chico!” The bigger the city, the smaller the world.


The rooftop at Dim Sum Labs.

After hanging out a Dim Sum Labs for an hour or two, and we connected to an acquaintance that was told “We’d like to visit Dim Subs Labs and other places of Geek Interest” by Mitch so we ended up at a very cool espresso bar / third wave coffee shop (that’s the kind where they roast the beans behind the counter and let you pick out which farm you want to try the flavor of) that had local art for sale, the majority of which was laser cut upstairs.




Laser Cut Stuff + Quick-and-Dirty Ceramic 3D Printer at “Labs by Dimension+”

Again, I was inspired and surprised by dioramas that communicated the capabilities of the space. Just a general feeling of “why didn’t I think of that?” all day. So they’ve got these products they sell, both as little assemble-it-yourself kits like the bud vase and as assembled products which you can inspect all of the parts. I’d love to build some of these at my home FabLab as well, just to get people’s minds going on what you can do with these tools.

Afterwards we wandered an electronics market, tho it was late enough that most booths were closed. A few people were figuring out SIM cards and international power adapters. Mitch was testing the charge rate of different USB cables which is a shocking discovery that merits further investigation: some USB cables charged his phone at a piddling 80mAH and others charged at 10 times that rate. Like, what? It’s four wires, there’s nothing in there, how can one cable charge so much faster than another? Hmm…

Anyway, I need to buy an umbrella. It’s going to be a rainy week.


Laser Cut Constellations

A 2D Design + Circuit Building Activity for Teens & Adults

At the Makers in Motion summer camp in Peoria, IL, the CUCFabLab team tried out a new activity to complement the camper’s visit to the museum’s planetarium. At the end of the camp, we had a whole sky-full of glowing constellations. The creative soldering abilities of 7th and 8th graders surprised us — this was just a day after assembling their first ‘blinky badge’!








The afternoon started by asking the class what they learned during the planetarium show. There was some conversation about stars burning at different intensities with different colors, and some review of how red-shift and blue-shift are used to determine the movement and velocity of stars and galaxies.

We then asked if anyone had a favorite constellation, or if they knew any mythical stories about them, but that didn’t get very far. So, we let everyone open their laptops and pull up the wikipedia’s list of constellations. (You know, I just realized how nice it is to have a laptop-based computer lab, since you get to dictate whether people are looking at computer screens or each other. You’re much less likely to look across the table or up at the instructor if you have a computer screen in front of you already.)

Everyone was encouraged to read through the descriptions and mythologies of different constellations for about 10 minutes before we would go around the room and share what we learned. This was pretty fun — the wiki articles often have nice art and interesting origin stories for the students to share with each other (we didn’t discourage looking over each other’s shoulders). When time was up, we asked each student what constellation they chose to look at and if they could tell us a little about it. Some people had constellations with very intriguing mythologies (Anything involving the god Jupiter gets pretty crazy) and we had some laughs over the absurd story lines of Greek gods.


What followed was our standard intro to Inkscape: here’s how you can draw circles, here’s how you can draw lines. You can turn circles into lines and vice versa. You can copy paste pictures, and turn those into lines, too! Oh, and all those lines we have? We can have our 30 watt laser beam follow them for us.

The most difficult part is finding suitable constellation art with a strong border to trace using Inkscape’s “trace bitmap” feature. A few of the outlines had to be drawn by hand with the Bezier Curve / Line tool — the snake and the big dipper come to mind — but that’s a good learning experience, too. After we had the outline, we went through the process of creating the cut outs the LEDs pop into.

  • Create a 0.9 mm circle
  • Duplicate that circle and move it 3 mm away (using the X and Y coordinates at the top of the program)
  • Group the pair of circles
  • Copy paste the pair of circles anywhere you want to place a star/LED

Edit, 6 months later: Really great constellation art can be found on wiki, here:

https://en.wikipedia.org/wiki/Urania%27s_Mirror

Students who finished that early were asked to draw red lines between the stars forming their constellations that could be lasered at low power (or in one case, trace an outline of the ram with a red line since all of its stars surround it.) When the files looked like they were coming together, we had everyone save their inkscape file to a shared folder on google drive. Only do this if you have really good internet! A locally networked shared folder would do the trick, too. It’s always fun to see the kids’ names fill up the folder on the instructor’s screen so we can make sure everyone got their file in the same place.

After snack we wrapped up the day by learning how to solder with the ever-popular Blinky Badge! That night Virginia and I checked each file for proper line weight and color (our Epilog laser likes to have 0.001″, solid black lines) and compiled all the Inkscape files into two cut files we could knock out the next morning.






The next day the kids were greeted with wooden versions of their digital designs. To start the electronics portion of the project, we asked the students to review what they knew about circuits and the blinky badge — just that you’ve got a battery with + and -, and you’ve got an LED with + and -. We passed around batteries and LEDs of different colors and let everyone experiment. Pretty soon they figured out you can put multiple LEDs on one battery. (Check out the super-informative Evil Mad Scientist blog for reasons why this works out OK without the ‘proper’ resistors in series.) We also stumbled upon the question of why you can’t mix colors —remembering that elecricity will take whatever path requires it to do the least amount of work and some colors like red and yellow take less voltage to illuminate than others like blue and white. Hey, that’s kind of like how cooler, less energetic stars are red and yellow while hotter, intensely burning stars are blue and white. Probably just a coincidence and nothing to do with band gaps and photon wavelengths. (You get to decide if you want to bring up band gaps and photons with your age group!)

So everybody knows all the positives have to connect and all the negatives have to connect and they can’t touch. Next step was to design the circuit that would connect the LEDs in their constellation. We passed out red and blue markers and asked everyone to trace their constellation on paper and then mark where their stars are by eyeballing it. This was presented as the puzzle it is: how do you rotate each LED in its place and run a piece of copper between all of them so that they connect without crossing wires? (Or, at least avoid it as much as possible. Everyone learned that electric tape is a very useful insulator if you don’t want two pieces of metal to touch.)









Like I said, I was really impressed with everyone’s problem solving and stick-to-it-edness on this task. Kids even commented that it was fun! I think the imminent danger of things burning along with the puffs of steam and being trusted with a soldering iron made this a really good experience for everyone. If you’re planning on doing this activity yourself, make sure you enforce the rule to put your soldering iron away if you’re not actively melting something. The only injuries I’ve ever seen in teaching people to solder (2 minor burns in hundreds of students) is when you get distracted and forget you’re holding a burn-stick. To accommodate our kid-to-iron ratio, students had to share, and we also made sure everyone knew not to hand the iron to each other — put the iron back in its holder and let the other person pick it up. Take a close look at the pictures of the solder joints, even when tape overlaps tape its important to join them with a dab of solder as the underside of the tape is non-conductive adhesive. Sometimes you can avoid tape altogether if your LED’s leads reach each other.

There were just a few (maybe 3 or 4 out of 15) that had some persistent problems getting illuminated, but even those kids stuck with it. We were lucky enough to have about 3:1 ratio of teacher-helpers and even if they couldn’t find the error right away just helping the student inspect the circuit for problems helped them persevere. Most of the problems were just weak connections somewhere along the line, solved with another dab of solder. I think the hardest to track down problem we had was one where copper tape was stacked above electric tape stacked above the opposite copper tape, and when soldering on top of this sandwich, the copper absorbed enough heat to melt through the insulator in between, but just enough so we didn’t see it until totally disassembling that part of the circuit.

For display, the finished products were taped to black foam core and its wires (jumper cables soldered on after the fact) stuck through to the back. Arduinos were programmed to blink and fade the constellations. When they’re taken home, they could still be illuminated by AAs or button cell batteries.

Here’s a video of the FabLab portion of the camp that includes these constellations.

We ran the workshop at a skillshare at the Museum of Science and Industry, here’s some photos of that by Suzanne Linder!







Some test pieces for interactive fabric


Those are LEDs on DIY circuitboards weaved into a patch of cotton. The hand loom it was made on was laser cut, gifted to me by Walter Gonzales of Fab Lab Lima (Thanks, Walter!). Stainless Steel is used as a warp thread and can provide power to light up the LEDs, controlling each row individually.

The cooler part is that with Arduino, you can write a program that switches these threads from output to input very quickly. This means that each thread can act as a touch sensor (Like the Celestial Celeste) but if touch is detected, electricity can immediately be output down the same thread.

I’ve got a video of plain steel thread acting as a touch sensor (this is the Makey Makey method of using a large pull-up resistor and detecting when the sensor pin becomes grounded via your skin).

Unfortunately, I didn’t use LEDs with built in resistors (like the Adafruit sewable LEDs) so I can’t power them with 5V directly. Long story short, the detection circuit becomes more complicated if I have to use resistors before the output. Another option I’ve yet to try is detecting and powering the LEDs with an Arduino running at 3.3V (like the Adafruit Floras).

10/11/15 Update: Got it blinking with a Flora. Will probably have to mill my own board to integrate the resistors needed to sense touch and power LEDs. Or I could probably solder megaohm resistors to these same LEDs boards and weave them in…


Continued:

https://medium.com/p/9a3c44ac22ae

The Twenty Dollar 3D Scanner and Cloning Cacti

October 19, 2013


With a newfound ability to take digital design and make physical objects, it’s only natural to find a way to go the other direction. 3D Scanning is the technique that closes the gap in the promise of 3D printers being replicator machines. In fact, the ‘Maker Replicator’ has a companion: the $1400 “Makerbot Digitizer.” Essentially, it’s a motorized turntable, two lasers illuminating either side of the object-to-be-digitized, and a camera with a live feed to the fine tuned software that gives you a 3D model ready to print inside of ten minutes.

Makerspace Urbana has a mission of technology proliferation to people of all classes and creeds, and at $1400, the Makerbot Digitizer is another piece of new technology that’s priced out of reach of the general population. So I was very impressed to see James, a fellow member of Makerspace Urbana, playing with a different set of hardware to achieve the same result — a simple handheld laser and an old webcam (specifically a Playstation Eyetoy — talk about repurposing).

This blue laser isn’t something many people would have sitting around, but can be ordered online for about $10 before shipping. It’s 5mw and 405nm wavelength. A simple filter that can be ordered along with it turns the dot into a sharp straight line. However, any old red laser would work as well (though it would require very dim lights, higher power lasers will work much better), and can be converted from a red dot to a red line using a small plastic cylinder, for instance: a lego lightsaber!

So the components for a 3D scanner can be hacked together (perhaps you have a busted cd or bluray player that could have its laser beam harvested) — but how about the software? James had been using the free trial of DAVID3 laser scanning software. It offered a very intuitive scanning workflow, but would only allow you to save one side of the object at a time unless you pony up hundreds of dollars for a license.

This strategy of digitizing an object works by using a calibration pattern that the software recognizes (that’s the piece of paper with dots printed on it) to determine how far away the background is from the camera. When a laser-line is projected across the object, the line takes the shape of the object. The software compares the form-fitting shape of the laser line with the straight line that hits the background, and creates a “point cloud” representing the one side of the object the camera can see.

The Makerbot Digitizer has the turntable wired up to the computer, so it can scan the object while it rotates. But without this integrated turntable, we have to scan the object one side at a time — and manually piece the point clouds together after the fact. The DAVID3 software automatically aligns these point clouds, but saving the result is a privilege of the paid version.

From left to right: aligning two point clouds, the completed 8-sided point cloud and all its associated noise, and the surface reconstruction ready to print.

But no matter, the free and open source “MeshLab” allows you to align point clouds semi-automatically. For each of the 8 angles captured, you have to give MeshLab some hints as to how they line up, and it uses its fancy algorithms to piece the two together. Here is (someone else’s) video tutorial that shows the whole process.

I used that technique to piece together 8 scans of my cactus, and was able to create a ‘watertight’ mesh, a continuous volume without any holes — using a MeshLab filter called “Surface Reconstruction: Poisson.”

The generated mesh is solid, seamless and ready to print. While the general likeness was captured, I’m not so satisfied with the detail. Perhaps using a higher resolution camera would help, but I think most of the detail was lost in the noise resulting from the laser’s light-scatter — a result of the material bending and blurring the laser-line. So whatever laser scanner you use, the detail you capture will be reliant on how sharply the object reflects the laser.

After trying this method out on a few different objects, I came across 123D Catch : a cloud service that generates meshes from photographs. I’ve found it vastly more practical than setting up and calibrating lasers and cameras — even with a couple dozen pictures from my camera phone I can get very detailed meshes, with the photographic data applied to the surface. You can download the results to use how you please (under a non-commercial agreement), but it is a free service by Autodesk that they can pull anytime. Since then I’ve learned to use Agisoft — equally powerful photostitching software, for $60 with education discount. At least it’s something you can own and run on your own computer!

Hacking Music at the People’s Music School

Our attempt at Montessori-style music composition with blocks

With a team of new friends, I got to build a musical instrument that combines LEGOs and Arduino. An ultrasonic distance sensor hangs under a gantry and plays different notes according to the LEGOs underneath it. Our hurried first build was fragile, but pulled off a successful live demo in front of the audience.

(We called it FORTissimo since you could build LEGO forts that make loud noises.)

Thanks to Nora’s suggestion to join the facebook group Hackathon Hackers, I found out about an event I couldn’t pass up: a music/technology hackathon put on by a the People’s Music School (@PeoplesMusicSch ). Only trouble was I was living 300 miles away at a cabin in the woods of Southern IL. Luckily I wasn’t too far from an Amtrak station, and I scheduled a roundtrip on the City of New Orleans inside of the 24 hours I had off work (it seemed that way at the time).


After a few hours of spotty sleep on the train, and a drowsy cab ride to Merchandise Mart, I can’t tell you how refreshing it was to walk off the elevator into a sunlit atrium filled with the sounds of a string quartet. Throughout the day a few students of the music school would set up in one room or another to give a soundtrack to the brainstorming and building. It was awesome.

This was the first hackathon I’d participated in. The way teams were divvied up was a bit awkward: after opening remarks, the audience was asked if anyone had an idea for a team yet — perhaps they were expecting more small groups to show up ready to go, but I think most of the people came as individuals. So instead a few people introduced themselves and said what comes to their mind when they think about tech / music / education. I introduced myself and said I liked to use Arduino to teach music and coding.

In the coffeecake fueled team-forming mingling that came afterward, I was approached by a couple different people who had ideas for software to help people learn music, and I ended up sitting down with a couple of women who had kids studying music — it was a lot of fun to think about what makes practicing difficult for anyone (I had dropped out of music school a few years before partly because I couldn’t quite stomach the 4 hours a day in the practice booth that my professors recommended).

We identified that the repetition of material coupled with the lack of feedback makes sitting in a practice room a pretty dull experience. So we brainstormed ways of automating feedback — perhaps a program could take a recorded example of a teacher playing a passage, and compare a student trying to copy it. I still think a computer could quickly point out wrong notes and wrong timing so that you don’t practice the same passage incorrectly over and over, but we agreed that replacing a music teacher with an app was pretty pie-in-the-sky.

People’s movement from one team to another was pretty fluid, which was great — it meant ideas got around. Having people work around each other openly, brainstorming on white boards makes it pretty easy to join a conversation, and not long after, join a team. After bouncing ideas off a few different people during the morning, I came across a table scattered with LEGOs. Alex and Ania had brought their hack-kit with them and already had some beeps going on while constructing lego towers. Of course I sat down to ask them what they had going on. Alex had seen an Instuctables for an Arduino Distance Sensor with Buzzer and LED before coming to the hackathon and brought his Arduino, distance sensor, and piezo buzzer. After catching me up, he complained that his main concern is that the buzzer wasn’t a loud enough output. I showed him that it was really easy to control the sound from a laptop via Arduino, but he insisted that he doesn’t want the product to be tethered to a computer to work. Luckily (well, I was going to a music-tech hackathon) I had speakers and transistors in my laptop bag and built two simple one-transistor amplifiers to output some simple square wave tones. We rubber-banded the mini breadboard to the top of their gantry. Happy with the improvement, they let me join their team and commence a couple hours of programming and debugging to get each note of a major scale to be triggered by a particular height of LEGOs.

Note the kid in the background who looks jealous that we got to play with LEGO.

The live demo went great, playing a melody up and down a major scale (cleverly avoiding the bug we never worked out when going from the highest tower back down to nothing). Among the rest of the presentations, ours was the only one that was more than theoretical (though there were some web mockups that were pretty impressive for 6 hours of design time). I’d still like to explore software that compares a student practicing to some standard and tells the student what they can do to improve. I’d also like to actually build FORTissimo as a kit. It really would be pretty cheap and versatile. But for now it was just a fun weekend.

Code is at https://github.com/jazzyjackson/FORTissimo/