A few months ago I was listening to music, and enjoying every minute of it. I'd hear the same songs that I'd heard at a party or while bowling or at a club, but it was never quite the same listening to it in my apartment. I wanted a way to bring my music to life; I needed visuals. Around Thanksgiving this past year I started designing a way to synchronize any ordinary light with any song I wanted based on the volume, tempo and frequency content of that song. By the end of December I had sketches of what I wanted and after much prototyping I had the first version of FlashFlow. (Thanks Scott Hood for the excellent graphics!)
What is FlashFlow?
FlashFlow is a patent-pending device that allows you to synchronize almost any light using almost any audio source! What does "almost any audio source" mean exactly? It means anything that has a standard headphone output including laptops, desktops, iPhones, Androids, smartphones of any kind, your television, and possibly even your electric guitar if you can get a 1/8" (3.5mm) adapter for its output.
There are two standard headphone jacks on FlashFlow: One is used for you to connect your phone, computer or other audio source and the other is used for you to connect your speakers. Your speakers let you crank your music as loud as you like, and while you're listening to your favorite song or the sound effects from a movie or video game, FlashFlow will be listening and bringing the sound to life!
So how does your sound come to life? The output of FlashFlow is one or more standard electrical outlets. The electrical power delivered to these outputs depends on the volume, tempo, and frequency content of the music or other sound you are listening to. You can connect ANY incandescent light bulb, including the new LED bulbs and halogen bulbs, that you would normally plug into the wall as an output. Those long, tube shaped bulbs used in offices and schools won't work and neither will the new slow-start energy efficient bulbs (they don't turn on and off quickly enough), but almost any normal light will.
(Sorry for the poor video quality on this one, I don't have a quality low-light camera)
What can I use it for?
To have fun! You can make the lights in your room flash to the beat of the music or to the sound effects of your favorite video game or to the scenes of your favorite movie. Anything with a headphone jack that produces sound can be used with FlashFlow. It wasn't the original goal of this project, but one night I connected it to my TV while I was playing a video game and it worked! So if you're a fan of Call of Duty or other shooting game that means your room can flash with every gunshot or grenade explosion. If you prefer Guitar Hero you can use FlashFlow to flash your lights to the beat of your songs. If you would rather watch a movie and have your lights flash at the action scenes you can do that as well. Anything that has a headphone output can be used to control almost any light that plugs into the wall.
Note: DO NOT plug fans, air conditioners, blenders, or anything else with a motor into the outputs. FlashFlow will only make your LIGHTS respond to your music, not your microwave or vacuum. If you plug something other than lights into FlashFlow it will likely break and will never work again!
How many lights can FlashFlow power?
FlashFlow is capable of delivering 15 amps at 120VAC (240V European version is being developed but not available yet) to each of the three outputs for a total of 5.4kW. That's over 13,000 Christmas lights or about 150 regular 40W light bulbs! You can plug power strips into the outputs of FlashFlow to allow multiple strings of lights to be powered at once, but since most home outlets are fused at 15A you probably won't be able to push FlashFlow to its limits.
What is the difference between the three versions of FlashFlow?
Throughout the development of this project I made a few different versions, each more complicated and enjoyable than the last. Here is an overview:
This version has one output. It responds to the low, or bass, frequencies of the audio signal you give it and is capable of delivering 1.8kW of power (over 4,000 Christmas lights) to whatever lighting you connect to it. Bass frequencies are the deep "thump, thump, thump" you hear from some people's cars or through the walls late at night and they are easiest parts of a song to identify. Drums and bass guitars produce this type of sound. This version of FlashFlow will illuminate your lights with each "thump" of the bassline and bring the club feel to your room. On my TV, this version doesn't work so well with video games. Maybe it's just my TV but most of the frequencies associated with video games are in the mid to high frequency range so a Standard or Complete project is needed.
This is the next version of FlashFlow I built and it has three outputs. One of the outputs responds to the low frequencies, one responds to the mid frequencies (most vocals fall in this range) and the third output responds to the high frequencies such as high-hats, flutes, whistles and possibly harmonicas. The loudest sound in each of the three primary frequency bands is what determines the brightness of the lights connected to that particular output. After using this version of the project for a while I found that with some songs the vocals and some musical instruments were equally loud in the middle frequency range and the lights didn't respond as uniquely as I'd have liked. To fix that I made the Complete version.
This is the most advanced version of the project I've been able to make so far. This version has three outputs (one for high frequency, one for mid and one for low) but to make the outputs more interactive I added an adjustment knob and button to let the user tune the specific frequencies within each of the primary bands the lights respond to.
For example, if the vocals and an instrument are both making your lights on the middle output illuminate and you don't want that, you can use the knob to adjust a very narrow region within the broader range of mid frequencies that the lights should respond to. This lets you select a specific instrument or vocal range. All three outputs can be individually tuned and the tuning takes effect in real-time so you can have your music playing while you adjust the knob to know for sure you got the correct range. This version also has an automatic range selector if you don't want to individually tune the frequencies, which makes it the same as the Standard version. The choice is up to you!
For those of you who are more visual, this image shows the volumes of each frequency in your audio and the three primary frequencies you can divide it into. The transparent red region shows how the adjustment knob of the Complete version can select a sub-set of frequencies within the primary band that the lights should react to. Each of the three primary bands has the ability to have a sub-set of frequencies selected.
What is the difference between this and the similar devices I've seen?
The things similar to this project that most people are familiar with are those lighting control boxes used outdoor lights around the holidays. Those devices let you make your tree lighting flash rhythmically and your icicle lights twinkle and they also require you to pre-program them for a particular song. FlashFlow doesn't require any pre-programming for any particular song, you just connect your iPod or other source and it will work. You also don't need to have the audio file for the song you are listening to, you can stream songs from YouTube and they will work with FlashFlow. Anything that has a headphone output and plays music will work!
Some products use hardware filtering to differentiate between audio frequencies while FlashFlow uses software. Hardware filters cannot get the same kind of frequency resolution software filters can especially in the mid to high frequency ranges. FlashFlow can differentiate between single frequencies while other products will have a difficult time getting better than 300Hz of resolution; this makes picking out a single vocal or instrument difficult with other devices.
Some similar devices also require you to buy special lights that work with a special controller (usually sold separately) or they use a special light bulb itself reacts to the music and interfaces with your phone. Why buy separate light bulbs one at a time or pay hundreds extra for special lights when you already have lights in your house? FlashFlow uses standard electrical outlets as the output so any light that plugs into the wall can be used with FlashFlow.
How exactly does it work?
(Note: Gets a bit technical)
FlashFlow works by determining the frequency content of the audio signal you give it and then uses that content to control the electrical power delivered to each of the many outputs. When you connect your audio source to FlashFlow it uses a 16 bit PIC microcontroller from Microchip to sample the signal and digitize it. Once the PIC has the digitized version of your audio it performs a Fast Fourier Transform (FFT) on the digitized signal to determine the frequency spectrum shown in the Power vs Frequency graph that appeared earlier on this page. Next, FlashFlow looks for user input (or uses pre-programmed input if it's not a FlashFlow Complete) to determine what frequency ranges each output should respond to.
To deliver power to the electrical outputs FlashFlow uses triodes for alternating current, also known as triacs. Triacs are similar to transistors except once their gate is triggered, they will not turn off again until the current flowing between the two main terminals goes to zero. For the AC power coming out of your wall, this happens at every zero crossing of the 60Hz sine wave. Since a triac cannot be turned off at will, to control the amount of power delivered it is important to monitor the AC zero crossings and wait some time after one happens before triggering the triac. An AC wave at 60Hz has a period of 16.66ms, which means a zero crossing happens every 8.33ms. If a light needed to be turned on to half brightness, FlashFlow would wait for a zero crossing, wait another 8.33/2 = 4.16ms and then trigger the triac. Current would then flow to the light for the remaining 4.16ms before the next zero crossing occurred and the triac turned itself off. The figure below illustrates the triggering scheme for 50% brightness.
The solid black line represents the main AC power from the wall and dotted gray lines represent when the triac was triggered. The grayed regions of the sine wave show when power is being delivered to the lights. Based on the volume of the selected frequencies, the delay before triggering is altered and the lights' brightness changes.
The above block diagram shows how FlashFlow works. The audio input (201) and output (202) are connected together and an audio amplifier (203) boosts the mid and high frequencies before the signal is digitized. This amplification is done to even out the three primary frequency bands (low, mid and high) because most music has louder bass. Next, the PIC (216) samples the signal using an analog to digital converter (204) and passes this data to a variant of the Fast Fourier Transform algorithm (205) known as the Hartley Transform. A power spectrum (206) is generated and control signals (207) are generated to control the triacs (212) based on the inputs from the user input (210) and the zero crossing detector (208). Your lights (213) and FlashFlow's indicator LEDs (211) will change based on user input and the immediate music content. FlashFlow goes through this loop about 100 times per second and your lights are updated so fast that most people cannot see an audio/visual lag.
Why does FlashFlow need money?
I'm using off-the-shelf plastic cases right now and they don't look the best. The new ones I'm using don't look as bad as the prototype shown in the video but a custom case would be much better. The newer version is not blue and is not a cube; it's black, it's half the height and it uses the female end of an extension cord for the output instead of standard wall outlets. This lets you stack things on top of FlashFlow and makes it more difficult to spill your drink into it and break it. It's better, but it's nothing compared to a custom molded enclosure.
I'd also like to switch the circuit over to all surface mounted components so a pick-and-place machine can assemble the boards. Assembling that type of circuit isn't the cheapest thing in the world and I can't afford to do it right now. I also need to make a non-US version that can run off 240V and market the version I already have. Basically, to advance this past the one prototype I have now I need more money and I don't have any.
Finally, it costs a few grand to get electronics certified by the FCC. FCC certification is required for anything that plugs into the wall or operates at frequencies higher than 9kHz, and FlashFlow does both of these things. I'm going to submit FlashFlow to an FCC-approved testing lab in the coming weeks and once it is approved I can start shipping!
How is FlashFlow built?
Right now, I build them in my apartment. If this turns out to be a successful project and I have to make more than 1000 rewards I will redesign the printed circuit boards so pick and place machines can assemble them for me. I've already done most of the work for this and I can finish in less than a day. The guys at PCB Assembly Express can make and assemble a few thousand boards per week so I can stop making them by hand.
To keep delivery dates on schedule, I've limited the rewards that include a FlashFlow to 400 each for now. This will limit the initial rewards to 1200 units with delivery dates in the summer but as each reward reaches the 400 unit limit I will add another reward with a later delivery date. Support FlashFlow early to get yours before the end of the summer!
What does it look like inside?
Like any electronic project, the coolest stuff is the stuff you can't see from the outside. Here are a few pictures I took of my FlashFlow Standard prototype as I was assembling it:
One challenge I expect in the future is designing the custom molds to have this project mass-produced in an aesthetically pleasing way. I've never designed molds before but I'm confident I can do it. If for some reason I can't do it by myself I will find someone who has done it before and enlist their expertise to get it done. I want this project done and I will do whatever I need to to take it all the way.
If this project gets lots of support I also expect mass production to be a hurdle. While simple to assemble by hand, assembling several thousand FlashFlows by hand before the end of the summer might not be practical. To solve this problem I've started redesigning the printed circuit boards so pick and place machines can assemble them for me, and I will create several tiers of delivery dates so I don't get overwhelmed and miss a deadline. The starting quantities of each version of FlashFlow is limited to 400 but if there is enough interest I will create more tiers with later delivery dates to ensure everything is shipped by the time I said it would be.
So why do I have the talent to get it done? I'm 25 years old and I'm a graduate student in engineering. I have Bachelor's degrees in both mechanical and electrical engineering and have worked in industry in both fields. I've worked on countless projects in both academia and industry since I graduated high school and I know what it takes to make a plan and stick to it. I love this project, I enjoy using the one prototype I've made so far, and I'm more excited than a small child on Christmas morning to turn it into a reality. Unfortunately I'm not made of money so this is as far as I can take it without your help.
As of right now, FlashFlow's electrical system only works on the US electrical grid (120VAC). In the future I will try to make a variant that works on the electrical grid the rest of the world uses (240VAC) but I don't want to make promises for things I might not be able to deliver, so for now it is US only.
For Canadian backers, I am learning what is involved in getting Industry Canada certification. If I can get that then I can ship FlashFlow to Canada. I'll make an update about this and how we'll handle shipping once I learn how feasible it is.
Get your name written in every user's manual that will be shipped with every unit sold! You're backing a project you believe in and you deserve to have everyone know it. Also receive a hand written thank you note and an "Hours make dollars, ideas make millions" sticker in the mail.
Receive a printed circuit board about the size of a playing card with a thank you message and "FlashFlow" written on the board in copper and silk screening! This is designed only to look good. Who says science can't be artistic?
Get the bass pumping and receive a fully assembled and tested prototype of the Basic version of FlashFlow with free shipping! This is a fully functional prototype and the only difference between this and the final commercial product is the off-the-shelf case this one uses. Final commercial product will have a custom built enclosure and will retail for closer to $90 so save your time and money and get it now!
Receive a mostly unpopulated printed circuit board and all the parts necessary to build the Standard version of the project. The microcontroller will be programmed, the surface mount components will be soldered, and you get to solder about 25 componenets to have your own fully-functional project with three independent outputs!
Receive a fully assembled and tested Standard version of the prototype with free shipping! This has a separate output for the low, mid and high audio frequencies and it is a fully functional unit. The only difference between this and the final commercial product is the off-the-shelf case this one uses. Final Standard commercial product will have a custom built enclosure and will retail for over $140 so get it while it lasts!
EARLY BIRD SPECIAL: Get a fully assembled and tested FlashFlow Complete prototype version of the project with the ability to adjust each output independently! Save $25 by ordering early and get free shipping, early shipping, and no paid logos/pictures with your unit! Your unit will be one of the first 100 assembled, tested and shipped and the only difference between the prototype and the final commercial product will be the off-the-shelf enclosure this one comes in.
THE MAIN EVENT: Bring your music to life and receive an assembled and tested FlashFlow Complete! In addition to a separate output for low, middle and high frequencies you will have the ability to adjust the specific frequencies each output responds to, in real time, so you can tune your lights to the specific instruments used in your favorite songs! This prototype is the same as the final production version except for the plastic enclosure this one will come in. The Complete version will be assembled and shipped before the Standard and Basic versions so you will have your FlashFlow before the summer is over!
Put the prototypes in the past with FlashFlow Complete in the final production-ready enclosure! Get one of the first 100 FlashFlows with the ability to control each output and have an awesome looking enclosure to go with it!
Get a fully assembled FlashFlow Complete prototype and get your custom logo or picture included with every* unit that ships! Want to promote your project? Want people to know your company supports FlashFlow and the developer community? This is one way to do it! Please limit images to 4" x 4" and black white ink. *Ads and logos will not be put in the boxes of the Early Bird Special rewards*
Want to learn more about FlashFlow or the developer? I will take you and a guest out for dinner in Boston, MA at my expense (you pay to get yourself to Boston). Learn what went into this project and what the vision is for the future! I'll also hand-deliver you a FlashFlow Complete when we meet!