Sciencemadness Discussion Board

Galinstan liquid metal robots: accessible surface electrochemistry for hobbyists and schools

Harristotle - 19-8-2017 at 01:40

Abstract:
This article explains how to construct a liquid metal actuator that can be programmed by a microcontroller. The demonstration version of this is simply a beating blob of galinstan; however, construction of appropriate polydimethylsiloxane (PDMS) channels and electrodes can be used to make a micropump. When a volume of hydrocarbon oil (eg c10-c15) is added above the "galinstan in sodium hydroxide blob", a pump head can be made that is compatible with a wide range of liquids (data for this is not shown in this publication, but is part of ongoing work in the lab).

Theory: Gallium alloys are liquid at room temperature. The shape of the bead or blob of metal is affected by 3 main forces: Fg, the force of gravity which on its own would pull the bead flat, Fc, the force of attraction between the atoms of metal in the metal bead which makes the bead into a round shape, and Fa, the force of attraction between the bead of metal and the surface on which it sits. Fg and Fa pull the bead flat, while Fc makes it sit up. If you oxidise some of the metal ions in the bead, they will migrate/occur on the surface, and increase the size of Fa, the force that attracts the bead to the surface. When this is done, the bead becomes more flat. If you reduce the Ga3+ ions on the surface, Fa becomes less and the bead rounds up. By programming an Arduino Uno or other microcontroller to make the bead either positively or negatively charged in an electrolytic cell, you make the bead "beat".


Materials required: copper tape, clear bottle with septum (old insulin bottles are good for this if you know any diabetics), gold coated nickel wire (best), or for a short term silver-coated wire (degrades), Arduino Uno, hookup wire and crocodile clips, forceps, Pasteur pipettes, cotton buds, graphite crucible, bunsen or other torch.

Galinstan metal is prepared in a crucible (eg graphite or porcelain) by heating 8.3g of indium metal with 4g of tin, and when molten adding 27.3g of gallium metal.

When cooled, the alloy is stored under 0.1M NaOH. The oxidised Ga, In and Sn ions are soluble in the alkali, and ensure that a bright metal bead of clean metal is present. The presence of the liquid also seems to slow the rate of corrosion, perhaps due to the low solubility of oxygen gas, and consequent lower concentration under water.

A cell is prepared as shown in the diagrams below:

Copper tape is partially peeled back and a piece of cotton or dental floss is tied to the backing tape, so that when the end of the tape is stuck onto the bottle, the remainder of the backing tape can be removed
pic 1.png - 462kB


The flat side of a skewer is used to push the copper tape onto the bottom of the glass. Optionally a shaped piece of copper can be placed over it (for example in the shape of a heart if you want a beating heart design).
pic 2.png - 845kB

