Tag Archives: ASCII

Frameworks Week 6

Week 6

I discovered that you can save an audio file as txt format, which then has a single line header (e.g. [ASCII 11025Hz, Channels: 1, Samples: 287448, Flags: 0]) and then one line for each sample with a single value (e.g. 0.00781) on each line.
The numbers must represent both pitch and amplitude.

Here’s an original and with all the numbers sorted

Headers are in uppercase, so changing all characters to upper case left the headers intact while making everything lower case ended up messing them up.

Changing character set on the Sopranos file made it unreadable (even though I left the header intact) while it had almost no effect on the honkytonk file.

OriginalUpper CaseLower CaseAlphabetize LinesSpell-CheckCharacter-set Conversion (to DOS)

My Robot Can Kick Your Robot’s ASCII

Nitinol – Muscle Wire: The Mauling

(sort of like muscle cars, except long and very skinny)

the plan
the implementation
history and information about nitinol

Project: Operation Boris II

We began by going to the Robot Store and getting the kit pictured on the right, which included a book and one meter each of Flexinol™ 050, 100 & 150.
The numbers refer to the diameter of the wire in millimeters (0.05mm, 0.1mm, and 0.15mm).
The book contains a lot of info on nitinol and several instructions for various projects.
The last one looked the most interesting – to build a 6-legged (hexapod) robot, which the book called Boris.

Here is a video of a completed Boris. (676K, QuickTime format)

The authors suggest this symbol for circuit diagrams that include any kind of shape memory alloy.
It suggests both the symbol for resistor, as well as the springy quality of muscle wire.
Sure. Why not?

In the diagram at right, you see the muscle wire symbol.
The diagram shows how power (6 to 9 volts) goes in via the center rod, and activates the wire based on which pins (below) are open or closed.
Legs 1 and 3 share a circuit, as do legs 4 and 6.
A typical walking program might be to activate the front and back legs on one side and the center leg on the other, then do the other three: 1-3-5, then 2-4-6, etc.
This guarantees that the robot always has three feet on the ground at all times, creating a stable tripod.
Walking robots often suffer from balance issues, so multi-legged versions are easier to build.

Here is a picture of what the robot looks like in the book – complete with advertising.

The instructions require:

  • Creating a circuit board containing 29 resistors and transistors. The pattern is very regular, so this should not be difficult.
  • Connecting the board to a parallel port, which would then be controlled by a PC. There is no chip on the Boris design.
  • Running a program written in Basic (not the variant of Basic used with the BX-24) to control the robot. Here is the original code

We considered following all the instructions to the letter, and trying to figure out how to get a Basic program to communicate via the parallel port, but then decided it would be far easier to use the BX, since we know how to work with that already.
Also, the original Boris design requires that the robot be tethered to the PC in order to receive instructions.
Ideally, we would have a robot that carried it’s own power and program.

The schematic below illustrates the original plan, and this would all be replaced by the BX.

Images of the first incarnation of Boris II: top and bottom.
We had to use lots of hot glue, but it still didn’t really work. The wires are too delicate to handle easily, and they cannot be soldered as that would damage them.
In fact, because they flex when heated, they have a tendency to snap off any kind of restraint, whether solder or glue.
Also, to keep the bug light, the plans instructed us to solder nuts to wires in such a way that would be impossible for a human being to do.
We chose to go for robust at the expense of weight and put longer bolts all the way through the body and legs, securing them with nuts.

We also chose to, in the interests of actually getting the thing finished, abandon the idea of using the BX until after we’ve gotten the mechanical parts working.
We also agreed to focus on just making the thing walk forward before worrying about turning and reversing.
There needs to be a sequence of events to make the thing walk: legs 1, 3, and 5 activate while the center part of the body, the thorax, rotates left. Then the reverse.
At this point, we should be able to build a manual controller that switches between the two states.

On Wednesday, a number of 2nd-year students stopped by over the course of the evening to see what we were up to.
When they found out we were trying to use muscle wire to build a robot, we were told to prepare ourselves for ‘a world of pain’.
We didn’t like the sound of that.



We chose to forego the turning and reversal features of the bug and focus on having it just move forward.
We ported the code for that into something more BX-friendly.


One thing about muscle wires is that if you drop a piece, you’re unlikely to find it.
You’re more likely to search on the floor and pick up one of Yan-yan’s hairs, only to hook it up, put voltage to it and see smoke.
Yan-yan’s hairs do not make good actuators.

