Categories
Uncategorized

Lazzor the Snowflakes!

Snowflake Designers

For the Holiday Make-A-Thon at Milwaukee Makerspace we came up with the idea of using Snowflake 2.0 so people could design their own snowflake ornament that we would then laser cut for them.

We had two computers running and instructed people how to use the app. We had to make sure people didn’t overlap the lines, as each line would be seen by the laser cutter as a place to cut, and people would end up with a pile of little wood pieces instead of a snowflake. We also found a bug where you could drag a node off the screen and then not be able to reach it to drag it back. Besides those little issues, the app was great, and lots of makers had interest in download it and playing with it.

Oh, Lance did all the laser cutting, and he was kind enough to add the person’s name, along with “Christmas 2013” to the back of each ornament, and a hole to hang them. Since it was a minimal amount of etching, and then just two vector cuts, things went pretty fast, which is good, because I think we made over 80 snowflakes!

Here’s a few of the designs people came up with during the event.

Snowflake

Snowflake

Snowflake

Snowflake

Snowflake

Snowflake

Snowflake

I’m tempted to dig into the code a bit and see if I can tweak things with Snowflake 2.0. Not surprising, but it’s been a year since I played around with snowflakes.

Categories
Uncategorized

Printing Plates v2.0

My last attempt at printmaking didn’t turn out as well as I had hoped it would, so I figured it was time to try again. And actually, the main reason I wanted to try again is because I saw the work of Jenie Gao at Milwaukee MakerFest, and after I took over her table so she could take a break, I asked her a few questions about printmaking, and the most important thing I learned is that I should seal the wood. With that small bit of advice, I was ready to try again…

Laser cutting the plate

Rather than do the same thing I did last time, I decided to start fresh. I once again used the laser cutter, but this time I didn’t want to use a raster etch, but instead opted for a vector cut to create the plate. (A raster etch works quite well of course, as Bret recently demonstrated, but they are time consuming, and tie up the laser for a long time. Vector cuts are much faster.)

Sanding the plate

Once I had my pieces cut from 3mm Baltic Birch, I used the piece of wood I cut them from as a guide to glue them down. After the glue dried I sanded it to make the surface nice and smooth. I’m not sure I needed to do this, but sanding always feels like the right thing to do in these situations.

Sealing the plate

I then coated the piece with polyurethane, sanded it down a bit, and repeated that process two more times. (I’m just doing what is recommended on the can. I don’t know if multiple coats are really needed, but it can’t hurt, right?) I let the whole thing dry for at least 24 hours.

Inking the plate

Ready to print! I inked up the plate and slapped down some paper, did a bit of rubbing, and I actually got a decent looking print! One thing I should do next time is create a larger backing piece, as it was hard to hold the plate in place while inking it, and I got a good amount of ink on my fingers and the table. (And yes, that is a mirror I am rolling the ink on. It’s from a 3D printing experiment long ago.)

MKE Print

The final print. There’s a few spots that could use more ink, but as I wasn’t doing a large run, I didn’t use a lot of ink. I also printed on crappy paper and it turned out good. (Supposedly the suggestion of using ‘Rives BFK’ can be ignored. Regular drawing paper can be used instead.)

Ultimately, my plan is to sort of merge the concept of printmaking with letterpress to make a weird combination of the two… but, you know, using a laser cutter and cheap Baltic Birch plywood.

Categories
Uncategorized

Anodizing things…

Bracelets

I took an Anodizing Aluminum Workshop at Milwaukee Makerspace last week, taught by “The Master”, Frankie Flood.

You can see the lovely(?) bracelets I made. OK, they were my first attempts at ever making bracelets, so I don’t know that I would call them “lovely” but I definitely learned a lot about working with metal and the anodizing and dying process.

Temporary Red Sign

Speaking of dying metal, I brought in my own piece of aluminum which I wanted to sandblast and we figured we’d give it the anodizing and dying treatment. It came out a beautiful red color, and yes, I mean beautiful! And then…

Metal Sign

I took the piece home to seal it, as it would not fit in the sealing bath we had at the space, and I tried to boil it, but… all the red came off! It may been because I used tap water, and/or because I didn’t get the water fully boiling before putting the piece in. There are a few reddish stains, but it’s definitely not red anymore.

Not a huge deal… While the sign did look great, it’s all a learning process. I’ll just make another one. That’s the beauty of making things. You learn how to do something, and it becomes a repeatable process, with the ability to refine and improve it each time.

Categories
Uncategorized

Milwaukee Makerspace Beer Stein

Glass

I’ve been using the sandblaster at Milwaukee Makerspace quite a bit lately, and I figured that I needed to push the limits of what is etchable by sticking vinyl on glass.

DRINK

I started with the word DRINK in Inkscape as text. I wanted something big and bold, so there would be a lot of etched area.

Paths

When exporting any text it’s a good idea to convert the text to art, or outlines. This changes it from editable text to vector artwork consisting of lines. Once this is done, you cannot edit the text anymore. Often I’ll save my original file with text, then make a duplicate I can convert to outlines.

Logo

I then grabbed one of the new logos Mike has been working on. There was some stitching lines inside of the shape, but testing indicated that the Silhouette did not cut it very well at the size I was using. (I should try various sizes, and perhaps a new blade.)

I exported both pieces of art as DXF files, like I usually do.

DXF Files

If I ever need to quickly check my DXF files I use Solidworks eDrawings. Typically I don’t need it, but it’s handy for troubleshooting.

Cutting

Once I have good DXF files I load those into the Silhouette Studio software for cutting, like I usually do.

After the vinyl is cut, I use transfer paper to attach the vinyl to the glass, and then mask off the rest of the glass to protect it in the sandblaster. (Oops! Photo not available!)

