 if we failed, there would be grave financial consequences for us and our employees. Everyone made a commitment and we got to work.
Gerald started working on the hardware design and picked other key parts including the DAC, the Codec, power supplies, etc. As I recall, Eric and I started coding before we had hardware. Gerald did most of the PCB design and layout and I did some of the mind-numbing layout work on the ADC, DAC and DDR3 memory. At some point we got a working PCB and we started the effort to bring up the processor. Hardest. Thing. Ever. I'll spare you the details, but Eric and I spent about 3-4 months bringing up the processor. I am so much smarter now than I was then.
At this point, Eric and I sequestered ourselves and wrote the core foundations of SmartSDR. We spent hours at my house in the lab writing software and we would periodically call in and let everyone know what we were able to achieve. Gerald was off designing the PA while we worked software magic. Bob McGwier, N4HY, visited a couple of times for about a week at a time and helped us write DSP software. We would literally get up at dawn, eat breakfast and then go into the lab and work, emerging only for food. We had only one or two working prototypes at the time. At one point we decided to pull a joke on Gerald. I rigged a couple of 1/4W resistors to a 12V supply where they would sink about 5W and we taped it to the bench. We called Gerald on FaceTime and Bob was supposed to tell Gerald what we had working. At a key point, I flipped the switch and smoke came billowing out from under the prototype and Bob feigned despair that the prototype was destroyed to tease Gerald. As it turns out, we had a communications issue and all that didn't make it to Gerald so he was spared the grief, but we all got a laugh out of it. My bench still has a small black scar from the resistors ;-). I don't know how many hours a week we were working, but it was a lot. We would get to the point in the evening where the code we were writing didn't make sense and we would go to bed and get up the next day and do it over again.
From the beginning we knew many of the things the radio would be capable of based on the hardware and we did things in the hardware to make sure we could do as many things in the future as we could dream up. To this day, we have a long list of fantastic things that we can do in the radio and the main thing standing in the way is writing the code. We continue to add new ideas to that list and work on all the things on the list. As the FLEX-6000 has continued to sell well, we continue to hire more engineers to execute that list faster and faster. Now the ideas come from everywhere -- customers, advisers, employees, etc. We work on key priorities and the best ideas based on an internal plan (much of which is shared with you in the roadmap).
So there's essentially in the design process there is communications between the hardware designer knowing the available parts and the software architecture designer on what's possible. The hardware guy might say "if I add this capability, could you use it?" or the software guy might say "is there any way you could give me thins kind of data?" You work together to figure out what gets you the most value for the buck and the engineering investment and you go with that.
Designing and building the FLEX-6000 and SmartSDR with the team at FlexRadio has, without a doubt, been the most rewarding experience in my career. I've never worked with a better team of people. With the SmartSDR foundation, our engineers can visit with a customer at a hamfest, hear a great idea, say "I can do that" and then return home and make it a reality. As an engineer it's extremely satisfying to be able to envision what a customer wants and be able to make that a reality. The FLEX-6000 hardware platform is the most programmable platform we've ever had and we can do just about anything on it -- which is why we designed it the way we did.
Sorry for the novel! I hope it gives you some insight into how we do this at FlexRadio. It's probably different oth