The tape must be really pushed hard onto the glass or it will peel off. Use a cotton bud. If your tape is coming off, you may also want to heat the bottle gently under a flame and then push the tape down again. This is not necessary for all brands of tape (one roll of mine works fine, the other doesn't until I did this).
pic 3.png - 456kB

Add a drop or two of galinstan until it wets the copper and beads up. Cover with 0.1M NaOH as electrolyte.
pic 4.png - 428kB

Push the gold-coated (or silver coated if you have none) wire through the septum of the insulin vial so that it is immersed in the NaOH but not near touching the galinstan.


pic 5.png - 587kB


Copy the following code into your Arduino IDE software, attach an Arduino Uno and program it. Attach pin D5 to the copper tape, pin D6 to the wire and watch your "heart" beat !
<pre>
<font color="#7e7e7e">/* Quick and dirty Galinstan "robot":</font><font color="#7e7e7e"> * &nbsp;by Harristotle</font><font color="#7e7e7e"> *</font><font color="#7e7e7e"> * &nbsp;Connect pin 5 to your tape</font><font color="#7e7e7e"> * &nbsp;Connect pin 6 to your wire via a 220 ohm resistor so that</font><font color="#7e7e7e"> * &nbsp;if your cell shorts you don't kill your arduino</font><font color="#7e7e7e"> *</font><font color="#7e7e7e"> * &nbsp;Plug in and watch the bead beat</font><font color="#7e7e7e"> *</font><font color="#7e7e7e"> */</font>

<font color="#00979c">void</font> <font color="#5e6d03">setup</font><font color="#000000">(</font><font color="#000000">;)</font> <font color="#000000">{</font>
&nbsp;<font color="#434f54">// put your setup code here, to run once:</font>
&nbsp;<font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#000000">5</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">;)</font><font color="#000000">;</font>
&nbsp;<font color="#d35400">pinMode</font><font color="#000000">(</font><font color="#000000">6</font><font color="#434f54">,</font> <font color="#00979c">OUTPUT</font><font color="#000000">;)</font><font color="#000000">;</font>
<font color="#000000">}</font>

<font color="#00979c">void</font> <font color="#5e6d03">loop</font><font color="#000000">(</font><font color="#000000">;)</font> <font color="#000000">{</font>
&nbsp;<font color="#434f54">// put your main code here, to run repeatedly:</font>
&nbsp;<font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#000000">5</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">;)</font><font color="#000000">;</font>
&nbsp;<font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#000000">6</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">;)</font><font color="#000000">;</font>
&nbsp;<font color="#d35400">delay</font> <font color="#000000">(</font><font color="#000000">1000</font><font color="#000000">;)</font><font color="#000000">;</font>
&nbsp;<font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#000000">6</font><font color="#434f54">,</font> <font color="#00979c">LOW</font><font color="#000000">;)</font><font color="#000000">;</font>
&nbsp;<font color="#d35400">digitalWrite</font><font color="#000000">(</font><font color="#000000">5</font><font color="#434f54">,</font> <font color="#00979c">HIGH</font><font color="#000000">;)</font><font color="#000000">;</font>
&nbsp;<font color="#d35400">delay</font><font color="#000000">(</font><font color="#000000">1000</font><font color="#000000">;)</font><font color="#000000">;</font>
<font color="#000000">}</font>

</pre>

Cleanup: Galinstan is non-toxic and small amounts may be wrapped in paper and disposed of in the bin. You could also probably eat it, as none of the components are toxic and in fact at least one is used to make food containers (Sn) while the other is sold as a dietary supplement.
Importantly though, gallium and galinstan stain anything. To clean it up take a piece of tissue paper and rub in some sunscreen or skin lotion. Using this to rub the inevitable smears of grey that occur whenever Ga is used will remove them easily. This is the magic trick for working with this substance.
Note: do not allow to come into contact with aluminium, and clean up all spills immediately.


Reference to galinstan pump and video showing the same: https://www.youtube.com/watch?v=TmDgOrNiOpE

Previous version of this project:
https://www.youtube.com/watch?v=4TBBPrjubc8

Disclaimer: No terminator T1000 robots were hurt in the creation of this article.

[Edited on 19-8-2017 by Harristotle]


[Edited on 19-8-2017 by Harristotle]

Melgar - 21-8-2017 at 23:10

Nice! I was wondering where you were going with this idea initially, since it sounded like you were going for T1000 capability, and the surface tension propagates across the surface almost instantly. You're probably aware that you're electrolytically oxidizing the galinstan, but seeing as you have electrodes in it already, reducing it back to metal would be easy enough.

Instead of copper tape, you could probably drip molten indium or tin down the side of the glass, then electroplate it with... I dunno, maybe nickel? You'd have a hard time getting THAT off! Also, I seem to remember copper having a low but significant solubility in galinstan.

The NaOH doesn't slow the corrosion, it actually speeds it up, since it removes the oxide layer as it forms. However, I suspect that O2 may be necessary to form the oxide layer, and putting it under water reduces its exposure to oxygen.

Sulaiman - 22-8-2017 at 01:49

Pure nickel strip is available via eBay very cheaply, used for joining cells into batteries.
(beware of some selling nickel-plated strip)

also,
Strong enough to form into a small pure nickel spatula, if required.

NedsHead - 22-8-2017 at 02:20

I've been burned a couple of times buying "pure nickel strips" on eBay, if anyone knows of reputable eBay sellers selling small quantities of pure nickel let me know please

Melgar - 22-8-2017 at 02:32

Pre-1982 Canadian nickels are always 99.9% nickel. So are pre-2000 Canadian dimes and quarters, and the old French one-franc coins. I think they also have certain protections from import duties, due to them being valid currency.

Harristotle - 22-8-2017 at 05:37

Thanks for the kind comments Melgar,

I don't seem to have lost that much copper from the tape over the last month, so that isn't such a worry to me. The silver wire is more of an issue, but even that hasn't bothered me yet.

I agree with the NaOH loss of oxide layer, it does result in loss. I can redeposit onto the surface by biasing the cell so that the galinstan drop is negative, but that murders the silver electrode.

I really like this approach. Over the decades of my lifetime, I have seen a shrinking in the opportunities for kids to experience chemistry. We never get more experiments, only old favourite ones get banned. This is a way of getting a new one of ole' Basim Shakashiri's "Exocharmic" reactions into high schools. I can live with a bit rough, as long as I can clean up the lab afterwards and get rid of the smears!

Melgar - 22-8-2017 at 06:03

You know what you should try using instead? Gallium/indium eutectic alloy. Three parts gallium, one part indium by mass. No tin. Melting point is 15˚C, so unless the heat is broken in the building, it's liquid at room temperature. I guarantee it's the tin that's responsible for the solubility of silver and copper. Group 13 metals don't tend to alloy well with other metals, but tin certainly does.