Wedding Axe

One thing I love about wood projects: You occasionally get very aesthetic looking work spaces.

Summary:

This is a 2.25lb, 28in boys axe that Emma and I made/restored for a friends wedding. The handle is American hickory from Whisky River Trading which is held onto the Council Tools head with a purple heart wedge. The over-strike protector is wound leather chord, and the base-plug is made of oak.

This was a fun project, and involved a lot more hand-work then most of pieces I make. In particular, this was my first exposure to chisel work and I found the process of properly sharpening and then using a chisel to be very meditative. I definitely plan to incorporate more hand tools into my woodworking going forward.

The process we followed is outlined below, and overall I am quite pleased with the results. One caviaut, if you are using this page as a reference, is that in some places our methods were quite slow.

Head Restoration:

We started this build with used, and somewhat rusty axe head from council tools. The first order of business was to to remove the rust and pitting. To do this we started out with a 36hr vinegar bath and then moved on to filing, flap-wheel sanding, hand sanding, and cloth-wheel polishing until we had a satin finish. I don’t have access to a belt grinder right now, so the rough sanding and polishing was done with the drill-chuck variants of those tools. On the whole I’d say the process worked well, but it was slow and we did not end up going for a mirror finish. For future restorations I would probably skip the filing (which created very deep scratches that were hard to remove) and start off directly with the rough-grit flap wheels.

The final finish was a 400 grit hand sand followed by a polishing with brown and white compounds. That produced a nice smooth satin finish that hid the remaining deep scratches well. I’d definitely go that route again.











Hanging The Axe:

If there is one part of this process where I feel we miss-stepped, it would be hanging the heft. We started with a pre-shaped handle blank from Whisky River, which we then shaped to match the axe head. The wedge is purple heart, and was carved down to have full contact when inserted, and then glued. We finished at 220 grit and used raw linsead oil as the finish, applied once a day for a week. Overall I feel like the results were good but the methods could use work. Quite a lot of the shaping ended up being done with either a pocket knife or a chisel, and lets just say a spokeshave has been added to my projects list…

Chord Wrap:

Leather chord wrapped over-strike protector.