Sandblaster

Sandblaster… here we come!

Logo etched

The logo turned out well…

DRINK etched

…as did the “DRINK”.

Drinking Glass

A fine looking glass!

Etched logo

Close-up of the etch. Looks good!

Combining the vinyl cutter with the sandblaster can produce some great results! It’s a pretty simple process, really. I’ve had a few members ask me about this so I may end up doing a demo or a short class showing how it’s all done.

Disclaimer: You should never drink alcohol while operating power tools. Also worth noting is the only beer I really care for is root beer. I got this mug from the dollar store for… one dollar! I just wanted to see how it would look etched.

Categories
Uncategorized

Sir Like-A-Lot

Sir Like-A-Lot

My latest project was sort of a failure, but I’m going to post about it anyway, because such things are important.

For a recent event I wanted to create a unique way for people to LIKE something, and get a reward for it, so I grabbed a Raspberry Pi and got to work. The idea was pretty simple, a full screen display showing the number of Facebook likes, with the URL for people to visit the page (on their mobile devices) and like it. The display would then update in “near” real-time (Well, every 10 seconds) and there would also be a surprise…

Step #1 is always configuring the Raspberry Pi. I installed Raspbian, had it set to boot to the desktop, and installed the packages I needed, mainly Apache and Chromium, since I’d be using a local web server and web browser for the display.

Getting the Raspberry Pi to work as a kiosk display was next. I didn’t want any menus or OS parts showing, so I used Chromium running in kiosk mode. My /etc/xdg/lxsession/LXDE/autostart file looked like this:

# config to launch Chromium in kiosk mode and load our application
@xset s off
@xset -dpms
@xset s noblank
@chromium --kiosk --incognito http://127.0.0.1/likealot/

We got rid of the part that lets a screensaver run, and added in the bits to fire up Chromium in full-screen kiosk mode. (Oh, one note about Kiosk mode, it does not hide the mouse pointer, but we’ll deal with that later.)

LIKES

The results on the screen looked like this. Full screen, no browser or OS bits showing. I like this solution as it can be used for pretty much anything you can code up as a web page.

The display is set to refresh every 10 seconds, so it’s pretty up-to-date, and you’re really only limited by what you can display in a browser (Chromium) running on Linux (on a Raspberry Pi, in this case.)

As for the code, it’s less than 50 lines of Perl running as a CGI, and about a dozen lines of HTML in an HTML::Template file. There’s also a little CSS and an image.

Speaking of the CSS, it was the solution to hiding the mouse pointer for Chromium running in kiosk mode. I just added this bit:

/*
 * using CSS to hide the pointer
 */
* { cursor: none !important }

For an informational kiosk you just want people to look at and not have to interact with using a mouse or keyboard, this solution works well.

JSON

You might be saying “Hey! How do you get the number of likes!?” Well, you just ask JSON, or http://graph.facebook.com/?ids=z2marketing to be more precise. Facebook Graph API data holds the key, you just need the value.

Oh, there was one more really fun bit! When someone liked the page and the page refreshed and the number increased, you’d hear applause!

The original idea was to just have the CGI do a system call to play the file using aplay. That did not work. I also tried mpg321 and that didn’t work. In the end I went the other way around and added… another Perl script! There’s a cron job that runs on startup, which launches a Perl script, which loops forever and looks at the counter file that the CGI uses. Every time the counter file changes (due to the CGI updating the number) the Perl script uses aplay to play the applause file.

The end result is pretty good. A person sees the display, goes to Facebook, likes the page, and within 10 seconds the display updates and you hear some applause!

I planned on making a sign or adding some text to entice people take action and get a “reward”. And of course the URL isn’t as helpful on a mobile device where you probably use an app instead of a browser, but this is all a good start.

Now, I mentioned a failure, so I should explain that part. For anything like this, where it needs to run for hours reliably and not just be a quick technology demo, you need some burn-in time. I had this running for a week with no issue. The first issue that came up was, what to do if you lose the Internet connection. (Hey, we use Time Warner, it happens!) You really don’t want to see a default Apache 500 error page, so the error page looked just like the main page, but with a message that said ‘Please stand by…”. That 500 page was set to redirect to the main page after 10 seconds, which would deal with occasional Internet or network outage situations. Since we were also using a WiFi connection with the Raspberry Pi, there’s always the chance of losing the WiFi connection. This didn’t seem to happen much, but it’s something you may need to deal with.

I also set Apache to not do any logging, as there’s really nothing valuable gained from logging after you’ve got everything running. It also helps to write less data to the SD card that holds the system because… corruption.

Oh yes, corruption! Every now and then I would reboot the system to make sure it would start up properly. It almost always did. Except when it didn’t. Once the Pi booted and there was a warning that the file system needed repair, so I repaired it, and all seemed well. I tested again for another week, and things seemed good. But then…

The day of the event, I had to move the system into place, and when I did that, and started it up, Linux would not boot. Even after 13 years I am still not enough of a Linux expert to fix every problem it throws at me, and I was stuck, and had a dozen other things to do, so it was dead.

I did the dozen other things and then ended up reinstalling Raspbian and trying to quickly reconfigure it, and get all my files in place, and got everything working except the audio… and the WiFi. There are a few tricks to getting audio working properly on the Raspberry Pi. I eventually got it working, but it was too late to deploy it. Oh well…

So next time, I will have a BACKUP SD card ready to put in place when the first one destroys itself. Or maybe I’ll just build two complete Raspberry Pi systems. Backups are good. Backups are good. Backups are good.

But don’t worry, I’ll take all the successful bits of this project and re-implement it in some other way in the future.