Monday, October 4, 2021

Ghost writing Halloween Project using Ultrasonic Phased Array

Special thanks to UPNALab ( for providing all the tools necessary to build this Halloween project. Much of the heavy lifting was done by their work.


I've wanted to make a halloween project for a while now.  The neighborhood kids always get a kick out of the decorations we put out.  When I came across the SonicSurface project I knew I could retask it to create something scary for the local kids.  

My current intention is to conceal one 256 transducer array above a dusty surface and remotely trigger (or via simple motion sensor) "Spirit" writing on the surface.  I want to make the surface obvious that nothing is concealed within, so the kids can actually touch the dust too... Resetting the dust (baking soda?) would have a bin of baking soda and a servo with compressed air to "redistribute" between groups of kids. 


Build and Prototyping:

So first I went through the SonicSurface build instructions.  Their write up is an excellent read and has many useful details.  

Here is one of the completed arrays.  I had a couple issues with the driver ICs on the reflow front, but managed to fix them with a hot air gun. 

I designed and laser cut a temporary frame to test the two arrays.  I used the default spacing of 0.243 meters (found in the source code somewhere in the github of upnalab. Testing went well, and luckily I didn't have to calibrate any of the transducers.  

I placed a piece of wood and black paper on the bottom, disabled the lower array and spread baking soda over the surface.  I then recorded an "animation" in the ultraino software and played it back with the top array activated. 

It traced out a "scary" star.  

Now that I have the proof of concept working I plan on putting two arrays side by side, and incorporating the ESP32 controller that UPNALABs developed for sending remote sequences.

I also need to design something spooky to hold all of this and make it look like a spirit is authentically tracing its finger to spell messages.  


I decided to go with a "ornate" box suspended above a table.  I'm using a makita battery adapter (paid link) as I have alot of Makita tools .  I then have the 5V converter t(paid link) hat can take 8 to 35 volts input to power the FPGA.  I happened to have a Grove time of flight sensor (paid link) (to the left of the ESP32(paid link) ) that I'm incorporating to make it easy to suspend above any surface without having to specify the Z height to the algorithm that generated the pressure point. 

I'm going to laser cut veneers to glue over the outside of this, but gave a try at a portrait of the "spirit" and skeleton hands on the underlying part.  I had some other scary ideas, but the kids in the neighborhood can be pretty young and don't want to traumatize anyone :) Too much.  The laser settings were off for the image and need some tweaking.  The makita battery is a little taller then i realized, I may also tweak the veneer to cover this better.  

I used 1/4" baltic birch(paid link) ; this should be very sturdy.  

Glue dried and was able to mount the components.  Currently lasering the 1/8" "veneers" with the ghostly face etc.. Will post once complete.

Next step will be to code the ESP32 web server to provide a canvas I can trace and save animations on.  The ESP32 will then read the distance from the time of flight sensor for the constant Z distance, and play the animations x y components via the setfocalpoint calls.  

I'm debating a gesture based activation for the kids to use with the TOF sensor, or if I'll just kick of random animations on my phone via the ESP32 web server.  

I have most of the enclosure done with veneers put on.  I may change these as ideas come in.  The ESP32 server isn't working yet for points on a surface, so I still have the PC sending the animation. I may just export the hex data from the animation and use that as preset animations on the ESP32 if I cant figure out their algorithms.

Had some issues suspending it above the desk using a skeleton arm... So I just added legs to this version. Currently designing the veneers for it to make it look a little better. The time of flight sensor is now used to initiate one of the animations loaded into the ESP32. It will then cycle through. Now for looking into a good way to "dust" the surface.

Considering Sunday is Halloween I'm going to declare this project finished for this year. Next year I'm thinking of using two in a sandwich to make a ghost float around a graveyard in a scary diorama.


  1. Good work on managing to use these for something other than levitation :D

  2. Hi Dan, this is amazing! I am currently looking into building one myself but I am not too sure how to purchase the PCB (along with the stencil). I have read through the instructions on Instructables, but I am still unclear. If you could please shed light on it that would be amazing! Thanks!

    1. I used seeedstudio pcb service with stencil service too. The price was pretty fair, it just took a couple weeks for shipping. I don't know how good you are with surface mount soldering, but I had several solder blobs between pins and had to use a microscope at work to find and clear them. But once it was done it works great. When you do a build come back here and post a link to your blog or photos, would love to see them.

    2. Hi there Dan, I have finally built the whole set up to the specification of the Instructables! Right now, I am trying to get some tactile function implemented. I was wondering if you might potentially have any insights in terms of how to achieve this? Thank you!!

  3. oil press equipment
    Rapeseed oil press is a relatively popular model, so there are many rapeseed oil presses with the same appearance in the oil press industry, which makes it more difficult for users to choose.

  4. Naturehydro is a professional hydroponic nft system & hydroponic equipment supplier.Aims help you setting up indoor & outdoor farming system.

  5. hydroponic nft channel for sale,Naturehydro will provides you professional service and high quality products.

  6. Naturehydro is a professional hydroponic farming & hydroponic equipment supplier.Aims help you setting up indoor & outdoor farming system.

  7. Naturehydro is a professional hydroponic dutch buckets & hydroponic equipment supplier.Aims help you setting up indoor & outdoor farming system.

  8. Thump provides plant grow table to help planters set up cannabis grow system.To increase the yield of cannabis cultivation.

  9. I built one of these too but in retrospect I prefer your frame. Could you please publish your laser cut design files.

  10. Hi I was looking to make this myself and was wondering where you bought the pcb board, and the stencil if it was used. Thanks!

    1. I used RUSH PCB. They provided the boards and stencil. I actually have two unpopulated boards and stencil collecting dust in my basement. If you pay shipping I can send to you.

  11. This comment has been removed by the author.

  12. Hi Dan,
    This project is really impressive.
    Now, I got some several questions about this project, can you tell me your email? Or can you send me an email (
    Looking forward to hearing back, thanks!

  13. Fiber optic cables use light signals to deliver information, which is safer and more reliable compared to other cables. Optics Trends