To make the over-strike protector we used a chord-wrap style common in the paracord community* that uses a loop of material (placed before wrapping begins) to draw the end back up under the wrap. This locks both loose ends under the wrap itself, and creates a structure that holds without adhesives. I have not seen it used for leather, but so far it is working well. The steps involved are outlined below.

  1. Create a loop with one end of the chord and lay it along the handle (should be as long or longer than your intended wrap length.

  2. Begin wrapping tightly from the top, this should lock the loop (and one end) in place.

  3. Once the wrap has reached a desired length, place the lower end through the protruding loop and cut the end to have a few inches of margin.

  4. Pull on the top end to retract the loop (and bottom tail) underneath the wrap. Once the bottom side is securely under the wrap both ends can be cut and tucked away to get them out of sight.

Reference Video: https://www.youtube.com/watch?v=aEZKJduGUW4

*It’s totally a thing, and they do lots of really cool stuff.

Deburring Tools

The 3/8 deburring tool post-assembly.

This is a set of two click-spring style D-Bit de-burring tools for brass. I am overall quite pleased with these two, and certainly plan to make more sizes when my projects justify it. The handle was also pretty painless so I am sure I will be using that pattern for more tool projects in the future.

The heads are made of hardened W1 quenched in water and then tempered at 350F for 2 hours. The support shaft is 17-4, and both handles are made of mahogany with brass ferrules. I 3D printed some head covers so the tools can be stuck in a backpack without poking holes. This page is being written before I’ve really put the heads through their paces, but I’ll post an update below if there are any issues.

The head angle is 88 degrees, and I used the following sharpening progression: Shapton #320, King 1000, King 6000, True Hard Arkansas. The end result is definitely sharp enough for brass, although I do have a suspicion the Arkansas stone may have taken the polish down relative to the King 6000. To polish the cone OD I used a clickspring-style brass emery stick (2000grit), which I found to be a great tool for that task.

Notes:

  • The W1 into water quench caused major distortion on the 1/4in bit. Also definitely use soft iron wire to cage next time.

  • The drill jig produced off-center holes, suggesting a new design (maybe two-point clamping?) would be worth it. Off-center holes were also present on the two commercial handles I tried so this may be an issue with using wood.

  • This might go without saying, but keep an eye on actual ID diameters for pipe. They tend to drift a bit from nominal, and may vary from manufacturer to manufacturer.

Fabrication Photos:

Finished Tools:

Box-All / AideTek / IFAMIO Label Templates

The resistor kit version. You can see how well the labels match the box. I found the labels went on easier with tweezers.

I’ve always wanted a proper 0603 resistor set, and AideTek makes some truly lovely SMD boxes perfect for a 144 piece kit. Unfortunately, they only come with one (proprietary) label sheet, and the associated templates don’t work quite right in OpenOffice. The solution is IFAMIO 0.35x0.5 label sheets (sold in packs of 5880 labels, part number: X002QAN4PL) which are the same size, just oriented orthogonality.

Since I couldn’t find any good templates online, I figured I’d post mine.

Templates:

Printing Notes:

For the HL-L2380DW the printer should be set to landscape mode, with the sticker side facing down. The top left corner of the sheet when face down will be printed as the top left corner of the template.

Brass Menorah

Summary:

The menorah shown here a bit after the start of the first day.

Since my family’s Menorah is still at home in Santa Fe, I decided to make a new one out of brass to use in Chicago. I liked last year’s 3D printed Menorah, but that felt a bit too impermanent, so this year I decided to go with something made out of brass. After poking around on google photos for a bit I settled on a simple 3/4in brass bar with 1in spacing.

The shamash is offset by one space in the drill pattern, and by 100thou vertically to place it on a different plane. The other holes are drilled to a depth of 0.25in and all the holes are drilled to 5/16in* with a light hand chamfer.

I originally used a hand-filed finish on all sides, but switched to scotch-bright since that makes the piece easier to clean up after boiling off any excess wax.

Fabrication Steps:

  1. Hacksaw the stock to rough length.

  2. Hand file the stock to dimension and squareness.

  3. Drill and chamfer the holes.

*This seems to be a pretty standard size, although I did have to do the melted wax trick to get this year’s candles to stay upright.


Filing the stock flat/square:

Drilling and chamfering:

Home Improvement: Rubber Duck Drawer Pulls

Summary:

One of our new “Duck Pulls” next to one of the original drawer pulls for the kitchen.

Emma and I have moved into a new apartment, and that means lots of new projects to make it feel like home! In deference to the fire risk we have decided to leave the kitchen more or less alone, but that doesn’t mean we can’t have a bit of fun. These drawer pulls use standard rubber ducks filled with epoxy, and fit the existing ~M4 screw holes in the cabinets.

Overall this was a pretty painless process, and the ducks are holding up well after a month or two of active use. If that changes I will update this page.

Process:

We first removed the squeaker from each duck, and used a heated steel rod to cut a secondary air hole on/near the bottom of each duck. This helped the air escape when filling.

The threads were cut to length from an 8-32 threaded rod (home depot). All but one of our drawers were the same thickness so most of the ducks are interchangeable. Once cut we then quickly filed one end to clean up the the threads.

With the ducks and threads prepared, we mounted the ducks on their jigs as shown, and filled each one nearly to the top using a dosing syringe. We then placed each threaded rod (with it’s associated jig) onto each duck and cleaned up any excess epoxy resin as needed.

The ducks were then allowed to dry for a day, before being mounted on their drawer or cabinet. To avoid marring the wood (our landlords will presumably want to put the old ones back) we have added an M3 rubber o-ring to the nut side of each door. We are using standard lock-nuts and have had no issues with pullout or unscrewing thusfar.

Getting all our ducks in a row… (post-pour and waiting 24hrs to set, the white printed pieces are the same thickness as our cabinets).

11/28/2022: Overall this process worked well, and I would repeat it for a new custom installation. If we were doing the project again for resale or if we knew we would be moving frequently it might be worth trying to use sealed screw inserts instead.

Installed Photos:

Home Improvement / Hell Lighting: Living Room Lights

Summary:

An LED lighting system for the living room of our new apartment! So far we are about a week in and I’m loving the little bit of extra flair, plus it makes a pretty great night light.

I’ve put up similar systems in a few places, but this is the first setup (excepting the original) that is a complete display with 4 sides, permanent wiring, and support for all the existing patterns. Now that it’s up and running I plan to start writing patterns again, and maybe even roll out a V3 controller if the extra memory / sensors ends up being necessary. I have temporarily scrapped the multi-controller version of the firmware as too complicated for not enough added flexibility.

Our living room is a much smaller space than the Alley of Hell at Caltech, but with double-density LED strips still have 967 LEDs, just a hair under 80% as many as the original system. I like the higher density (60 leds/m instead of 30leds/m), and I particularly like how we were able to run the strip inside the molding. It gives the install a softer, more organic, look and the effect is definitely something I’d aim to duplicate in future systems.

Software Tweaks / Layout:

Unlike the original, this system uses two strips instead of four, and both strips originate in the corner we want to make the top right. To accommodate this we zero’d strips 2 and 3 in the config files, and updated the lengths to match the installed LEDs. We also updated the mappings for the two walls and two end caps to match the new room. I find that the race pattern is great for that process because it so uniquely identifies the four regions.

New Patterns:

We have one new pattern associated with this install “white”, which just displays white across the whole strip. The potentiometer controls the brightness, and it makes a nice night-light for folks who are sleeping over. It also doubles as our “off” pattern when the pot is turned all the way down.

A downside of using two end-powered LED segments (as opposed to 4) is that we see some color aberration towards the end of the strips for bright patterns. Since the strips are the same length the color shift is symmetrical at the interface point (which hides it a bit), but it does mean we have to be careful about patterns like “white” or “rule 101” that generate lots of all-white LEDs. The sparser patterns like “purple”, “trains”, or “morise code” are not impacted.

Stepper Motor Driver V2

Testing the current setting functions. Unsurprisingly, that heatsink is quite important for keeping things cool.

Testing the current setting functions. Unsurprisingly, that heat sink is quite important for keeping things cool.

Summary:

I’m considering using the TMC2208 for a future motion control project, which makes this the perfect time to roll another version of my Stepper Tester board. This version uses the same joystick interface, but features a status LED, more convenient IO placement, and - of course - uses the TMC2208 instead of the DRV8825.

In practice this board has been a success as a test, but less ideal as an actual device. The TMC2208 is a bit short on current capacity for my 3D printer, and the joystick doesn’t provide as much control granularity as one might wish. The TMC2208 is also a bit tougher than the TMC5160A to control without UART. If I end up moving forward with my other project, I’ll plan on using a TMC2209. Still, it works fine at low speeds and the silence is quite nice, so I’ll keep it around in case I need to test any steppers.

Software:

This version uses the same firmware as the last version, but it adds support for a the micro-stepping mode LED, and uses a timer interrupt to generate the stepping signal.

Git Repo (tmc2208 branch): https://github.com/lellasone/stepper_tester

Fabrication:

This project was actually fabricated almost entirely by JLC using their PCB assembly service. This saved a bunch of time messing around with 0603 passives and, more importantly, let me use a compact package for the TMC2208 that I would never have been able to solder by hand. The soldering quality was unimpeachable and I plan to have boards assembled for me whenever possible. At around 30$ for two boards the price is a bit steep, but totally reasonable for the savings in time (and a lot of that was setup and shipping).

The board after assembly and before flux removal. The bridge between C2 and C7 is intentional.

The board after assembly and before flux removal. The bridge between C2 and C7 is intentional.

Recommended Improvements:

I don’t actually expect to make another one of these, but I was wrong about that last time so… (Update: Yep, definitely making another rev, it’ll use the TMC2209 though).

Fixes:

  • Debug points on the key stepper driver lines, as well as the stepper feedback lines, and the joystick lines.

  • Serial output for debug.

  • LED output on the driver fault line.

  • Larger, higher-capacity 5v regulator.

  • Move the step line to a timer 1 pwm pin.

  • Fully connect the UART interface for configuration purposes, even if it’s not used in practice. (TMC2208 default starts in a low-speed mode).

  • Convert the disable jumper to a dip switch.

  • 5v indicator led should be green.

Features:

  • User-configurable current setting (and a readout).

  • Convert the joystick to an encoder.

  • Add a servo output.

  • LED bar graphs for speed and current settings.

  • CAN controller (hey, I can dream).

ME/EE 72: Electronics

The Frog (our amphibious robots) electronics were one of my personal favorite parts of the project. We didn’t get both robots quite set up by the competition itself, but designing the system was a ton of fun. Working with water was a particularly interesting challenge.

At a high level, the system works as follows. Each robot is powered by two batteries, one per side, that are shared between the land and water drive systems. The batteries are connected by relays to distribution boards, allowing the main drive power to be disabled between matches (or to reset the motor drivers). The motor controllers are then controlled by an Arduino nano through a PCA9685.

Note: This project / write up was actually completed several years ago. It’s just taken me a little bit to get around to posting it.

Our prototyping board during first term. Very convenient, but not exactly waterproof…

Our prototyping board during first term. Very convenient, but not exactly waterproof…

Motors and Drivers:

We decided early on that we wanted to use brushless motors for the mobility systems. Partly that was driven by a desire to learn about brushless motors, but mostly we were hoping for a speed advantage.

We selected our motors by first determining the speed we needed each to run at (dictated by the cavitation speed of the props for water, and by our desired top speed for land). Then, once we had a KV rating for each motor type we selected the most powerful model we could find under about 30 dollars. Since this project I’ve learned quite a bit more about brushless motor control and would recommend actually computing the required torque’s/currents, but I will say that that method worked quite well in practice. The motors we selected can be found below. Note that for the water motors, we choose different motors for the second robot based on what was on sale. The land and water motors both performed well (though the water motors were massive overkill) and I plan to re-use these motors when I have similar torque and speed requirements in the future.

Notable Parts:

  • Land Motors: Turnigy G32 600kv motor [Link]

  • Water Motors: Turnigy XK-4074 2000kv [Link]

  • ESCs: Turnigy 70A marine ESC [Link]

On quirk of the ESCs we used is that they require fairly specific inputs on startup, or they will fail to arm. This is common on a lot of hobby ESCs as a way to prevent crashes or injuries on powerup. Our eventual solution to to this problem was to have the arduino reprogram each ESC to our desired settings whenever the power relays were cycled. This was probably slight overkill for normal operations, but was very handy for debugging and I will certainly include similar features on future robots.

The ESC’s we used were nominally water cooled. We designed out first robot to use a tap off the jets for cooling the water ESC’s, and a closed water loop (with a heat sink chamber milled into the rear plate) for the land ESCs. In practice we discovered that no water cooling was needed for our current draws, so we dropped the jet taps and heat-sinking geometry from our second robot.

Ball Handling:

The ball handling electronics ended up being a rush job. Each of the Frogs had a pair of custom made linear actuators driven by a brushed DC motor. We did not have time to develop a driver board, and so instead we selected a Polulu board (model unknown) from a bin in the shop. This worked fine on the bench, both under central control, and when set up to run off a separate receiver, but proved unreliable in the competition when exposed to water.

Waterproofing:

Our electrical systems had two lines of defense against water. First and foremost, all of the core electronics were housed inside sealed waterproof containers. The batteries were also housed in a waterproof 3D printed container, with the distribution boards acting as pass-through bulkheads. This worked well on the whole, although some of our systems required more tuning that was practical day-of. Secondarily, all of the critical components were waterproofed with nail polish on a board level. That was largely unnecessary, but also proved highly effective during testing.

I would, unfortunately, be remiss if I did not note that during the actual competition some of our components were not yet enclosed in waterproof boxes, and failed as a result. In particular, the drive system for the ball handing was external to the main control module, and proved particularly vulnerable to water.

Power supply:

The control module had it’s own internal quad of AAA batteries to power the display, driver, and nano. Those batteries were connected to the main PCB through a normally open reed switch. This let us enable and disable the robot by connecting a magnet to the outside of the control housing. Under normal (no wifi) use the control module batteries had about 12 hours of life. To make it a bit easier to tell when we were getting into the danger zone an ESP8266 with OLED screen was added to provide a voltage readout.

Each side of the robot shared a singe 4s battery and distribution board between the land and water mobility systems. The distribution boards feature a single XT60 input port on their lower (dry) side for power input. The current is then run through an automotive relay and out to the connector’s on the output side of the board. The automotive proved useful, because it allowed us to safe and power cycle the robot remotely without having to worry about plugging or unplugging anything. In addition to the drive systems, our other subsystems (ball handling and the pumps) were distributed between the other two boards wherever made the most sense from a wiring perspective.

For our second robot, we added another set of relays to automatically cycle the pump motors every 10 seconds. This really helped with priming, but was unfortunately not ready in time for the competition.

Control Schematic.PNG

Control and radio:

The RC receiver was housed inside the control cylinder along with the primary micro-controller (an arduino nano) and the power monitoring ESP8266. Command signals from the receiver were processed by the Nano, and then corresponding servo control signals were generated with a PCA9685 and sent out of the interface bulkhead. Several nano pins were also exposed directly through the bulkhead PCB to provide feedback, Serial, and general purpose I/O to the rest of the robot if needed (several of these were re-purposed to run pump priming control on the second robot).

How to use a an Intel Realsense camera as a webcam in linux

The essentials:

Why is there an issue: The Realsense camera uses the YUYV422 pixel format for it’s streams. Unfortunately, zoom does not currently support streams of this format. This is why you see a black square in zoom.

What is the solution: Take the Realsense video stream and re-stream it in YUV420P which zoom does accept.

What configuration is this tested for: Intel Relasense D435, Ubuntu 20.04

The process:

This assumes that you already have the Intel Realsense camera drivers installed and working. You will also need ffmpeg which we will use for re-coding the video stream, and v4l2loopback which we will use to create the virtual video stream. Once you have the required packages, you can begin by creating a dumy video, and then listing all the video streams to identify it’s name (for me this is /dev/video8). You can then use ffplay to find the intel realsense’s rgb stream (for me /dev/video6) and send it to your dummy video. At this point you should be good to go! In practice I use the bash function (copied into .bashrc).

The commands are below, and if you run into any issues feel free to contact me through the “about” page above.

Installation:

sudo apt install ffmpeg

sudo apt install v4l2loopback-dkms

Helpful Commands:

To list video devices:

v4l2-ctl --list-devices

To view a particular video:

ffplay -f v4l2 /dev/[video name]

ffplay -f v4l2 /dev/video1

To create a dummy video:

sudo modprobe v4l2loopback

To clone your real sense onto it:

ffmpeg -hide_banner -f v4l2 -i /dev/[realsense rgb stream] -vf format=yuv420p -f v4l2 /dev/[dummy video stream]

ffmpeg -hide_banner -f v4l2 -i /dev/video6 -vf format=yuv420p -f v4l2 /dev/video8

To play your desktop over a video stream:

ffmpeg -f x11grab -framerate 25 -video_size 1920x1200 -i :1 -f v4l2 /dev/[dummy video stream]

ffmpeg -f x11grab -framerate 25 -video_size 1920x1200 -i :1 -f v4l2 /dev/video8

In practice I use the following commands:

sudo modprobe v4l2loopback

ffmpeg -hide_banner -f v4l2 -i /dev/video6 -vf format=yuv420p -f v4l2 /dev/video8

Bash Function:

function realsense_zoom () {

local target=${1:-'video16'}

local source=${1:-'video6'}

sudo modprobe v4l2loopback video_nr=16

ffmpeg -hide_banner -f v4l2 -i /dev/${source} -vf format=yuv420p -f v4l2 /dev/${target}

}

Source:

This page is essentially all based on a delightful blog post by Roman Soldatow which is linked below. He also has several other very useful commands I don’t use and thus didn’t copy over, so you should definitely check it out.

https://rmsol.de/2020/04/25/v4l2/

Last Updated: 10/30/2021 (improved bash function)

2D Ball Bouncing Simulation

Summary:

My final project for ME314 was a program that used legrangian mechanics to simulate a square ball bouncing on rotating platform. The system also features a cascade controller to keep the platform stable and the ball bouncing near the center of the workspace. The simulation code in python using sympy, and the interface uses tkinter with two helper threads to run the simulation and update the GUI. The cascade controller is composed of three nested PID loops from the simple-pid package which are called each time the simulation updates. The simulation runs in near realtime, with the exception of collisions which generally take several seconds to compute.

Note (Nov 2022): I TA’d this class for Fall 2022, and touched up my final project a bit. Replacing the symbolic solve with a multi-start numerical solve got collision times down to ~0.05s which feels very nearly smooth in use.

Control Structure:

For this project I decided to try out a cascade controller (for structure see below) to set the plate torque. This structure ended up being quite easy to tune, and I would consider using it on a physical project in the future (particularly for a case like this where I want to be able to turn on each layer separately). The three controllers were chosen as follows.

  • The Inner PD controller was selected for greater disturbance (collision) rejection, and has much higher gains / faster feedback then the other two.

  • The middlemost PI controller was selected to handle the case of constant horizontal force “wind”.

  • The outermost controller is theoretically exposed to neither the impact disturbances (which the PD controller handles) nor the wind (which the PI controller handles) and thus works fine as just a P controller.

cascade_extra.JPG

Collision Handling:

Collision detection, which is an inherently ad-hock process, is handled as shown in the figure below. The collision condition is triggered only when a ball corner fully crosses a barrier and enters the impact zone. This setup is allows for very large impact zones (since all the objects are rectangular) which reduces the chances of a corner passing through a wall without the collision being detected. Once a collision is detected, the impact equations are then solved and the relevant update is applied to the previous time step.

impact_diagram.jpg

Tool Chest Island

Summary:

I am starting graduate school in the fall, and find myself in need of some additional counter space to compliment my (somewhat cozy) studio kitchen. Rather than make something from scratch, I took the opportunity to spruce up my fathers old tool chest. This way, I am fully equipped to bake in the lab, or to solder in the kitchen…

Update (12/22/2022): The cart has been in use for a bit over 2 years! I added 3/8in spacers to the wheels (so they could lock without hitting the rim) but other than that it has been perfect.

Improvements:

New Casters:

Since the cart will be used on hardwood, I replaced the original phenolic casters with four locking swivel casters with 5” rubber wheels. These should hopefully be non-marking and the extra two swivel casters will make it much easier to maneuver. On a more basic level switching to ball bearing casters (from plane bearing casters) has made the tool chest positively glide.

The casters were purchased from Service Caster and have product code SCC-TTL20S514-TPRB. I highly recommend calling them if you need casters, their sales rep was very helpful. One quirk of note is that they are a bit short on vertical clearance between the locking mechanism and bolts. I had to switch the lock-washer to the inside of the tool chest to allow free rotation.

Update: These actually do not work if you want to be able to lock the casters in place. To handle that I plan to add 3D printed standoffs.

Fold Out Table:

A 24x18 foldout cutting board provides enough space to seat two people on stools, or to store materials and containers while cooking. The cutting board itself is a standard Winco cutting board, that’s been mounted on a pair of fold-down shelf brackets from amazon. The shelf brackets were then attached to the tool chest with plus-nuts and the entire assembly was tapped/filed into place. The sheet metal has not been re-enforced, but seems to be fine with loads up to about 15lb (on the board edge) at which point it starts to noticeably deform.

Granite Top:

One of my favorite parts of this project is the granite top. It’s marvelous as a baking surface, and really highlights the dual-use nature of the chest. The granite itself was found on Craigslist (along with enough extra to make a desk) and was cut to rough dimension by some very competent folks doing flagstone work at my parent’s house.

The edge were ground to final dimension, and the corners were rounded, on my belt grinder using a 120 grit ceramic belt. The granite plate slots into the toolchest’s top and is held in place by the lips without any adhesives, allowing it to be removed (in theory) If needed.

Knife Strop

DSC03833.JPG

This is a leather knife strop I made out of some sheath leather and a bit of Epay decking material that I got from a friend. The leather was colored with glued to the block with wood glue, colored with “Eco-Fla saddle tan” and then softened with “Dr. Jackson’s wax”. The wood was left unsanded and finished with Howard’s Cutting Board Oil.

Size: 8in x 2.75in

Belt Grinder: Electrical Housings

IMG_20200222_153544611.jpg

The grinder is done! I’ve got some ideas for new things to add and additional tweaks to make, but as far as the core build is concerned everything is finished, running, and ready for use.

The grinder uses a 1.5hp Iron Horse connected to a 6” drive wheel. The motor is controlled using a Kbac 27-D VFD configured with variable speeds, reversing, and a momentary-start switch.

With a custom front plate the KBAC just about fits between the vertical pivot supports. I moved the controls to a separate box, mounted to the front of the grinder. The main VFD box is sealed against grinding dust with a locktite liquid gasket, and all of the cabling passes through water tight glands. The cabling is standard industrial cabling from Mccmaster Carr and is covered in replaceable cable sheaths to protect against abrasion.

The front plate, after brushing but before installation.

The front plate, after brushing but before installation.

VFD:

The variable frequency drive (VFD) which controls the main motor is located between the two vertical pivot arms. To accomplish this I added a horizontal bar on the rear pivot arm, and replaced the front VFD lid with a much thinner custom panel. The horizontal bar was constructed of the same 1/2 by 2 aluminum extrusion that was used for the arm plates, and the front cover was blanked out of spare 1/2 inch aluminum plate using the waterjet.

After blanking, the front plate was machined on the Haas to add the gasket groove, counter bores, and display features. I also removed most of the material from the center of the plate to provide a bit more room for internal wiring (It’s tight, but fine). One particularly fun feature of this part is the display area. I included mounting geometry for the original LED board, and turned some acrylic plugs to pass light from inside the box.

Photos really do not do the control box justice. This is one of the nicest pieces I have ever machined.

Photos really do not do the control box justice. This is one of the nicest pieces I have ever machined.

Control Box:

Mounting the VFD between the grinder legs means there is no way for the user to interact with its normal switches and knobs. This control box allows the speed control, direction control, and start switch to be mounted directly on the front of the grinder where they are easily accessible to the user.

The box is machined out of a single piece of 6061 aluminum, and is mounted to the grinder by four 4-40 screws, which connect to the box’s rear cover plate. The dial design is based on cockpit of a DC10, and the engraved lines have been filled with lacquer to help them pop. All of the controls are sealed against dust, as is the gland that permits the control cable to enter.

The lacquer sticks are a new technology for me, and I was pleasantly surprised by how well it worked. Getting good results took a bit of practice, but was otherwise quite painless. The method I settled on runs as follows. First, use the sticks to cover the engraving in a thick layer of lacquer. Then, use printer paper to remove as much of it as possible, switching paper locations frequently to avoid smearing. Finally, touch up the results with printer paper soaked in IPA.

Belt Grinder: Odds and Ends

87291111_196625371414305_7386700938544676864_n.jpg

Finished the last manual machining part! The grinder is now assembled and operating (albeit with no electronics housings) for testing and debug. This post is a catch-all for the various small grinder components which, although important, do not fit neatly anywhere else. The tracking and tension systems are in this category.

Pretty much all of these parts started out 3D printed for testing purposes. For the spacers and spring holders that worked out pretty well. I suspect those components could have been left as PLA pretty much indefinitely. The tracking adjust and hold-down plate on the other hand broke pretty consistently while fitting up the rest of the grinder.

Components of the tension system. The two pieces on the left are spring guides, and the piece on the right is a pivot block for the hold-down-arm.

Components of the tension system. The two pieces on the left are spring guides, and the piece on the right is a pivot block for the hold-down-arm.

All of the various brass spacers cut to set tracking. (Including one spare used for the electrical control box).

All of the various brass spacers cut to set tracking. (Including one spare used for the electrical control box).

Tracking System:

DSC03820.JPG

The tracking wheel is placed on a pivot, whose set point is adjusted by turning a 1/2-13 knob on the side of the grinder. This very slightly changes the tilt of the tracking wheel, and thus allows the user to move the belt right or left along the grinder platen. This is useful both for tuning in any slight misalignment in the grinder setup (though there seems to be very little) and as a way to get easier access to the belt edge for cutting tight corners.

The wheel itself is mounted to a CNC machined plate, which rotates on bushings about a 1/4 in steel shaft. That shaft is then spaced away from the tension army by a pair of clamps. This setup works well, although if I were to make the grinder again I would likely replace the four clamp pieces with two solid standoff blocks, and replace the 1/2-13 threads with 1/2-20 for finer adjustment.

DSC03820.JPG
87359751_879558565831612_6590286819294707712_n.jpg

Spring Guides:

IMG_20200215_215324747.jpg

The belt tension for the grinder is provided by a spring which pushes up against the tracking arm. It is held on either side by one of two cylindrical spring holders which are connected to their respective bases with 1/4-20 screws. Both parts were turned on a Southbend lathe and then given a light brushed finish with skotchbright. The upper tracking plate was then transferred to the mill in a collet holder so that the flat and threaded hole could be added. A fixed lower spring guide does introduce non-linearity to the force per unit compression, but also greatly simplifies assembly by helping constrain the spring.

Note: This was one set of parts which really could have stayed 3D printed. The plastic versions held up well during testing. With that said, a failure of the tension system mid-grind would have been bad…

Hold-Down Assembly:

87484028_3548053731902725_5560963409630986240_n.jpg

This is an idea I borrowed straight from Reeder Grinders, although it shows up on a number of builds in various forms. To hold the grinder in it’s untensioned position, the hold-down plate can be flipped up with the arm lowered. Then, to release the tension arm, the user simply pushes the arm further down, allowing the hold-down plate to fall aside. This is particularly useful for switching belts, since it means the user does not need to hold down the tension arm while installing or removing a belt. However, the real reason I have this system on the grinder is that it ensures consistent belt tension. Because the arm is always released at a specific height (set by the hold-down block), the spring is always compressed by a consistent amount. Based on the manufacturer recommendations for my belts, and some testing, I have set this force to be 35lbs.

Alignment Spacers:

Spacers for setting the alignment of each wheel. These were turned on a lathe to +5 thou and then sanded to final dimension.

Spacers for setting the alignment of each wheel. These were turned on a lathe to +5 thou and then sanded to final dimension.

Belt Grinder: Flat Grinding Attachment

IMG_20200118_124731762.jpg

Belt Grinder News! I have finished the flat grinding attachment for my belt grinder. I also have a temporary workrest cut, along with two tooling arms for mounting everything to the grinder. This is very exciting, because it means that the grinder can now be tested under power. (It works great so far!)

The flat grinding attachment will be the primary grinding head for the grinder, and I expect it to be of particular use profiling knives, grinding bevels, and cleaning up castings. Although passingly similar in function to the system on my 2x42 grinder, I expect this head to be much more versatile and much more accurate. Notable features include tilting, and the ability to transition between operating in platen mode and slack grinding mode without using any special tools.

IMG_20200124_163650461.jpg

Platen Assembly:

IMG_20200118_114555980.jpg

Glass Platen:

The platen provides a flat surface to grind against, and is important for getting good quality knife bevels. As it is designed now, the platen is made out of ATP-5 tooling plate, which has been milled flat, and is connected to its supports by four 1/4-20 flat head screws. Since aluminum is not very abrasion resistant, the platen is faced with a 2'“ x 8” glass plate, which is connected to the main platen with double sided tape and supported from the bottom by a pair of 4-40 socket head cap screws.

That double sided tape is the only really sketchy part of this grinder to date. I believe it will hold, but plan to run the machine in, and grind carefully to start out. If there are issues I will update this text.

Product: USA knife maker 8x2 glass platen.

Machining the initial surfaces. As you might expect, the surface finish on the overhangs left something to be desired.

Machining the initial surfaces. As you might expect, the surface finish on the overhangs left something to be desired.

Machinist’s jacks did solve the surface finish issues, but I over-tightened them, and introduced a 20 thou warp into the part.

Machinist’s jacks did solve the surface finish issues, but I over-tightened them, and introduced a 20 thou warp into the part.

This I was able to remove by floating the part on “magic stone” plaster, and facing then flipping the part several times.

This I was able to remove by floating the part on “magic stone” plaster, and facing then flipping the part several times.

Platen Supports:

The platen supports attach the platen to the slack grinding assembly. They feature two 1/4-20 tapped holes for attaching to the platen itself, and a 1/2” slot to allow the platen to be retracted away from the belt when not in use. Although fairly simple in terms of design, these parts were particularly interesting to machine because they are only about 1/8in smaller than the stock in two directions. To ensure sufficient tool access, I cut dovetails 1/16th from the bottom of the part, and held the stock in dovetail jaws. This worked very well, and only added about an hour to the machining time, so I would consider doing it again if appropriate.

Platen Pivot:

From left to right: Tooling Arm, 1/8in washer, platen attachment, 1/16in washer, belleville spring, three 0.005in shims, modified shoulder screw.

From left to right: Tooling Arm, 1/8in washer, platen attachment, 1/16in washer, belleville spring, three 0.005in shims, modified shoulder screw.

I put a lot of time (way more than reasonable) into designing the platen pivot. I wanted something that would be stiff enough to prevent any sort of bending, but also low enough friction to allow for easy adjustment. The traditional approach to this problem seems to be a pair of washers tensioned by a bolt. That works okay, but it means that you are at the mercy of your bolt torque for determining the pivot stiffness. What I settled on instead is a shoulder screw, with a pair of high-load Oilite thrust bushings and a 1400lb Belleville Disc Spring. Four 0.005 disk shims are used to set the tension to 950lbs.

The result is a sturdy pivot, which moves easily and is very resistant to moment loads. With the added bonus that its thrust preload is not impacted by the bolt tightening torque. All this is likely overkill for simply practical purposes, but the result does feel simply marvelous to use.

Tooling Arms:

The 14” tooling arm used for supporting the flat grinding attachment. The opposing sides of each arm are symmetrical, allowing for a wide range of mounting styles.

The 14” tooling arm used for supporting the flat grinding attachment. The opposing sides of each arm are symmetrical, allowing for a wide range of mounting styles.

The grinder uses 1.5” tooling arms too support the grinding and table attachments. In general, these are similar to the arms used by KMG and its clones, but with a few custom twists. In particular, the chamfered rear edge allows for slightly more flexibility out of a given size and the screw-down slot prevent marring on the contact surfaces. The two large holes are 1/2-13 and are spaced by 1.5”, while the smaller holes are 1/4-20 and are spaced by 1.5”. The hole spacing is custom, but the setup is similar enough that I should be able to purchase attachments+arms from a wide range of grinders if I should want to in the future. For the moment, I have made a 14” arm for supporting the flat grinding attachment, and an 18” arm for supporting the tool table.

The arms are cut directly from 1.5” aluminum square stock, and finished on the CNC. As with the body, both arms were then lightly scrubbed with scotch-bright to given them a brushed look.

The two types of side:

These sides mounts the grinding attachments and any large tool tables. The feature through-tapped 1/2-13 holes.

These sides mounts the grinding attachments and any large tool tables. The feature through-tapped 1/2-13 holes.

These sides feature 1/4-20 holes for mounting lightweight attachments and my temporary tool rest. The 1/4-20 holes are tapped from both sides to a depth of 3/4”.

These sides feature 1/4-20 holes for mounting lightweight attachments and my temporary tool rest. The 1/4-20 holes are tapped from both sides to a depth of 3/4”.

Machining Process:

Tooling Rest (likely temporary):

IMG_20200124_163357924.jpg

This is a tooling rest for using the grinder in its vertical mode. The design is adapted from a piece of 1/4in aluminum stock I found in the main shop and should be sufficient for freehand beveling and profiling.

The double-sided notch should be useful for profiling the inner corners of knives, and I think the brushed surface should hold up tolerably well, without risking any damage to the items being ground. The one major drawback of the design is not being able to use it when the grinder is horizontal.

This was scrap which I then sawed and filed to shape. As such the fabrication path is not terribly interesting. However, it did provide good filing practice. Pictures of the process can be found below.

Courtyard Ramp

Summary:

This was a quick 6 hour project to build a cart and bike ramp for the courtyard. A courtyard ramp has been on our collective “to do” list for several years now, so I’m pretty excited that we put aside the time to make it happen. Although we don’t meet ADA standards, we do also hope it will be helpful for a member of blacker house who was recently injured and is currently navigating by wheel chair.

The structure itself has three parts. The upper section is a standard dance platform. The central section is one 16ft structure built in the style of a dance platform with one 2x4 every foot. The structure is supported on one side by the stairs, and has one 4x4 support thereafter until it reaches the ground. The vertical supports are bolted in place for strength, and then secured against rotation with a pair of screws.

This was a particularly good intro project for the frosh, because the construction style largely mimicked Blacker “interhouse standard” platforms. We taught workshops on proper use of the chop-saw, drills, drivers, and measuring methods at the start of each build session. Overall about half the frosh class stopped by to help out!

People:

I co-lead this project with the following two fantastic engineers.

Construction Photos:

The ramp about 2 months after installation. We were given new (better) plywood to swap in as these pieces get wet, but so far they are holding up well.

The ramp about 2 months after installation. We were given new (better) plywood to swap in as these pieces get wet, but so far they are holding up well.

Christmas tree: 2019

The tree control app in it’s current form. The default GUI elements in App Creator are a bit plane, but otherwise quite serviceable.

The tree control app in it’s current form. The default GUI elements in App Creator are a bit plane, but otherwise quite serviceable.

This year's Christmas's project involved adding a Bluetooth peripheral and Android app to my tree control box. It was a lot of fun getting back into the rhythm of these projects after several years of traveling holidays, although some of my sophomore era enclosure work might have been better forgotten.

I am really pleased to say that, cringe factor aside, I was largely able to just pick up the hardware and run with it. The RJ11 expansion port was perfect for adding the Bluetooth module, and all of the relays still function. I did swap out the power supply for a 5v unit, which reduce the linear regulator’s operating temperature a bit.

The Bluetooth module is an HC-05 configured to run in slave mode, which acts as a serial pass-through to the UNO. The app was created using MIT app inventor. I found that process to be much easier than I expected, and will certainly use the the website for future builds.

Project Materials:

App [click me]

Arduino [click me]

new operating modes:

(new) Static:

In static mode the user can designate which strips are on or off using the app. This is particularly useful when not all the strips are in use, or as a way to turn the entire tree on or off. It is also a fun feature to play with in real time.

Particular strips can also be designated as “overridden” in which case the strip obeys it's static on or off status even when the system is in other operating modes. (Great for when some strips are decorating things other than the tree)

(Old) Hemiola:

This is largely the same pattern, and code, that ran on the 2016 tree. It has been slightly tweaked to be non-blocking and to respect override requests. The pattern involves two moving dark patches (off relays), one of which switches every other count, and one of which switches every third count.

Ideas for future Jake:

  • Morris code pattern?

  • Timed shutdown/startup?

  • Auto-disconnect?

Wax Stamp Set

This is a stamping and branding kit made for a friend. The two shallow stamps, and short stem are meant for use stamping sealing wax, while the deep stamp and long extender are intended for use branding wood. Included in the gift are two partially finished heads, which will be machined with new designs as requested.

The heads and handle are made out of free-machining brass, and the two stems were cut out of 303 stainless steel rod. All of the parts fit in a 3D printed case, which is held together with an elastic latch.

Fabrication:

The heads, handle, and stems were turned on the lathe, and then the heads were engraved on our Haas TM1. The stems and handle were both cut to dimension on the lathe, while the heads were parted long and then finished to final dimension on the CNC. All of the threads are 1/4-20, and were cut with a tap or die.

The grooves were all cut with the student shop’s 1/8in parting tool, and The engraving was done with 1/32 and 1/16 ballnose endmills. The parts were then finished with 1500 grit sandpaper and lightly buffed.

Files: [CAM/CAD]

Notes for next time:

  • Consider finger grooves for the head holes.

  • The screw/band latch works pretty well, but it would look better with the screws on the ends.

  • It helps to slightly file down the threads after they have been cut.

  • 303 should be threadcut with a sharp die (if available) and without backtracking if possible.

  • Figuring around 30 minutes per part, plus CNC will get you in the right general ballpark for planning purposes.

Finished Project:

DSC03753.JPG
DSC03763.JPG
DSC03768.JPG

Machining Photos:

My old tapping setup. Honestly it worked fine, but moving the tailstock in was time consuming, and introduced a bit of wobble at times.

My old tapping setup. Honestly it worked fine, but moving the tailstock in was time consuming, and introduced a bit of wobble at times.

My new tapping setup. A brass bushing holds the back of the tap wrench straight, while providing about half an inch of travel before the tailstock needs to be advanced.

My new tapping setup. A brass bushing holds the back of the tap wrench straight, while providing about half an inch of travel before the tailstock needs to be advanced.

1500 grit Rhynowet Redline sandpaper. A bit overkill for this purpose, but works well.

1500 grit Rhynowet Redline sandpaper. A bit overkill for this purpose, but works well.

Turns out the stems also make pretty good arbors so long as you don’t take deep cuts.

Turns out the stems also make pretty good arbors so long as you don’t take deep cuts.

Mouse Barbells

Mouse Barbells

Pirate Dots

DSC03710.JPG

Summary:

This is the latest (and most successful) in a string of attempts to create DIY dipping dots. I recently found the patent for Dipping Dot’s trays, so this is an attempt to re-create the same mechanics (same needles, pressures, ect) on a smaller scale.

This project was particularly interesting to design/machine, because everything needs to be food safe. That meant new materials, designs, and finishing requirements.

Results:

On the whole, I thought this attempt went rather well. Getting the LN2 side of things dialed in took some work, but once that was sorted we were able to reliably create 2-3 cups of well formed dipping dots per pitcher of LN2. Overall mess was high, but manageable once we started putting a cup beneath the device when not in use.

The majority of the dots were around 2mm in diameter, and generally formed in clumps of 1-3. This is a bit smaller, and a bit clumpier than I would like, but certainly an improvement on my previous efforts. Overall taste and mouth feel were good (once they’d warmed up), and I think with better LN2 control this method could produce top quality dots.

Process:

The mess: manageable, but certainly non-zero.

The mess: manageable, but certainly non-zero.

The method I arrived on for this round of experiments was holding the device above a plastic pitcher of LN2. Once the pitcher’s supply of LN2 dropped to 3in I would transfer the LN2 and dots to a pot. They dots would then be tapped lightly with a spoon to encourage cluster separation. I served the dots directly out of the pot, and thus did not test storage.

The overall process runs as follows:

  1. Rinse system under sink for 5 minutes.

  2. Produce a batch of ice-cream base, and flavor.

  3. Hold the device above more than 5 inches above a pitcher of LN2, and add fluid.

  4. Move the device in a circular motion, periodically moving the device away from the LN2 so existing dots can drop out of the recirculating LN2 column.

  5. When 3 inches of ln2 remain, poor out the dots into a pot or pan and lightly tap the dots to break up larger clumps.

  6. Wait 3in and serve!

  7. Run vigorously under the sink for 30 minutes, periodically adding dish soap.

Future Work:

The cleaning process. We got better/faster results with more vigorous water input then shown (Bubbles circulating is a good sign).

The cleaning process. We got better/faster results with more vigorous water input then shown (Bubbles circulating is a good sign).

At the moment, I think the biggest area for improvement has to do with LN2 management. A better insulated, or even double-chamber, LN2 container might recirculate less, promoting individual dot formation without collisions. Adding a screen, or deliberate current to pull newly formed dots away from the dot formation area could also help. One screen geometry would be an inverted cone such that dots fall below the screen but cannot be pulled back above it to collide with new dots.

A different, but promising, avenue of development might be pulsed pressure control. By narrowing the needles, and pushing fluid in through the upper cap in spurts we could force the formation of one droplet per fluid/pressure pulse. This method is mentioned in the patent, and could be a good way to promote the formation of larger droplets.

Resources:

Design Elements:

Luer Slip needles: I milled 39 luer slip connections into the bottom of the lower cap. This allows me to remove needles for cleaning, or to change sizes. During testing I found that the composition of the fluid - unsurprisingly - has a big impact on how quickly dots form, and how big the dots end up being. Frozen yogurt might require larger needles, and juice dots will certainly require a smaller one. This was the longest, and fiddliest, part of the build, but definitely worth it for the versatility.

The needle interface was machined as a single contouring operation with a 2 flute 3/16 carbide ballmill. I used a 20 thou step-down, with no roughing pass. This was a long operation, nearly 3.5 hours, but produced a spectacular surface finish.

The needle interface was machined as a single contouring operation with a 2 flute 3/16 carbide ballmill. I used a 20 thou step-down, with no roughing pass. This was a long operation, nearly 3.5 hours, but produced a spectacular surface finish.

All 39 needles arranged in a circle. I used one inch, #17 dispenser tips, which fall right in the middle of the #16-#18 range called out in the dipping dots patent.

All 39 needles arranged in a circle. I used one inch, #17 dispenser tips, which fall right in the middle of the #16-#18 range called out in the dipping dots patent.

Seals:

One of the cool parts of this project was getting to play with seals for the first time. The upper and lower caps both use a #39 Buna-N O-Ring with corresponding standard groove geometry. I was delighted to discover that this worked exactly as specified, and sealed the chamber nicely with no additional features. The groove itself was cut with a woodruff cutter, and I did slightly chamfer the top and bottom of the clear cylinder to ease assembly.

Inner Lid and Clamps:

In the long run I want to try using active pressure variation to generate the dots. For that reason, the chamber is equipped with an inner lid, into which an air - or cream - inlet can be mounted. The cap is designed to use a #32 o-ring seal, in a similar fashion to the #39 seals between the outer lids and chamber wall. The 4 knobs are designed to help retain the cap when under pressure. Put together they provide enough force to counteract about 5psi (well more than needed), and can be disengaged easily by turning them out of the way. This cap was printed, but never fabricated and may be part of later posts.

DSC03709.JPG

Stand and legs:

The chamber sits on a 3D printed ring supported by 3 legs. This works okay, but is one of the design elements I am least happy with. In practice, the legs are a bit too close to fit around most pitchers, and a bit too short to avoid freezing the needles. With that said, the core idea of combining standoffs with mccmaster feet worked well, and I will certainly re-use that for future builds.

Fabrication:

This project had four custom components as follows. All of the rest of the parts were purchased off of mccmaster carr. Delrin, polycarb, or stainless was used for all components in the food path. Buna-N was used for the o-rings. Some of the supporting structure are aluminum.

Custom:

  • Lower Cap - Machined out of Delrin.

  • Upper Cap - Machined out of Delrin.

  • Cylinder - Cut from polycarb and belt sanded to length.

  • Stand ring - Printed from PLA.

Mccmaster Carr:

*For future builds use the hard variant.

Most of the parts laid out for assembly. Missing are the 3d printed components, and the screws that hold the legs on. One nice thing about this project is that their are very few fabricated components. With the exception of the upper and lower caps …

Most of the parts laid out for assembly. Missing are the 3d printed components, and the screws that hold the legs on. One nice thing about this project is that their are very few fabricated components. With the exception of the upper and lower caps all of the core components can be purchased from mccmaster or 3D printed.

The tools used for cutting the upper and lower caps. You may notice some of the tools are designed for aluminum while others are designed for steel, at the feeds and speeds I am using none of the coatings or geometries work particularly better than …

The tools used for cutting the upper and lower caps. You may notice some of the tools are designed for aluminum while others are designed for steel, at the feeds and speeds I am using none of the coatings or geometries work particularly better than the others.

A prototype for the luer slip connections and o-ring grooves. I later took this over to the lathe and added a bore so it could serve as a syringe.

A prototype for the luer slip connections and o-ring grooves. I later took this over to the lathe and added a bore so it could serve as a syringe.

Cutting the OD of the upper cap.

Cutting the OD of the upper cap.

Before using the device for food I ran it under the sink for an hour to clear out all traces of coolant.

Before using the device for food I ran it under the sink for an hour to clear out all traces of coolant.

After using the device I found that heavy recirculating flows like the one shown produced the best scrubbing effect.

After using the device I found that heavy recirculating flows like the one shown produced the best scrubbing effect.

Hammer Head: Delrin

71053137_530078001084283_2652081192190345216_n.jpg

This is a new Delrin head for my machinist’s hammer. My hope is that it will be a nice non-marking way to adjust aluminum and brass pieces. It was cut too the same dimensions as the other two heads and was fabricated in the Caltech Student Shop. Slight chamfers were added not present on the other two heads, but no other finishing work was done.

Dimensions: 7/8 x 1.2, threaded 1/2-13 by 3/4in deep.