Sunday, December 3, 2017


Concrete Hearth


After turning it out of its form, we (father-in-law and a friend and I) flipped the slab over.  The surface was nice and flat, but unfortunately had some surprisingly large air bubbles.  They weren't deep, so I tried grinding them out with a polisher borrowed from another friend.  I was able to reduce them, but it left little dimples which I didn't like.  So I did a skim coat of cement slurry (which is now curing, and can be seen below).  Hopefully i can take off the high spots of that without much trouble, because i was pretty generous.

Duck Hut


The ducks stay up late partying most nights (til around 9pm -- the longer light keeps them laying even as the real days get shorter).  As you can see they're also ready for Christmas:

Robot Arm


The robot arm project has made slow progress -- i connected the lowest/main arm to its motor and belt and pulleys to ensure it would work.  I also gave it a little assist with some rubber bands to reduce strain on the servo.

As you can see it works (first video is fine), but in the second video at lower angles and with weight (two pairs of pliers) the belt slips (even though its super tight and i switched to using a pulley that came with the belt).  I guess i've hit the limit of what you can pull with small timing belts.  I'll need to get some roller chain and sprockets (like on bikes) and try again.


 The same earlier post as the robot arm mentioned a partially finished power converter block.  Here it is finished (with screw terminals [with ATX power connected] and a 3 servos attached to the 7v lines.  Works great.

Monday, November 27, 2017

mac -> arduino -> pi -> perfboard -> regulators -> servos

This is a continuation of the small electronics / microcontroller project mentioned earlier in

But I've shifted gears and instead of a gantry-like ASRS, I was thinking of trying to make a robot arm.


As usual, I will use a lot of what i have on-hand, and so instead of fancy aluminum t-channel structural members, I'll use 2x4s that I'll rip into thin slabs.

I figured it'd need to rotate.  I didn't have any lazy susan bearings, so i stuck some casters on a board.  It could be smoother.
Arms will get mounted to it using pieces of melamine (left over from the concrete casting) 

and bolts (reclaimed from a bench swing that got crushed by a fallen tree).

I made sprockets or gears - we'll see how i use them - with timing belt and plywood cut with a holesaw:

these got glued in various places:


Here an Arduino is connected to several servos.
  • Power for smaller servos (5v) comes from a USB charger cable i cut into.
  • Power for largers servos (7v) comes from the battery i used on the airboat.
  • Power for the arduino comes from the pi via USB (out of picture to the right).

Ultimately, however, i don't want that hodgepodge of power sources, so I'll use another old ATX power supply from a defunct computer (these can supply 12, 5, 3.3, and -12v).  That doesn't give me 7v, so i will use a buck converter to change the 12 to 7 thusly:

Those 3 regulators (small green boxes left of center in the drawing) are less than $2 each - i got a 6-pack from amzn -  and then connected them to some perfboard which i'll eventually connect to the power supply using screw terminals.  Here it is semi-finished:
The board has common all tied together, and separate power for 3 7v servos and 2 5v servos, headers for 5 servo connectors, and single header pins for the control signal (white wire) which will go to the arduino.

 Here's what it'll kind of look like:
you can see

  • the ATX powering the pi (i attached a micro usb to one of the 5v lines)
  • the pi powering the arduino via the blue usb wire
  • the the ATX sending 12v to the breadboard (from a yellow wire connected to a red alligator clip to red wire to the breadboard's rail)
  • the breadboard sending 3 yellow wires to the 3 little regulators (blue lights on) which step it down to 7.25v
  • the regulators connecting to the homemade board for power/control of 5 servos (base rotor, "shoulder", "elbow", "wrist pitch", and "wrist yaw").


At the moment it's pretty trivial.  An unsophisticated arduino program to read basic 2 byte commands from the serial connection and control the servos. (although there are two different types of servo, requiring different pulse widths, so that needed some attention), and an even less sophisticated python program to make sending to the arduino easier.

Code here:

As before, I'm connecting to the pi via ssh over wifi, and recently added a vnc session so i can do the arduino stuff directly on the pi's UI.  The pi remains untethered except to power.


Underwhelming - so far my home-made belts for the sprockets don't work, so although i can turn the servos, I haven't gotten them to actually move the structure.  Rather than nice loop belts, i might be able to directly attach (e.g. via staple or screws or something) the end of a belt to the sprockets -- they don't turn in full rotations anyway, so it's not like i really need a true loop.  Maybe that extra strength will help.

the hearth wants what it wants

(see also )
The Plan:
Initially I'd thought we'd buy a big slab of granite or stone and get it cut to shape for the hearth.

The wife didn't see any she liked, or weren't cost-effective, and so suggested we try pouring a concrete one.

In building the form we decided to rethink the design for aesthetic reasons.  Instead of solid beams on the side going floor to ceiling, we decided the wood structure should sit on top of the hearth.  Unfortunately those sides are the main load-bearing elements of the whole thing, and now i need to cut them out.

I figured if we poured the hearth, it could certainly support the wooden structure above, but I'd need something to hold it up temporarily while we cut out the supports and poured the concrete beneath it.  I removed some cedar and attached a 2x4 spanning the width, and held it up with jack stands on either side.  Then cut away the sides with a reciprocating saw, and poured the concrete so it'd support the structure.  Then we could remove the temporary 2x4.

I built the form out of melamine -- i had to go do a different home despot 5 miles further away.  melamine is heavy and cheap (it's particle board with a plastic coating), but it's nice and flat, easy to cut, and won't stick to much.

Instead of normal concrete, I got mortar since it doesn't have coarse aggregate (i didn't want any showing).  Instead of calculating anything, I just got 6 60 lb bags.

**UPDATE** RE-Redesign
Instead of pouring it in place, I was convinced to pour it separately and then move it into place after it had cured somewhat.  This would allow an upside-down casting which could make the top surface smoother.  We also used rebar instead of a wire mesh.

Here's the form empty and full of mortar:
 the pipe in the middle is for the gas key.

Thursday, November 23, 2017


I built an Airboat with normal RC components -- I'd never done anything with RC before.

The chassis was made from the wooden pieces of my child's broken catapult model.
The rear floats are 1L bottles, the front is another bottle (whose cap was lost, so covered with cling wrap).

The electronics are a 7v NiMH battery powering a speed controller which in turn powers the RC receiver and the motor.  The receiver then controls and powers a servo.

The servo controls a rudder (a pcmcia placeholder card!), the main motor turns a 10" propellor.

Initially i wanted the fan at the back, but I wasn't sure how to make it high enough to avoid hitting the water but still not push the front end of the boat downward.  Eventually i put it on the front of the boat where it was much less of a problem.

The entire thing is held together with tons and tons of hot glue.

The good:
  • I was really surprised at how well the rudder worked.
  • the 7v battery never ran out for at least 20 minutes

The bad:
  • It went much slower than i thought it would.  I guess drag was a big deal, and maybe water is harder to push through than air.  The boat did turn out heavier than i'd thought.
  • the propellor fell off in the middle of the pond and sank, along with the screw-on nose that secures it to the motor.
Ultimately, I was very satisfied with the performance of the components.  I was sorry to lose the propellor, but 7 different kids got a chance to drive it first.  I didn't intend to keep the boat forever (it was more a proof of the RC parts), so i'm pleased.

Wednesday, November 15, 2017

pi prj 1 - update 1

Spent another hour(ish) last night:

Refining the old:

  • screwed the motor to the 2x4 and put a belt on it and an idler pulley.
  • connected the ends of the timing belt with masking tape and wrapped it with some stiff wire -- just like the pros.

Something new: 

  • Added a bump switch to the pi setup (which apparently requires a couple resistors too)
  • Added some code to read the switch and reverse the belt.
  • Put the code (99% of which is taken from the internet) on github.

The idea is that eventually the bump switch will be activated by whatever carriage i have mounted on the belt, so the system will know the limit of the belt's range.  I'd need one on each side.
Premium 2x4, professionally connected belt, and bump switch (middle-ish, on alligator clips) with some additional wiring (2 resistors and 2 jumpers) on the breadboard

Saturday, November 11, 2017

first pi project

Pursuant to my aforementioned automated storage/retrieval project, I'd ordered a bunch of hardware.  I've played with Arduino before, and this time i wanted to try a raspberry pi.

I ordered:
* raspberry pi, model 3b -- $30 for a pretty full-featured computer!
* a microSD card, since the pi needs it.
* a pi "cobbler+" (which lets me easily use the pi's pins on a breadboard and, more importantly, labels them)

I had:
* various power supplies, and a voltage converter/regulator
* breadboard
* wires and jumpers and alligators
* a battery bank (because the pi needs more juice (2+ amps!) than any of my micro USBs supply)


An old ATX computer power supply supplies 12v to a buck converter/regulator that sends 7.3v to the motor driver.
The battery bank supplies 5v at 2A to the pi, which (via the cobbler and breadboard and some jumpers) sends control signals to the motor driver based on a python program i stole from the internet and slightly adapted.
The motor driver sends the stepper a simple instruction on which coils to energize.

the result was the slowest turning motor you have ever seen - like, maybe 2 rpm.  I was underwhelmed.  With some tweaking (using full rather than half steps, reducing the delay between steps) I was able to get it to a roaring 10 rpm -- still far too slow to actually use in a project.

Lessons Learned
I later realized the motors are geared way down, about 64:1.  So they're nice and torquey, but very slow.  I could steal some of that speed back by putting a big gear on it, but i don't have any gears and I'm not sure these are the motors i want to use.  They're definitely good for prototyping and nice and cheap for several, but if i proceed with this project i'll probably go bigger.

The pi needs more juice than i thought.  I intended to use a normal micro usb charger (i have oodles), but the current demands are more than i thought by a long shot.  The battery bank was sort of a hack, i don't want to always drain it while projecting.  I'll need to order a bigger supply for the pi.  I think i probably reduced its demands by disconnecting it from the monitor, keyboard, and mouse and used SSH to get in from my laptop (via the wifi which the pi natively supports -- awesome).

I am not really well set up to do small mechanical things.  I mounted the pulleys on makeshift shafts which i shoved into holes i drilled in a 2x4.  The prototype is not as polished as it could be.  I should get an erector set or something.

The cobbler ribbon cable is easy to connect backward.  Fortunately i didn't break anything - it just happened not to work, so i reversed it.  it should have an indicator or something.

I can actually make a motor turn!

Tuesday, November 7, 2017

robot claw prototype

I've been thinking about building a miniature single-aisle (2d) ASRS, like this:

But simpler, and smaller.  Luckily, DIY CNC and 3d printing is fairly common now and I think i can use a lot of parts from those -- just tipped vertically.

One tricky difference is that instead of a cutting or printing head, I'll need a little grabber claw and I want to minimize the wiring, weight, and complexity -- i was hoping to get away with just one motor rather than something to extend/retract an arm and another thing to pinch/release.

That is: I want something that can reach out, grab something on a shelf, and pull back while holding it.  Then i want to be able to reverse it to put things on the shelf from the claw.

There are a million awesome linkages in the world, but i find them very hard to think about.

I guess the one i hit on accidentally was sort of similar to this, although with different arm lengths.

My high-tech prototype: