A List of Bubble Displays

I’m going to be building a bubble display. So, here is my collection of related work:

  • The Information Percolator ( video ) – 32 tubes, 40mm in diameter. Overall display size 1.4m (wide) by 1.2m (tall). Approximately 25 separate “bubbles” can fit in a 1.2m tall tube. Water was used as the medium. 40mm tubes worked “better” than 20mm or 25mm tubes. Used an aquarium air-stone as the diffuser at the bottom of each tube. Each tube was also connected to all other tubes and a drain so that the water level would be equalized between them, and the water could be drained. Each tube was powered by an aquarium air pump controlled by a solid state relay. Each tube had it’s own check valve (to keep the water from flowing into the pump when turned off) and an airflow adjustment valve (to adjust for variations between different air pumps). Timing of air release is accurate to a few milliseconds, but only 25ms accuracy was needed. Note that the time a particular tube was “off” modifies how much water needs to be expelled from the system before air will flow, so sometimes 50ms is needed to produce a bubble.
  • Bubble Display (video) by Jon Bennett, Sahinaz Safari, and Gouting (Jane) Chang at the University of Waterloo is very well documented. It used glycerin as the medium and non-defused bubbles for a cleaner look and a slower scroll rate. 24 valves spaced 4.7 cm apart with baffles to keep the bubbles separated. They used a high pressure compressor with a regulator to output 12psi air at each valve. They had air pressure “accumulators” to provide a buffer so multiple valves firing at once wouldn’t reduce the pressure too much. They also had a manifold (possibly with valves to modify the air flow to each valve?) A check valve (clippard MCV-1AB) kept the glycerin from flowing back into the system. They eventually selected Parker A005-C23-2P valves that were operated for 10-20 miliseconds “on-times” (50 microsecond timing resolution was required). His suggestion was to use even smaller valves. Overall cost was large, due to the use of “full-price” pneumatic components.
  • The bubble Screen ( Video ) Bubble Screen by Beta Tank – The website was down when I accessed it, so not many details currently available.
  • Matt Bell has been working on a small bubble display and making steady progress improving it. His display uses solenoid operated valves to inject the bubbles, and his improved version uses individual tubes for each column.
  • Update: PipeDream III – I missed this one in my initial roundup, but it was mentioned in the comments of a hack-a-day post. Uses small tubing so that the bubbles don’t “catch up” to previous bubbles and solenoids to add the air.
  • Update: Bulb Bubble Display (video: video ) – I believe this bubble display was completed in 2013 (after mine) and I found it via a post to my bubble displays project video page on YouTube. It uses 64 tubes, with compressed air injection via valves controlled via shift registers. The tubes are part of a “garden partition” or tuftex type plastic wall that is already divided into cavities. I LOVE the idea of using that for the tubes, as it eliminates a lot of the tube construction / allignment issues (although I imagine you still have to seal the bottom well… They used silicon molded on the bottom of the “wall”).
  • If I missed your favorite bubble display, send me a URL linking to some useful information!

Not bubble displays, but related, waterfall displays like this one, this one, or this one are also cool, but run a lot faster, and in the opposite direction.

My thoughts:
Water for a fast rising bubble, glycerin for a slow rising bubble. Air-stones for a diffused look, or a tube for solid bubbles (which look better in glycerin)…overall the choices appear to be an aesthetic one.

Everybody who starts off with a single tank eventually goes to a series of tubes or baffles to keep the bubbles from interacting with each other (drag and drafting effects), unless they space the bubble generators out very far apart.

Carefully controlling the amount of air that is released appears to be the hardest aspect of the project. Aquarium pumps appear to have less control than solenoid operated pneumatic valves.

Common problems were leaks and difficulties sealing tank seams and mounting issues.

The biggest cost appears to be the hardware for each tube that produces the actual bubbles, with pneumatic (solenoid operated air valves) being more expensive than aquarium air pumps. I don’t plan on paying retail for my air pumps or electrically operated valves. Now, if only I could find a surplus supplier of check valves….

Most of these bubble displays were relatively short. Seeing as how you get the vertical axis “for free”, it seems like you should make your bubble display as high as your tank/tube allows. At a minimum, a six-foot height sounds like a good starting point.

Robot Pool Skimmer Propulsion Test

One of my long term projects is to build a robot pool skimmer. It will probably turn out to look even more ghetto than this pool net taped to the front of an RC boat:
Radio Controlled boat with pool net taped to the front

The point of this exercise was to test the thrust of the motors on one of the boats I purchased as a donor hull. It is able to push a normal sized leaf net around the pool (slowly).
RC boat moving in pool
Continue reading

Using Cloudflare to speed up webpage loading speeds

My web host (Dreamhost) has an agreement with Cloudflare, a content delivery network, that allows you to enable the Cloudflare basic service for any of their domains. In mid-April I enabled the Cloudflare service for one of the domains I host with Dreamhost. The chart below from Google Labs’ “page load speed” report clearly indicates that the Cloudflare network helped the speed of loading the web pages. Of course, if you look at the far left of the graph, you can see that Dreamhost on their own was able to provide the same page load speeds without Cloudflare back in January, and the page load-time has been growing slowly since then. It is possible that Dreamhost is using the availability of Cloudflare to offset a higher load on their servers. But all in all, the website is close to the top 20% (which Google labels “fast”), which isn’t bad for a personal web hosting account.


(click the image for a full sized version)

Modifying LED christmas lights to run off of 120 volt DC

christmas lights on the front of a truck.

Normal Christmas lights will run off of a 120 volt DC source just as well as an AC source because they are a resistive load.

LED Christmas lights will also run off of a 120 volt DC power supply (such as the traction pack on my electric pickup), but because they are diodes the polarity of the supply voltage must be correct. With the string I bought, half of the string was oriented one way, and the other half of the string was oriented the opposite way. This results in each LED only being lit 1/2 of the time when powered from an AC line, but if you plug the string of LED’s into a DC source only 1/2 of the string lights up. By reversing the connections at the middle of the string I was able to get the whole string to light up.

Of course, it could be that the LED Christmas tree lights are designed to only operate at a 50% duty cycle, so I may be over-heating them, but I figure that since they are mounted on the front of my truck they should get plenty of air cooling. So far they haven’t died!

Lensmount STL file for Opteka Fisheye Lens & Microvision show-wx laser projector

Nirav Patel has made a 3D model of a lens/projector/globe mounting system for a Microvision show-WX laser projector, a Opteka fisheye lens, and a frosted glass globe for a spherical display system first described here using OpenSCAD. The OpenSCAD file is here. I went through the trouble of installing OpenSCAD and exporting the file as an STL file so that I could print it. If you want to avoid that trouble, you can download it from me here: lens_mount.zip.

Missed Schedule for wordpress posts due to .htaccess password protection blocking wp-cron.php

I recently set up a private blog that is fully password protected using an .htaccess file. (Users have to enter a username and password to view anything on the blog.) Everything was working well until we tried to set up posts scheduled to publish in the future. They would not post. The dashboard would show “Missed Schedule” and we would have to publish them manually.

After lots of head scratching, I finally figured out what was causing this. Apparently wordpress will call the wp-cron.php file every time a user views a page. HOWEVER, because the web server is doing this, and not the user’s browser, if the wp-cron.php file is protected by a .htaccess user authentication system it will not load (because wordpress doesn’t have the correct username/password!). So none of your scheduled actions will take place.

The solution is to allow (only) that file to be loaded without the normal username/password check in your .htaccess file like this:

#Require username and password for all files!
AuthName "Enter your username and password:"
AuthType Basic
AuthUserFile /home/yourdirectory/.htpasswd
Require valid-user

#Exclude the wp-cron.php file!
<files wp-cron.php>
Order Allow,Deny
Allow from all
Satisfy any
</files>

Of course, if your blog is password protected, the wp-cron.php file won’t get hit until somebody logs in to view the blog…but at that point any tasks that are pending will activate.

Spare One Phone – Dead on Arrival – Two Red LEDs

Spare One Phone with both indicator LED's glowing solid red

UPDATE: I called the company twice (once on Monday and again on Tuesday) and on Tuesday after asking a few questions they shipped me a new phone (arrived on Saturday and worked correctly!) and a label to ship back the defective unit. (I also emailed them on Sunday, and received an email reply 8 days later, after already receiving the replacement phone…so I would recommend persistent phone calls (it took a few tries to get to a human instead of voice-mail) over email.

Original post:
I purchased a SpareOne phone, which is a very simple GSM handset that is powered by a single AA battery. It has even less functionality than the Motorola MotoFone F3, as it has no display other than two indicator LEDs, so you can’t send or receive SMS messages. It comes with an Energizer Ultimate Lithium battery which has a 15 year shelf life (if you keep the battery disconnected from the phone with the provided plastic pull strip) and offers “up to” 10 hours of talk time on a single battery. My invoice number was 393, so it looks like I was within the first few hundred orders.

Unfortunately, when I received the phone and pulled the battery guard out, instead of turning on it just lit up both LED’s solid red (which I assume is some type of error code, although it is not mentioned in the small instruction sheet that came with the phone. I have tried a new battery, veracious press combinations of the ON button, and the keylock button, etc, but have gotten none of the feedback beeps demonstrated in the “how to” videos.

I will be calling their support line on Monday to see if they have any advice for how to re-set it, or return it for a replacement.

Book Recommendation: Midnight Never Come by Marie Brennan

Midnight Never Come by Marie Brennan is a work of historical fiction set in the court of Elizabethan England, and the corresponding faerie court below London. If you like historical fiction and fantasy, Marie Brennan has done a good job at both. Her historical research makes the world very detailed, but it’s the characters and plot that make this book truly captivating.

Singer Sewing Machine Base gets a new table top

Cast iron singer sewing machine base holding up a wood table top
My wife purchased a few singer foot petal operated sewing machine bases and we finally finished one of them. The table top is made out of a piece of 18″ x 36″ wood purchased from Lowes that I edged with a piece of rope trim. After lots of sanding to get the edges of the trim and the wood to line up (the trim started off just slightly wider), my wife took over and stained and sealed the table top. After I screwed it to the base she had cleaned up and spray pained, here is the finished result.