Square(ish) Pegs

Laser-Cut Pegs

Often laser cut parts gt attached at 90 degree angles, using finger joints, or screws and t-slots, but there may be times when you want to stack pieces of wood and have them aligned…

Pegs might be the answer!

Here’s a few photos of the pegs I’ve been experimenting with. For these pieces I don’t have a lot of room to have multiple pegs at opposing angles, but I can see where that might be useful. For these pieces the peg is really just for assembly alignment when gluing it all together.

Laser-Cut Pegs

Update on the Never-Ending Printer Project

I installed the Y-axis screw drive in MegaMax using the old NEMA-23 stepper motor.  A couple really good things came from this:

1) I can now adjust the bed leveling screws from the underside of the bed using thumbwheels instead of a screw driver.  I know, I know, everyone else in the world has been able to do this from day 1…

Thumb screw for leveling print bed.   Screw is threaded into teflon block.

Thumb screw for leveling print bed. Screw is threaded into teflon block.










2) Unlike everyone else in the world, with fully supported linear guide rails, the print bed does not move in any direction but along the Y axis.  In the old scheme, with the end-supported round guide rails, the rails would flex and the bed would move up and down when applying pressure to it (sometimes even the screw driver pressure to adjust the bed leveling screws).  Now, if the bed moves at all in the vertical direction it’s because the bed plate (1/4″ aluminum) itself is flexing!

A couple bad things were also discovered:

1) The vibration and noise problem I was hoping to solve has not been solved.  It has been made worse, though the character of the noise is improved to musical tones instead of just harsh buzzing and rattling.

2) Several failed test prints at ever decreasing jerk, acceleration, and speed settings have demonstrated that the old motor simply doesn’t have enough torque to drive the screw reliably at reasonable printing speeds.

Shift occurred in Y-axis due to insufficient motor torque.

Shift occurred in Y-axis due to insufficient motor torque.













Further research into the first problem indicates that the vibration and noise are inherent in using steppers, and worse in MegaMax than in machines that use NEMA-17 motors because of the higher detent torque in the NEMA-23 size motors.  Detent torque is the little bump-bump you feel when you turn the motor shaft by hand.  The solution to the problem is to use a good driver for the motor and a higher voltage power supply.  The little A4988 chips in the Pololu drivers on the RAMPS board are very unintelligent- all they do is provide microstepping.  They work OK for NEMA-17 size motors because of the speeds and low detent torques in those motors.  When used with NEMA-23 motors the driver limitations become apparent – as they have in MegaMax- lots of noise and vibration.

Good stepper drivers are DSP based and automatically sense resonance and damp it electronically.  They use phase controlled sine wave currents to drive the motors smoothly.  Fortunately, DSP stepper drivers for NEMA-23 size motors are pretty cheap.   Here’s video of the DM542a driver pushing a NEMA-23 motor around.  I have ordered a DM542a driver.

The best power supply for stepper drivers is not a switcher, and running steppers from a switching supply will often result in a dead power supply.  I will be building a simple, unregulated transformer, rectifier, and filter cap supply to go with the new driver.

Next came the question of how to determine how much torque is needed to properly drive the Y-axis.  A bit of research took me here: Motor size calculator.  You just select the scheme for which you want to size the motor, enter the appropriate data, and it magically tells you how much torque you need to do the job.  When I ran the numbers on MegaMax, it told me that I need about 350 oz-in of torque (about double the torque of the motor I have).  I did a quick search and found a Chinese made (of course) 425 oz-in motor for $50.  Also on order…

The motor mount I am using is designed for a NEMA-34 size motor with which I use an adapter plate to allow the NEMA-23 motor to fit.  Since I’m buying a new motor anyway, why not just get a NEMA-34 motor?  It turns out that the best stepper for the job is generally the smallest motor that can provide the necessary torque.  A NEMA-34 motor could provide much more torque but the detent torque and rotor inertia would work against smooth and fast operation, and require a bigger power supply.

Back side of MegaMax showing motor mount, adapter plate, flexible coupler, and drive screw  in Y-axis.

Back side of MegaMax showing motor mount, adapter plate, flexible coupler, and drive screw in Y-axis.












