As I built my wave bubble I kept notes along the way. I cleaned them up and after I was satisfied that my build worked (and did not explode into a ball of fire) I decided to post my notes here. I also compiled a section-by-section parts list. I posted any problems I ran into along the way and tried to correct my parts lists accordingly, but I might have missed something so please double check before you buy. Also if you order exactly what you see you will wind up with many extras so you might consider the lists as a reference instead of a shopping list.
The boards I used are great quality and from a helpful eBay seller. You can view them here: http://goo.gl/GxXwq
I used the design files extensively throughout the whole process. I printed out the top and bottom placement sheets and schematic for reference before starting.LIPO BATTERY
The battery board was very straight forward. The LM3622M-4.2 has been discontinued, but I found it and the battery (800mah) on eBay. I could have gone with a much larger battery, so I found an 1800mah battery with the same footprint only twice as thick. Since I planned to use 1/2" standoffs this was not a problem.
The FT232RL IC was challenging, but the computer detected it when it was plugged in so I was optimistic it would work.AAA BATTERY
I built this because I had the board, parts were around $8, and I thought "why not?". I did not make a parts list for this because I felt it was not necessary. This board was very simple to build with the FT232RL as the only "real" part per se.
The only thing worth mentioning is that I was not be able to use the same standoffs as with the LiPo. I used 1/2" standoffs for the LiPo and the diodes on the underside of the main board were making contact with the AAA batteries and would not allow the headers to connect. You will need to use longer header pins and standoffs if you plan to use this board.POWER SUPPLY
I had many more problems with the power supply than I should have.
My first issue was with the 5v IC. I do not know exactly what was wrong, but it was shorting out the entire board. I replaced it and everything seemed to check out.
My next issue was with the 28v boost. After soldering, I powered up the board and heard a terrible sound and *poof* magic blue smoke. As it turned out I used 10M Ohm resistor to set the boost instead of a 1M Ohm resistor. I replaced the resistor and the 28v boost IC. The board refused to power up. A brief check revealed that 28v boost mishap had also blown the 3.3v regulator. I replaced the 3.3v IC and powered the board up. Much to my dismay everything was working properly and the voltage levels were correct.
I used 5v VCOs so I did not place any 12v components. I jumped 5v from C9 to C13. (from the “new vcos” forum response by thefallen)TUNING AND VCOs
These sections are pretty short so I did them together. They required some planning and research before starting. I spent a lot of time referencing the eagle files, the schematic, the forums, the errata pages, and several other sources on the web.
I ordered my VCOs from Mini-Circuits at the start of this project since they were quoting an 8 week lead time on manufacturing. I chose the ROS-2700-1819 and ROS-1300. These run on 5v, not the default 12v called for by the RC1a. This change required a little tweaking from the default components. I referenced the schematic of the WB2010 quite a bit to double check my math and to cheat when I could. (thanks to mictronics and thefallen for their hard work on the WB2010)
Even after all of this I still had a couple gotchas:1)
The make page links the wrong part number for IC6, I went to solder it and realized I had a SOIC24 part and needed a SOIC14 part.(I found a post, after making my own, at the end of the forums mentioning this by eno)2)
The pads for C31 are 0603 where-as the make page lists it as a 1206.(probably common knowledge by now still but worth mentioning here)3)
The value for R13 and R15 are, to an extent, a matter of opinion. There are a number of chosen values on the forums, and a few explanations behind their choices. Not claiming to know any better than anyone else, these are my choices and why I chose them.
Using the formula "Vin*((Rf/Ri)+1)=Vout" tells us what we need to know. (taken from the “useful links” forum post by lcstyle)
IC8/IC9 are 3.3v(Vin) and R14/R15 are 10k(Ri), now we need to figure R13/R15(Rf) by using Vout:
VCO1 is ROS-2700-1819: has a max vTune of 25v so "3.3v*((64.9k/10k)+1)=24.7v"
VCO2 is ROS-1300: has a max vTune of 20v so "3.3v*((49.9k/10k)+1)=19.7v"4)
I am no master solderer by any stretch of the imagination, but the VCOs were a lot harder to solder than I thought they would be. I had to stop soldering several times just to let the ground plane and VCOs cool down. It was pretty nerve racking. Once I kinda figured out a technique it was slightly easier...but only slightly. These parts are expensive and had long manufacturing times; it would have been a shame to ruin them. I think it would be almost impossible to unsolder them and still be able to use them. I triple checked before I started to make sure they were in the right spot.5)
This is the first section that programming takes place. I use the USBtinyISP and I think it is simply the best at what it does. If you choose to use the usbtiny it is important to leave the supply jumper unhooked and power the wave bubble with approx 4v from an external source. If the supply jumper is left attached and the usbtiny plugged into the wave bubble you will have lots of smoke. Once the smoke clears you will most likely have to replace the 3.3v regulator (I sure am glad I bought 10 of these, I've used several up to now and the trace has begun to come loose).
The "makefile" file in the firmware had to be edited at the "AVRDUDE_PROGRAMMER” line. I had to replace "avrisp" with "usbtiny". I also removed the "-P"(capital P) from the “AVRDUDE_FLAGS” line since the tiny's port is assumed.
After saving the makefile. I burned the fuses from the command prompt with:make burn-fuse
(The ATmega88 and ATmega88P fuses are not the same. The makefile assumes the ATmega88 is used).
After uncommenting the "main.c" lines as directed by the make page and saving the file. I was able to upload from the command line first by using “make” after each change and then typing:sudo avrdude -c usbtiny -p m88 -U flash:w:wavebubble.hex
After all this I was able to work through each of the required tests with expected results.PLL
This section is tedious. It makes you appreciate the “enormous” size of 1206 parts. As long as great attention was paid to the placement of parts; both the correct component on the right pads and checking its orientation (vertical/horizontal) this section does not take much time to complete.
The only real “gotcha” I had was the fact the make page in this section lists C25; which had already been placed during the tuning stage assembly.
The digital potentiometer and crystal aside, soldering is simple despite the tiny nature of 0603 parts. The crystal was a challenge as it has no leads to speak. Orientation does matter since only pins 1 and 3 are connected. I managed to solder it by hand, but a hot air tool would have helped quite a bit.
After loading “pll_test1” the digital potentiometer was putting out 5hz on pin 10 instead of 1hz, but the errata page had prepared me for this so I knew it functioning as it should. The “pll_test2” voltage only made it to 2.09v, but I felt like that was close enough so I continued.CONFIGURATION
The configuration stage offers nothing new since the wave bubble has already been programmed several times at this point. I loaded up the “uart_test” and opened PuTTY. I set the connection type to serial, speed of 19200 and options 8N1. The connection line was /dev/ttyUSB0. Clicking “Open” reveled the terminal window and it soon filled with letters of the alphabet.
I reprogrammed the wave bubble with the “uart_test” code commented out and got back into PuTTY. I pushed the reset button and when the chip finished booting up I was asked for a key press. After pressing the spacebar I saw the programing menu.
I had wave bubble list all programs and it printed a massive list of identical programs (probably since I hadn't put a program in it yet). After I added the first program it forgot the junk ones and only displayed one program when I asked it to list all programs a second time.
After tuning completed successfully, I noticed my cell phone was barely affected by the wave bubble. I thought I would have nothing to lose if I tried to tune it again and see if that made a difference. Tuning the second time failed because “VCO was too low”. Since I wasn't exactly sure what the error message meant and don't usually pay heed to failure I selected the tune program a third time and it completed successfully.
I reset the bubble and the “program running” led began flashing. I moved my phone closer to the wave bubble and it began to lose signal. After about 30 seconds my HTC Inspire signal dropped out and it lost service. I grabbed my wife's iPhone 3GS and it also lost service. Range was limited (1-2 feet), but not having even started the gain stage and having less-than-ideal-wire-from-a-spool antennas I would have been satisfied if my cellular signal had been affected at all.GAIN
The gain stage is a lot like the PLL stage in terms of difficulty (minus the digipot and crystal). I swapped the SXA-389B's for GALI-84's. There are a lot of pads in this section so it is important to double check placement. With all that said I only had two minor issues:1)
C46 and C49 have 1206 pads and not 0603 as indicated by the make page. (at this point I had many extras so this was a not a problem).2)
I had a tough time soldering the ferrite beads. I do not know if it was my technique, my iron, the beads themselves, or the phase of the magnetic pole of the moon.
Since I used different VCOs than specified by the schematic I had to determine the proper resistor values needed to compensate the gain differences. I used an online t-attenuator calculator and the values I got were close to the WB2010 so I cheated and went with WB2010 values. FINISHING
The final portion of the build is the easiest yet. The only soldering here is for the antennas. I went with a reverse polarized setup, but I wasn't picky about my antennas. If I were truly worried about range I would have picked the antennas first and not the standard. I used nylon screws to attach the boards to the standoffs. I don't know if it would have been a problem, but since power is passed through the standoffs I was not comfortable with using conductive screws. I only had one issue in this section.1)
The ISP headers I chose are too tall. The antenna board will not seat fully with 1/4” standoffs. Ordering a set of 3/8” M/F standoffs will correct this, but that might make pushing the power button challenging.
I ran the wave bubble for 10 minutes and both GALI's got pretty warm and the entire ground plane started getting warm after about 15-20 minutes. Nothing ever got so hot they could not be touched or began smoking, but things were warmer than I am usually comfortable with.
Unfortunately I do not possess a spectrum analyzer to determine final gain or the actual operating frequencies, but voltage wise everything seems within datasheet specs. CONCLUSION
I did a few rudimentary tests to determine the effective range on my build. Using a couple phones in various places and moving the wave bubble to different positions I found the range was consistently around 7-11 feet depending on the phone. (7-8' for the Inspire and 10-11' on the iPhone 3GS)
This project turned out to be much more difficult than I anticipated. It required a great deal of research and planning. There are a number of inconsistencies between the make page, schematic, and errata pages. The forums were an invaluable resource and it would have been pretty much impossible for me to complete my WB without them.UPDATE
After playing with my new toy a for a while I noticed it was not really working anymore. It also seemed everything attached to the ground plane was getting really hot. After troubleshooting I found that, for whatever reason, the RFOUT pin on Q2 started shorting to ground. A few attempts at reflowing the solder failed to correct the short. I removed the amp from the board and it was still reading as shorted. Since the board itself was no longer shorting out I knew the problem was with the amp itself.
Since I bought the amplifiers as a pair on eBay I did not have any extras. Using a suggestion from the forums I went with a BGA6589. (from the SXA-389B Replacement forum response by nova)
I found the range was not be as good as before so I and ended up switching Q2 back to a GALI-84 after purchasing another pair from eBay. Even after the change I was still having trouble with getting any kind of range out of my wave bubble, so I got my oscilloscope out and started poking around. I noticed the waveform was incredibly distorted after the amp so I started removing components one-by-one to see what was causing the problem.
Eventually I found that removing C60 resulted in an almost distortion free waveform. Placing a brand new cap at C60 caused the wave to distort terribly again so I removed C60 permanently (it should only be a stabilizer anyway) and I started getting a much improved range again.
I have no explanation why the wave bubble would work fine with C60 and then all of a sudden not work at all with it, but I am posting this problem/solution and what I did so that if someone else has a similar issue they have something to start with.
Because C60 was distorting the sawtooth so badly I really cannot compare the GALI-84 and the BGA6589 range to each. Perhaps they are comparable with effective range, I do not know. If you cannot find SXAs or GALIs give them a try.SPECIAL THANKS TO:ladyada, j.keaton, thefallen, mictronics, lcstyle, bushing, inh, aqisnotliquid, scoopin, evilroot, spacedoggy, antares, nova, eno, enorcrove and anyone else who posted their suggestions, successes, and failures.
Here is a link to Flickr for the project pictures: http://flic.kr/s/aHsjAN37mu