Will JavaScript type annotations kill TypeScript?
The creators of Svelte and Turbo 8 both dropped TS recently saying that "it's not worth it".
Yes: If JavaScript gets type annotations then there's no reason for TypeScript to exist.
No: TypeScript remains the best language for structuring large enterprise applications.
TBD: The existing user base and its corpensource owner means that TypeScript isn’t likely to reach EOL without a putting up a fight.
I hope they both die. I mean, if you really need strong types in the browser then you could leverage WASM and use a real programming language.
I don’t know and I don’t care.
Tech Life

Off-The-Shelf Hacker: Helping Hedley Rise to the Occasion

Mar 7th, 2018 10:57am by
Featued image for: Off-The-Shelf Hacker: Helping Hedley Rise to the Occasion

Transporting my latest project, Hedley, the steampunk smart robotic skull, to an event is a challenge. How do you get him to where-ever, without damage? Easily, safely and securely taking my gadgets on the road has taken on a new priority.

Just like every other engineering project, development becomes an exercise in discovery, a bit of trial and error, then trade-offs. At some point, I’ll build a travel box for Hedley. Before that happens all the design elements should be in a stable state. It’s a kind of build-from-the-inside-out approach.

One element I’ve considered for quite a while is raising Hedley dramatically up and out of his box, at the beginning of a show. Naturally, it will be electro-mechanically actuated. It probably makes sense that he’ll lay horizontally when inside the box. I envision opening the lid and Hedley automatically rotating up into a vertical position. Likewise, when closing the lid, Hedley should retract back down into the box.

Today, we’ll look at the details of how this will work.

Fast Prototype It

Hedley is mounted on the top of an 8 1/2-inch-long aluminum and copper arm with a pivot at the bottom. The pivot brackets attach to a base plate that also holds the Raspberry Pi. In the past, I’ve used a fairly stout gear-motor to directly drive the arm from the pivot point to lift the arm. It was pretty heavy, so I thought I might be able to lift the skull with a lighter weight plastic gear-motor that you find in little two-wheeled hobby robots. I had several of those in the parts bin.

Of course, the plastic gear-motor is certainly not able to push Hedley up into position by itself. It just doesn’t generate enough torque.

I’d also been looking for an opportunity to try out using a 3/8-inch threaded rod for linear motion. Six-foot lengths are available at home improvement stores for around $6. I thought if I used a length of rod with a nut I could make a basic power-screw (leadscrew) mechanism that would move the skull up into position. A power-screw gives a mechanical advantage, much like a gear train. Mating the plastic gear-motor to the power-screw could be through a slot cut at the end of the rod.

I started by cutting off a 6-inch piece of rod and smoothing over the ends of the threads with a file. Next, I used two 3/8-inch nuts to clamp the rod vertically in the big vise and made two cuts at the end of the rod, with the saw. The cuts were spaced about 3/16 inches apart with a depth of about 1/4 inch. There was a sliver of metal between the two cuts so I just bent it back and forth until it broke out. It was then a simple matter to widen the slot to fit the gear-motor shaft, using a narrow grinding disk in the Dremel. I also fashioned a ring out of 1/16 inch X 1/4 inch wide brass flat stock to keep the rod centered on the gear motor output shaft.

DIY power screw close-up

The power-screw nut was anchored to the arm 2 1/2 inches above the pivot point with a simple L-bracket made from a piece of flattened-out 1/2-inch copper pipe. Yes, I know, I make everything out of brass and copper. It’s keeping with my steampunk gadget theme. You can also easily solder copper and brass, so that’s another plus over using steel for fabricated parts.

First, cut at the power-screw mechanism

I tested the gear-motor/power-screw assembly by holding the gear motor at an angle against the base and applying power from a 6-volt, 700 mA wall wart.

Up He Goes

My scheme to push Hedley up with a little plastic gear-motor worked. The motor turned the power-screw at about 30 RPMs and it took about 15 seconds for Hedley to move from the horizontal to vertical.

While this sounds good, I should point out that the motor was straining pretty hard during the test. Another issue is that the connection between the slotted rod and the gear-motor shaft was pretty wobbly.

We also need to consider that I plan to drive the gear-motor through a small motor controller from Radio Shack, also from the spare parts bin. The dual H-bridge controller can handle about 6-12 volts at 800 mA. It uses pulse-width modulation (PWM) to allow forward and reverse motor movement and speed control from an Arduino or Raspberry Pi PWM output pin.

From past experience I know there is a little bit of power loss, going through the motor controller. I didn’t have time before deadline to test the motor controller and gear-motor together.

I don’t think the combination will be able to lift Hedley upright, particularly when I add in the weight of the JeVois camera, skull lid and back plates and servos for the jaw and pan-tilt left LED eyeball. That’s even with the power-screw.

Don’t worry, I have a plan.

What To Do?

Have you ever been under a drawbridge when it goes up?

It’s a pretty cool mechanism. The roadway is cantilevered out from the pivot point, with a large concrete weight on the other side. The whole thing is very finely balanced and has a large half-moon shaped gear that mates to an insanely small electric motor. For a 50-foot span, I’d be surprised if the motor was over 30 horsepower. Check out this quick YouTube video to see a cantilever drawbridge in operation.

I plan to use the same idea with Hedley, although I’ll be pushing the arm up with a power-screw instead of a set of gears. What I want to do is move the arm pivot point to about three inches above the current position and then hang a weight on the end of the arm opposite the skull, to balance it out. If I get the balance right, it shouldn’t take very much power to move the skull up and down using this mechanism.

I could even jettison the heavy counterweight so Hedley is still easily portable. The counterweight could be a thin container that I just fill up with water once I get to the venue. Of course, it could be decorative brass and removable for easy filling and emptying. Using water also lets me adjust the counterweight as I add/subtract parts to the skull. It’s still a functional prototype and flexibility can be built-in with some forethought.

Next Steps

I’ll report back soon on changing the pivot and re-configuring the gear-motor, power-screw, motor controller combination to work with the new arm setup. I’m going to rework the power-screw slot to gear-motor shaft connection a bit, too.

Physical computing stack projects, like Hedley, are definitely challenging and a lot of fun at the same time.

With all the talk of artificial intelligence (AI) replacing people in jobs, I think algorithms have a long way to go before they can even hope to replace the artistry and craft of creating projects that incorporate mechanisms, motors, sensors, microcontrollers, software, firmware, networking and so on.

It will be quite a while before robots learn to build robots.

In the meantime, I’ll take Hedley around to inspire, educate and entertain audiences on physical computing. AI won’t easily be able to do that gig either.

Group Created with Sketch.
THE NEW STACK UPDATE A newsletter digest of the week’s most important stories & analyses.