The ATmega2560 and RAMPS boards will be replaced by a SmoothieBoard.  It has a much faster processor, much better connections for motors/external drivers, etc.  It currently lacks an easy way to add an LCD controller, so I may have to connect to a computer to start prints up (it has ethernet and a built in web server so it can be accessed from any computer on the network).  When a clean way to add an LCD controller becomes available, I’ll add it.  SmoothieBoard review


Create custom vector maps

I want to document some of my travels in a better manner. After looking around for a few map design inspirations, I came across the following example from a trek across Iceland.


I spent a quite a bit of time over 3-4 days before I found a solution. I was able to create custom maps within Google Maps, Google Earth, and Open Street Maps but they all had issues. I did not like the busy look of all base maps and the Google services don’t export custom maps in a vector format. Open Street Maps can export vector maps but the my requested area was too large.  I tried a few JavaScript libraries as well but they all use the above mentioned services for map tiles and I wanted an independent file on my local machine.

So, I decided to create a map myself. I downloaded the following .SVG map of Scotland from Wikimedia.


Using Inkscape, I deleted other countries, external water bodies, and remote islands. I thought about a unified border color but I ended up really liking the representation of water versus land boundaries.


Looking better already! Now, I did not want to sit down and manually trace my journey. Since this file doesn’t contain any geographical information, my best bet was to somehow get my path in a vector format and manipulate it into the same scale, plane, etc., as map above.

I started by recreating the trip in Google maps engine. The train and bus journeys were easy to plot – it’s just like looking up directions in Google maps. Plotting a hike was a little bit more complex since I did not record my GPS location. I was lucky to find a .KML file from a better prepared hiker through a Google search and imported it into Google maps engine without any issues. I exported the .KML file when I was done.


The file was saved as a zipped .KML (.KMZ ) file so I used Google Earth to save it as a .KML. This is starting to sound like an ad for Google. I swear I am not a shill – Ask Jeeves is a much better search engine, see!


The .KML file was processed into an .SVG using my new best friend, Indie Mapper.


Since I only cared about the lines, I deleted the description and points using the menu on the left. Remember kids, always, and I mean always, read documentation. I spent a whole day scaling, rotating, skewing, bargaining, manipulating nodes, punching walls, trying to match the path output to the map from above. If I had simply read on the Wikimedia page, that the map had a Equirectangular projection and was scaled 170% in the N/S direction, I wouldn’t be writing this at 4AM in the morning. You can change the projection within Indie Mapper. Scaling was easily done in Inkscape later.


Export the file as a .SVG.


Yay! on three everyone yell, Compatible! Compatible! Compatible! Make sure you are alone.

Upon path import, the first step was to scale the height only by 170% to match the map’s relative coordinates. Then, the height and width were scaled proportionally till they “looked right.” I compared the relative location of the path to ocean and lakes (I really should say “Lochs”) in Inkscape versus Google maps so make sure everything looked right. Since I had the right relative dimensions, it only look a couple of minutes and Voila!


I manually colored the hike in green and motorized travel in red. If I decide to laser cut this file, I’ll vector “burn” the border and water bodies on lower power versus the path. I’ll keep playing around with the design and maybe add day hikes as well but I am happy with the results for now!


The never-ending 3D printer project

MegaMax has been and continues to be my main project for the last 2+ years.  I am currently working on some upgrades that will make him more Mega and even more Max.  The Y axis is being converted from belt drive to screw drive and the round guide rails are being replaced with linear guides and bearing blocks.  The X-axis will also get converted to linear guide and bearing block and change from 5mm pitch belt to 2 mm pitch belt drive.  I feel confident saying that once these modifications are complete the flaws/errors in prints will be due primarily to the nature of liquid plastic squirting through a nozzle, not positioning system errors.

I recently updated my web site with a sort of historical look at the project, including all the mistakes I’ve made along the way and the often failed attempts at correcting them.  Here is the page that shows how it all started, how it has ended up, and where it is going.  http://mark.rehorst.com/MegaMax_3D_Printer/index.html

Don’t ask me why I do this-  I have no choice.

MegaMax beginning

From this…






















MegaMax present state...

To this…

Rainbow Lamp

A student from a local university reached out to us earlier this year to create a light based object for a class project. I volunteered to help her and after many iterations, we decided to build a diffused RGB Lamp.

The finger-jointed acrylic body was designed using makercase.com and laser cut.