Another issue is that in every schematic I’ve seen the nitinol does double duty as actuator and current-bearing wire.
The problem here is that they can’t be insulated since the insulation would hinder their contraction and stretching.
So we had to be very careful to not allow the exposed wires to touch any other metal contacts.

Problem #3 has to do with the extrememly specific power requirements of nitinol.
It was easy to get a single wire to contract off of a 9V battery, but trying to power multiple wires did not result in less contraction, it resulted in zilch.
Similarly, after we ran out of 0.1mm wire, we were unable to get any of the 0.05mm or 0.15mm wire to do anything.
I couldn’t tell how much the volatge mattered, but thinner wire can’t tolerate much above 80 milliamps, and thicker wire needs at least 300.
We tried putting 9V batteries in series and again in parallel in order to try higher voltages and currents but got nowhere.
We may have toasted the 050 and not had enough for the 150.
DC motors, those gentle souls, are so adaptive when it come to variability of current and voltage.
But muscle wire is high-strung.

Which leads to p4: since the wire only has about 5% contraction, they must be taut to have any noticeable effect.
Compounding that, they do not spring back when cooled unless a force acts on them to stretch them back to their original length.
So we had to discover an entirely new art form of stringing nitinol wire to be under the precise tension to keep them taut at rest and under tension when flexed, yet not under so much tension that they are unable to perform.
That sounds like a metephor for giving technical presentations.

The bottom line is that this tempered metal is temperamental (tempura-mental?) and although I imagine many future ITP students struggling in the exact same way we did, I don’t think we’ll be playing with it much.



After World War II, the U.S Navy conducted research on alloys.
Given the large amount of salt water to which ships are exposed, they were looking to create electronics on ships that were resistant to corrosion.

Nickel has a melting temperature of 1,453°C and titanium’s melting point is 1,668°C (3,034°F).

So the fabrication of the alloy requires melting the two metals together at the higher temperature.

For comparison, the surface of the Sun is around 5,800°K (~5,500°C, ~10000°F).

The Greeks called the Sun Helios.

The Romans called it Sol.

There’s a guy named Sol in Brooklyn.

He sells fish.

One of the alloys they came up with was a combination of roughly equal amounts of nickel and titanium, which they dubbed nitinol for NIckel TItanium Naval Office Laboratories.

Nitinol is one of a class of alloys called shape-memory alloys in that they return to their original shape after being deformed by bending or heating.

One use of shape memory alloys is in eyeglass frames. If you sit on them, they’ll return to their propoer shape.

Nitinol is interesting to us, however, because of its reaction to changes in temperature.
Normally, metals expand (slightly) when heated and contract (slightly) when cooled.
That’s why jar lids open more easily after running them under hot water.
Nitinol however, shows the reverse property; shrinking when heated.
Once cooled, it can be stretched back to its original length.

Since nitinol has some electrical resistance, simply running a current through it causes it to heat, and thus to shrink.
This mimics the musculature of animals, which require an electrical signal to flex – hence the name ‘muscle wire’.

Mark Tilden was an early advocate of using muscle wire in robotics, specifically those that rely on legs rather than on wheels.

Each manufacturer’s brand of nitinol (Flexinol™ is a common one) is composed of a slightly different mixture (or admixture, if you will) of nickel and titanium.
A common mixture is called 55-nitinol and is composed of 55% nickel and 45% titanium.
Each type shrinks and expands at different temperatures, so you can select a type that actuates in a cold environment, such as on a satellite in outer space, or a warm environment such as the human body.

Penile Code
One use of nitinol as a stent is in penile implants, jokingly referred to as the “Autoboner”.
Best when used with the AMS Sphincter 800™.

If you have the 650 or 700 series, you may want to upgrade.

I wish I were kidding.

More info here

Unfortunately, the percentage of contraction is typically limited to between 4% and 8%, and the wire must cool before it is able to be stretched back into place and then heated and shrunk again.
This means any robot that has its mobility dependent on muscle wire will likely move rather slowly compared to its motor-driven brethren.

Nitinol is not able to convert electricity into motion as well as motors can, but is much lighter than even a small motor and is appropriate for small, light-weight robots.

Many companies now fabricate nitinol for use in robotics and medical devices.
The latter is probably the best venue for nitinol-based robotic devices, such as prosthetics, stents, shunts, or other small valves.
Because it is non-corrosive, nitinol is an appropriate material to use within the human body.





Shape Memory Applications, Inc.

Johnson Matthey


Mondo-Tronics, Inc. – the kit we used in our project. Also offers nitinol-based pistons for sale.

Stiquito – the kit I got and built about a year ago.

Images SI Inc.

General Information

Johnson Matthey

Talking Electronics