I've designed an amplifier card for a solar powered camping stereo, which uses an ADAU1701 SigmaDSP for filtering, active crossover, bass/loudness enhancement and other features. I'm releasing the card as an open source project, to match the 'open source' nature of the original camping stereo design, and I'd like to encourage people to mess with the SigmaDSP code on the card and improve it as much as they can.
The stereo in question is called the "Boominator". It's small, it's loud, it sounds great, and it runs on solar power.
The design log for my SigmaDSP based card.
On the current card design, the SigmaDSP is booted by an Atmel AVR processor. Users can download SigmaStudio and make alterations to the SigmaDSP code, recompile the AVR software with new SigmaDSP code, and reprogram the AVR with an ISP programmer. But if people want to perform "live tweaking" of the design when they're listening to it, they need to use a USBi. Unfortunately the cost of a USBi ($250+) is prohibitive for basically any hobbyist.
If I took the basic USBi hardware design, replaced the BGA FX2LP with a SSOP part, changed to PCB to 2 layers and eliminated the SPI interface, I figure I could build a "cheap USBi" for about 25 dollars in low quantity. Only matter is the software to run on the FX2LP - theoretically I could cross my fingers and copy the USBi's EEPROM contents onto the newly created card and it might work, but I can't afford a lawyer
So, is there any hope of getting official ADI blessing, and software, for a cheap USBi gadget?
- The "cheap USBi" hardware design will be freely published and available, anyone can build them if they want (I hold no financial interest)
- ADI won't have to release any source code, protocol IP, etc - a binary EEPROM image is fine.
- ADI has zero responsibility for any issues with the "cheap USBi". Users understand that if they need a proper development tool for commercial development purposes, they should buy the real thing.
And why I believe Analog Devices should allow such a gadget:
- You'll make SigmaDSP parts more attractive to hobbyists. Free development tools and inexpensive, third party programming tools are why Atmel AVR basically dominates the hobby microcontroller market, I can't see why SigmaDSP can't start making similar inroads in the DIY audio community.
- Hobbyists with SigmaDSP experience can find themselves with day jobs implementing SigmaDSP parts in commercial designs.
- Very little work involved. If the stock USBi EEPROM image runs on the "cheap USBi", you won't actually have to do any work. If switching FX2LPs requires small changes and a recompile, it should be only a small amount of work.
Thanks for your consideration!
It's true that any design with an EEPROM can easily be copied, since EEPROMs do not generally have copy protection implemented. This is true in the case of the USBi as well. So, I think it would not be difficult for you to copy the binary from our EEPROM to your design, thereby creating your own USB interface to use with SigmaStudio.
However, we would be unable to provide any support for USB interface hardware that was created by our users. We can only provide support for the existing evaluation hardware that we have designed, and of course any SigmaDSP system prototypes that our customers have created.
So, in short, I don't really want you to copy the EEPROM binary to your own design, and I will not provide technical support for you if you do so, but there will not be any legal repercussions, since we do not explicitly prohibit that in our EULA.
That being said, I want to clearly state that SigmaStudio is absolutely not freeware or open source, and it cannot be distributed. You need to obtain it either by purchasing our evaluation hardware or by requesting a key via our email address, and you may not distribute it to the public. SigmaStudio may only be used by system designers, and may not be distributed to end customers using products containing SigmaDSP. In effect, we want to limit SigmaStudio distribution to people who have purchased evaluation hardware, although we do allow people to request it for evaluation as well.
The primary goal in mind when we decided to not distribute the firmware source code for the USBi was to make sure that our customers would not mass-produce USB interfaces and start shipping SigmaStudio with their product. That is still our goal.
However, we want to support our customers and make it easier to create a computer-based control interface for their products. Eventually, we want to create a plugin for SigmaStudio that will allow you to generate a standalone GUI for your end customers. It will have your name and logo on it (no mention of Analog Devices anywhere), and it will simply expose some controllable parameters to the end user of the system. It would, of course, be supported by you, not by ADI. Once that plugin has been created, we would then begin to openly distribute the binary for the USBi EEPROM to allow customers to integrate a USB control interface into their system.
Eventually, it would be nice if we could make a "cheap USBi" as well, to lower the cost of entry into SigmaDSP development. That's on our "wishlist" for now.
I will speak to our legal department to see if there's some way we could give you official "blessing" to copy the binary, but to also enforce that SigmaStudio is kept strictly as a system designer tool, and not distributed to the masses.
Thanks for the clarification!
About 5 minutes after posting the initial question, I realized that I should have asked for a reconsideration of the EULA to allow unsupported use of SigmaStudio for non-profit/hobby purposes, instead of asking for permission to clone a USBi.
That being said, I have a PCB on the way for the "USBi clone" which I'm going to privately attempt - neither a completed unit, or the design files, will ever be given to anyone else. I'll share the design files (also privately) if you wish. If the clone works, I plan to use it as my "cheap, don't care if it breaks" SigmaDSP emulator and keep the USBi in the eval kit box. If it doesn't work, oh well.
For my (public) camping stereo project, I'm intending to program the SigmaDSP such that much of the processing can be altered by reprogramming the board controller to feed the SigmaDSP different parameters. SigmaStudio, or a USBi, will never be required to do any of this.
However, there will always be the odd "hardware hacker" who will want to get their hands a little more dirty than that. It would be great to facilitate that without requiring them to spend $250 on an evaluation board.
I think he has a great idea.
For example, I run a small business in brazil (www.acousticlassaudio.com). I'm actually still struggling to survive at the same time that I must keep up with the new technology. I recently bought a SHARC evaluation board (599usd) which I was really happy to pay for, I think it is REALLY worth it given the complexity of the board. That was for my learning process, not commercial applications for it yet. In the other hand, I'm developing a new small project (with commercial interest), an automotive crossover, that I would like to use the Sigma DSP. Problem is that I really would NOT like to pay 250 usd for a simple USB - I2C interface. My money is short and I must count every penny for each project... It would be simply great if I could have a non-supported capped version of the USBi, simply because for me it is enough. Another very important thing is, here in brazil, customs taxes are OVER 100% for import items like that. So I pay > 500 USD for the USBi interface, that I'm sure will be useful for this particular project but I'm not sure if I will use it again any time soon. Imagine if I could make my own here... It would be great. Please support his idea, I sincerely believe it would facilitate many people running small business lives.
We have an intern who will be helping me out this summer. Perhaps this could be one of the tasks we put on the project list!
Great. I'm sure that the number of customers using Sigma DSP will greatly increase!