I used the addressable RGB LED strip from Adafruit, called Neopixels, to provide the lighting effects.  The LED strip was wrapped around a PVC pipe in a spiral so it could provide light on all four (4) sides. The spiral spacing gets tighter near the top to either to vary the lamp density for a cool effect or I got lazy since this was done at 1AM on a Monday morning – I’ll let you decide.


A Teensy 3.1 controls the strip using the Adafruit Neopixel library. Two (2) sets of three (3) rechargable NiMH batteries were used. At full charge, a bank provided 3.82 Volts. While the micro controller was running happily, the LEDs were noticeably dim. While the vellum paper diffused the lights effectively, the distance to the acrylic was relatively small, so brighter LEDs would have decreased the desired gradient effect anyway.


We cut the vinyl logo and border using a Silhouette CAMEO. The final design had to be mirrored since it would be adhered to the inside of the acrylic case using transfer paper. The text on the top did not cut very well so we’ll re-cut that bit with more optimized fonts. After seeing the results, I think I’ll create a lamp for myself as well.



Weekend Project: Wine Rack

Last weekend I made a 60 bottle wine rack from some 1″ pine.  I sized it to fit on a counter top in my basement, under the upper cabinets. I was pretty happy with the design of a somewhat smaller Belgian beer rack I made in the past, so I copied some of its basic style. I really like the strong vertical lines of this design, as it contrasts with the strong horizontals of most wine racks.Wine_Rack_Assembled4

With the compound miter saw and table saw, I transformed three 6′ long pine 1″ x 12″ boards into the necessary 150 pieces! The rack holds 60 bottles, so I cut 120 10″ x 9/16″ x 3/4″ pieces. These are connected to 26 uprights that measure 18.1″ x 3/4″ x 1.5″, which are connected to 4 horizontals that are 52″ x 3/4″ x 1.5″.  Note that a spacing of 3.1″ is sufficient for wine bottles, but 3.35″ is the minimum for most champagne bottles.  The 3.35″ width also holds half bottles and just barely holds 12 oz beer bottles.  Also note that for strength reasons, the 10″ long pieces need to be cut along the grain, not across it.  Here are all the pieces, just before I nailed them together:


It took about 1.5 hours to cut the pieces, and 1.5 hours to assemble them. Note that I used a nail gun and 1″ long, 18 gauge nails for most connections, except the uprights to horizontals, where I used 2″ long nails.  Check out the completed wine rack, made from $25 of wood and nails, in use!


Sense 3D Scanner

STL Tissue Box

Let’s say you want to 3D print a scale model of that box of tissues on your coffee table because you want to commemorate being sick last week. You can do that. We can do that. Yes, Milwaukee Makerspace can now scan 3D objects, thanks to our friends at 3D Systems who sent us this lovely Sense 3D Scanner.

Scan Selection

When you launch the software, it will ask if you want to scan a person, or an object. (I would have scanned a person for the first test, but everyone was sleeping at 6am.)

Scan Selection

If you choose object, it will then ask you what size the object is. I chose ‘Small Object’ for the tissue box.


When the scanner sees the object it will highlight it. You can then click the start button to start scanning. I ended up holding the scanner and my laptop in my hands and walking around the table looking at the screen, trying to keep the object centered.


Here’s our object being scanned. It takes a little bit of practice to walk around with the scanner and laptop. Whenever I’ve seen people get scanned (their heads anyway) they usually sit in a swivel chair and spin while the scanner stays stationary. We may want to try building a turn-table for small objects.

Lost Tracking

If the tracking gets lost, you need to try to realign things… or start over. It doesn’t take very long to do a scan, so starting over isn’t the worst thing in the world.

The Tissue Box Scanned!

Here’s our scan! We now have a 3D model of a tissue box. Exciting!

Cleaning it up

You may need to do a bit of editing. The most important thing is to ‘solidify’ the model. It needs to be ‘water-tight’ or manifold before you can 3D print it. Solidify fills in the holes.

Cleaning it up

You can also erase things. The erase tools lets you draw around things with a red line, which it will then delete.

Enhancing it

There are a few enhancements you can perform if needed… otherwise, it’s time to save it!

Saving it

The files are saved as ‘Polygon File Format’, with a ‘.ply’ extension. Typically I use STL files, so we’ll convert to that next.


MeshLab can easily import a PLY file and export it as an STL.


I like to use Pleasant 3D to view and resize STL models. (It’s Mac OS X only, but there are options for other operating systems.)


After making our model a bit more reasonably sized, it’s ready to print! Who wants a hard plastic tissue to blow their nose with!?

Douglas – Update 3

All previous updates can be found here

As I mentioned last week, the project to build a dynamic scuplture using 480 balls is now called Douglas. What does Douglas stand for, you ask? It is Dynamic Objects Under Gravity Linearly Accelerating in Space. It took 2 minutes to define what the acronym means – perhaps we should have taken longer. Yes, in true Milwaukee Makerspace fashion, we found an acronym first, and then found a definition for it. In addition to this huge accomplishment, we made some other progress too!

Chris sent the slave controller boards pictured below to OSHPark for fabrication. Six (6) boards were ordered as a proof of concept. They should be here by the 30th.




I made a bending jig to get more repeatable acrylic motor mounts pictured in the last update. It’s made out of two 1/2 inch pieces of mdf connected together with a hinge. The two adjustable screws determine the bending angle. Currently, they are set for 90 degrees. But bent acrylic usually “snaps back” as it cools, so it will have to be bent more that the desired final angle. Further experimentation will yield that angle and the adjustable screws will serve as stops for the mdf board. In the picture below, you can see parallel pencil lines indicating depth of the bent “arm” of the mount. The acrylic will butt up again a fence to be placed along one of those lines.





One of the goals of this project is to get kids interested in making by actually building parts of installation. This past Thursday, kids actually cut, stripped, and crimped connectors for RJ11 cables! These four (4) conductor “telephone” cables will be used to communicate between the control boards. I hope to have pictures of this awesome event in the next update.

Awesomeness in the Making – it’s the Holiday Make-A-Thon


Since 2010 Milwaukee Makerspace has partnered with Bucketworks to host a Holiday Make-A-Thon on the Friday following Thanksgiving. What do we do at the Make-A-Thon? We make things of course, but more importantly we make things for the holidays and help children of all ages make holiday items for gifts, decorations or donations.

Typically this event was held at Bucketworks. In 2013 Bucketworks was moving into their new space so the event was held at the Milwaukee Makerspace in Bayview.

The question for 2014 is “where are we going to hold the Holiday Make-A-Thon” or is it Make-A-Thons?

The answer is we can have multiple Make-A-Thons at different locations, hosted by different groups on the same day.

Please join us for the Holiday Make-A-Thon happening at the Milwaukee Makerspace and the Mini Make-A-Thon happening at UberDork Cafe on Friday November 28th, 2014 from 1:00pm to 6:00pm.

This event is competely free and we ask for donations to help cover the cost of materials.

Some of these are tentative and will rely on people to volunteer to make them happen!

  • Decorate a laser-cut ornament
  • Design a laser-cut ornament
  • Learn to solder a tie-pin
  • Design & 3D print a cookie cutter
  • Make a necklace / bracelet
  • Make a rose pin
  • Decorate your own gift wrapping paper
  • Fold a paper diamond ornament
  • Make a woodcut print

Want to bring something delicious to share? Please do!

  • Cookies
  • Pie
  • Leftovers!

Dynamic Sculpture – Update 2

The first update can be found here.

The dynamic sculpture is affectionately called “Douglas” till we come up with a better name. Lance, Chris, and I have been working on different pieces of the project concurrently.

Chris has been designing the slave controller PCB. Each PCB will have a PIC micro controller, which will drive (2) stepper motor through a ULN2803 chip. The PIC controllers will communicate to a  chipKIT™ WiFire over SPI. The WiFire has built in SD Card and WiFi. Since Douglas will be hung in an atrium, this allows us to send new animations wirelessly to a SD Card.

Lance has been working on the PIC firmware and the communication protocol. The firmware interprets the “G-Code” like commands and drives each stepper at the specified acceleration and velocity.

I have been designing the motor mount and frame in Inventor. A few pics below.

mount_1 mount_2 mount_3

The bent acrylic mount will be mounted on aluminum extrusions. The limit switch has been integrated into the mount as well. I built the first prototype a couple of days ago.


Next, I will create a bending jig to replicate the mount accurately. Additionally, we will be doing some measurements to figure out power consumption. Currently, it looks like we will need two dedicated 120V, 20 amps circuits. We would like to do some real world combined power consumption tests to see if we can lower that requirement.