About this project
What is KiwiSDR?
KiwiSDR is a software-defined radio (SDR) covering shortwave, the longwave & AM broadcast bands, various utility stations, and amateur radio transmissions, world-wide, in the spectrum from 10 kHz to 30 MHz. The KiwiSDR is a custom circuit board you connect to an inexpensive BeagleBone Black or Green computer. Add an antenna, power supply, internet connection, then install the software package to be running in minutes.
An HTML5-capable browser and internet connection will let you listen to a public KiwiSDR anywhere in the world. Up to four people can listen simultaneously to one receiver — each listener tunes independently.
Try it right now! Click to listen to a test site in Sweden, Canada or New Zealand:
New KiwiSDR receivers will be listed on the sdr.hu website.
- Browser-based interface allows up to 4 simultaneous user web connections per KiwiSDR.
- Each connection tunes an independent receiver channel over the entire spectrum.
- Waterfall display tunes independently of audio and includes zooming and panning.
- 100% Open Source / Open Hardware / Open PCB.
- Extra attention paid to VLF/LF performance.
- Automatic frequency calibration via received GPS timing.
- Easy hardware and software setup.
- Browser-based configuration interface.
- Compatible with BeagleBone Black/Green cape specification.
- Multi-channel, parallel DDC design using bit-width optimized CIC filters.
- Linear Technology 14-bit, 65 MHz ADC.
- Xilinx Artix-7 A35 FPGA, programmed from the Beagle.
- Integrated 12-channel software-defined GPS receiver.
- Skyworks SE4150L GPS front-end.
- Web interface based on OpenWebRX from András Retzler, HA7ILM.
- Integrated software-defined GPS receiver from Andrew Holme's Homemade GPS Receiver.
- Simple build environment. Recompiles on Beagle from clean in two minutes.
- Automatically starts when the Beagle (re)boots.
- Optional automatic software updates over the network.
- Configuration and admin settings accessed through browser interface or text files.
- ADPCM audio and waterfall compression to minimize required network bandwidth.
- All sources are on Github.
Why did we make it?
Sure, the world doesn't really need another SDR. But we haven't found one with this set of features. In cost and performance, KiwiSDR fits between RTL-SDR USB dongle-style, or fixed DDC chip devices ($20 - $400, 8-12 bit ADC, limited bandwidth), and full 16-bit SDRs ($700 - $3500) while offering better wide-band, web-enabled capabilities than the more expensive SDRs.
Then there is the educational aspect. Building KiwiSDR has been a fantastic way to learn the practical details of SDR and GPS design. We strongly encourage you to pull apart the code and firmware to see how things work. Find a bug or have a better way to implement something? Great! Please let us know.
Our main motivation is to enable new applications which utilize a significant number of programmable, web-accessible SDRs world-wide. Direction finding remains one of the great under-solved problems of shortwave listening, particularly for utility stations. Given the GPS timing available on the KiwiSDR, could time-of-arrival techniques between cooperating SDRs be used? We'd sure like to find out.
Also, we'd like to see data decoders built directly into the web interface of KiwiSDR. There are many standalone programs that demodulate and decode data signals from SDRs. But these are computer- and OS-specific and often require a complicated interface to the data stream from the SDR. For example, we have a prototype of a WSPR decoder that is integrated into the KiwiSDR interface.
Why we need your help
We have three functioning prototypes, which are available to try at sdr.hu. Ten more are in production. But to go any further we need funds to cover tooling, test fixture development, expansion of the beta test program, volume purchase of certain expensive parts, and boot-strapping of production.
About the rewards
We are deliberately keeping this Kickstarter simple with two rewards: The "board" reward is the low-cost option for those of you who have the needed components and are comfortable putting it all together. The "kit" reward is for those who want a more complete solution.
The "board" KiwiSDR is simple to install with a certain amount of experience and knowledge about radio concepts, BeagleBone operation and network administration. You will need to provide: a BeagleBone, radio antenna, GPS antenna and power supply.
The "kit" reward described in the sidebar combines the KiwiSDR board with a BeagleBone Green, enclosure, pre-installed software and GPS antenna. You will need to provide: the radio antenna and power supply.
Note that to achieve the full signal processing speed required, every single CPU cycle of the Beagle's ARM processor needs to support the 4 receiver channels. In other words, the KiwiSDR Beagle is dedicated and cannot also run other Linux software simultaneously. Further, the software distribution will overwrite any existing software on your Beagle in order to standardize installation.
All receivers need a radio antenna. The online documentation provides advice but there are lots of possible solutions. We have our own active antenna design under development.
The 5V power supply for the Beagle is country-specific as AC power and plug styles vary around the world. Low-cost switch-mode wall adapters commonly used to power Beagles usually generate loud radio interference. We will report our test results of the recent higher quality switch-mode power supplies (SMPS) in the Kickstarter updates section and welcome your reports.
The KiwiSDR is not a complete "product" in its current form. Rather, you should consider it as an evaluation unit or development platform, without guaranteed performance specifications or certifications. This is Kickstarter after all. We consider each backer a valuable partner who can provide feedback and new ideas in addition to financial support. Any post-Kickstarter product will likely be priced higher than these rewards.
How will it be manufactured?
We are working with a well-known product development company in Shenzhen. They do more than assemble PCBs. They provide finished devices, tested and ready to ship. This is especially important for the "kit" reward.
What remains to be done?
We need to complete tasks associated with manufacturing and fulfillment: parts procurement, post-assembly test planning, packaging design, etc. A few software tasks must be completed before shipping can begin such as finishing the configuration interface. Feature wish list: we have our list. As you use the KiwiSDR, let us know yours!
The rewards prices do not include shipping. By keeping the reward price low, by charging actual shipping costs separately, any VAT/GST/duty fees will be lower. When we are ready to ship, we will ask for payment for your choice of several shipping options ranging from "ground" to "air". We will update the FAQ below with country-specific information.
Our schedule analysis estimates delivery in October 2016 for the board and November for the kit. This includes delivery time and some margin. We'll try and beat this estimate, but we should all be prepared for delays as well.
We're going to post a Kickstarter update once-a-week, every week to let you know about our progress. Too often we've seen Kickstarter projects disappear for months at a time between updates. We promise not to do this.
- Detailed information is contained in our 60-page design review document.
- KiwiSDR forum.
- Website with development history.
- C/C++/Verilog source code, schematics, PCB layout (KiCAD) and BOM all on Github.
Thank you for backing our project. And if you decide to make your KiwiSDR available to listeners on the internet, thanks for allowing all of us to hear what shortwave radio sounds like from your location.
KiwiSDR Team Members
John, ZL/KF6VO, is the principle designer of KiwiSDR. After a long career in the tech industry (Lucasfilm Ltd., Pixar, NeXT, Sun Microsystems, a couple of his own startups) he is finally finding time to work on topics like SDR and GPS that have long fascinated him.
Michael started Valent F(x) in hopes of creating unique electronic designs for the electronics community and providing electronics design consulting. He has guided KiwiSDR into production based on the experiences of the successful LOGi FPGA development board Kickstarter. Michael enjoys designing hardware, firmware, software and PCB's. Michael co-founded Valent F(x) in the hopes of creating versatile platforms for beginners to advanced users to use FPGAs in conjunction with popular embedded platorms or in a standalone fashion.
Jonathan is an associate professor at the department of Electrical and Computer Engineering at Paul Sabatier University of Toulouse (France). Jonathan co-founded Valent F(x). He holds a joint appointment in the Laboratory for Analysis and Architecture of Systems, a CNRS research unit where he is now working on the integration of robotics algorithms on FPGA-based dedicated hardware. His main research interests include dataflow-models, hardware/software co-design, embedded vision and robotics.
Risks and challenges
Please refer to our 60-page design review document (link in "additional information" section above) for a complete discussion of the design risks of the hardware itself. Given the performance of the KiwiSDRs at the beta test sites we're pretty confident about the design.
We've tried to use parts that will have long-term availability. But short-term shortages during production is always a schedule risk.
Any project using contract manufacturing faces multiple third-party risks. It helps tremendously that we have used PCB fabrication and assembly at two separate companies in Shenzhen for the prototypes. Our fulfillment house has a history of working with Kickstarter rewards.Learn about accountability on Kickstarter
Yes. Adding narrow-band FM (NBFM) has been on our feature list for some time. Wide-band (WBFM) requires more work because of the increased load it places on the SPI connection from the FPGA to the Beagle.
Short answer: 64k bytes/second (512k bits), all 4 channels active, audio & waterfall compression on.
The waterfall compression is going to be increased by another factor of two. The statistics shown in the top bar of the browser display are the upload numbers for all connections. Compression is only enabled on the New Zealand site at the moment.
There are also plans to add a control mechanism to limit bandwidth consumption for users with capped Internet plans (e.g. 30GB/month). This would be done by throttling the waterfall update rate and/or maximum number of users evenly throughout the month, perhaps by having daily consumption targets.
Andras Retzler, HA7ILM, creator of OpenWebRX on which our user interface is based, has kindly allowed KiwiSDRs to register themselves on his sdr.hu site. Be sure to visit the section showing all receivers on a world map. The KiwiSDR configuration file allows you to specify all the receiver details shown on the site.
Full instructions will be provided in the Quick Start guide. By default, all KiwiSDRs will run mDNS and the hostname on your local network will be "kiwisdr.local". You can then use your browser to get to the admin web interface at "kiwisdr.local/admin". Using the information from the admin page you can configure your DHCP server to associate a constant local IP address with the Beagle Ethernet MAC and then open a NAT tunnel for port 8073 to allow connections from the public Internet. If you have multiple KiwiSDRs the second one will respond to "kiwisdr-2.local" etc. The admin page displays the KiwiSDR's serial number written on top of the PCB so you can tell which is which.
Yes. You will configure whether you want: no updates, update manually or update automatically in the background. Some users operate on networks with update policy restrictions. The updates will have a failover mechanism in case a bad update is received.
The exact mechanism used by an application that gathers data from many KiwiSDRs via custom code or FPGA changes is an open question. At the very least the configuration interface will allow an "opt-in" to whatever experiments are currently in progress. Your ideas are most welcome. Plenty of security implications too.
Two reasons. The HDMI is a potential source of interference to the SDR due to the fast edge rates of the signals. Ever wonder why there are 47 pF caps on the (non-differential) data lines going to the HDMI framer chip on the Beagle? Edge rate control. No doubt for sufficient emissions margin.
Second, by leaving the window system software off the Debian distribution on the micro-SD card, it installs on the Beagle in two minutes instead of twenty. For ordinary use you shouldn't have to make a terminal connection to the Beagle via SSH. You can just use the web-based configuration interface.
We need to build at least 250 boards to get the costs down to support the $199 board-only reward price. Together the ADC and FPGA are more than 70% of the bill-of-materials (BOM) cost. These parts require a significant volume purchase to get inside-sales pricing from the manufacturer as opposed to distributor pricing.
It's a possibility, but there are so many other things to get done first. So this would be a low priority for us. You're talking about two host devices of similar low cost for an SDR that will likely just sit on a shelf someplace running 24/7. So there seems to be little advantage in offering support for multiple hosts. A second version of the KiwiSDR with different capabilities seems more interesting.
A huge amount of work went into the BeagleBone port. The host processing required is substantial and it appears the R-Pi 3 should be powerful enough. But there is no way of knowing without doing the complete port and seeing what happens. Similarly with the performance of the I/O link between the two boards. Then there is always the risk of an unacceptable amount of self-interference from the R-Pi to the KiwiSDR. It should be possible to prototype using the existing BeagleBone board before committing to the design of an R-Pi PCB.
Short answer: signal integrity, cost.
You can always place the KiwiSDR as the outer board on a cape stack. Not using a stacking connector is a combination of factors.
Signal integrity: The SPI runs at 48 MHz. A stacking connector potentially allows a "T" of signals lines to be constructed if the KiwiSDR is in the middle of the stack. Signal reflections due to the unknown termination characteristics of the outer board could cause problems.
Cost: There is some additional cost for a stacking connector. It may seem small but every cost has been carefully considered to keep the overall board price low. Every user will end up paying for the stacking capability that few will use. It is also more difficult for the manufacturer to solder a stacking connector.
This is a frequent question. The short answer is that it hardly cost anything to do so. It's was almost cheaper to add the GPS front-end than upgrade the ADC XO, requiring some source of frequency correction, to a more expensive VCTCXO.
Also, having constructed a prototype of Andrew Holme's Homemade GPS Receiver [kiwisdr.com/sdgps/sdgps.html, aholme.co.uk/GPS/Main], and having so much fun learning about the fundamentals of GPS signal processing, we wanted to offer a device you could purchase capable of running Andrew's code. There was room in our existing FPGA for the design and we ended up using parts of the GPS Verilog for the SDR (embedded processor, SPI interface).
Support this project
- (30 days)