Best Helpful Content
-
What an impressing radio the KiwiSDR really is.
I bought my first KiwiSDR in the autumn of 2016. It has been on 24 hours all days and years since. That is over 70000 hours without any problems. It has been an amazing journey with a constructor that really stands behind his product. The continuous evolution of the firmware is itself impressive enough. I have many radios after 50 years as a licensed ham radio operator. KiwiSDR is by far one of my best investments ever. Many many thanks John. 73 de Hans LA9LT
-
QiwiQ a KiwiSDR client for Android: looking for feedback, testers and comments
Hi all,
I’ve been programming a mobile client for the KiwiSDR protocol, and I finally have something worth sharing: QiwiQ.
It’s a dark-theme, portrait-mode KiwiSDR app for Android.
Instead of running in the browser, my app processes the KiwiSDR stream locally on your phone.
With no official KiwiSDR protocol documentation available, I relied on example Python code and reverse-engineered browser clients to piece together how the protocol operates.
Features:
• Connects to the public shared KiwiSDR network of servers.
• Built-in waterfall FFT display with zoom and pan.
• Direct band buttons for fast hopping between ham/shortwave bands.
• Frequency logging and memory list.
• Audio options: noise reduction, compressor, ADPCM compression.
• Gestures for tuning: swipe digits, waterfall
• Knobs for volume, squelch and filters.
• Theme colors for the LCD display
It’s still early days, but it’s working pretty well, I guess ;-).
Download my QiwiQ.apk at: https://vanbarel.eu.org/tools/qiwiq/
Side-load on Android, feedback/bugs very welcome!
-
v1.805
From the CHANGE_LOG file:
v1.805 March 9, 2025
Mobile improvements:
Keyboards shortcuts work again, e.g. a Bluetooth keyboard connected to iPad. (thanks DL3LED)
Popup keyboard dismissed properly after "return" key pressed (e.g. on "ident" fields)
Disabled input field auto complete, auto correct, auto capitalize.
Antenna switch:
Buttons now turn green for Kmtronic-2ch switch. (thanks Fernando)
Multiuser/mixing denial notification working again. (Thanks Steffen)
CW Skimmer extension: New. But consider it experimental as there are a number of problems.
SSTV extension: Fixed MP mode height issue. (thanks VK3HK, VK3KHZ)
DX label filter panel: Reset button now clears ident & notes fields.
Update to satellite table to reflect recent Galileo changes. (thanks F4FPR)
-
v1.801
From the CHANGE_LOG file:
v1.801 February 5, 2025
Admin page: Now works on small-screen devices. The admin page will now scroll left/right and
up/down to display the full content that you would normally see using a desktop browser.
The layout of the admin content is the same as for desktop. The browsers on older devices
(e.g. iPad 2) will not work with this scheme and cannot be fixed. Please use a newer device.
There will no doubt be small problems and details to be worked out with this new feature.
Small-screen support for user connections is much more difficult and still TBD.
Added support for iframe content to tune Kiwi (i.e. frequency, passband, mode, zoom).
Try new entry "DX spots" in extension menu.
Added SK6AW.net DX spots as the default iframe content if no prior iframe configuration
had been setup. When you click on a spot frequency the Kiwi tunes and sets the mode.
If your Kiwi needs to be configured for this open the admin extensions tab and select
the iframe entry. Enter "URL" in the Source menu. Enter "https://spots.kiwisdr.com" in the
URL field. Enter "DX spots" in the Extension menu entry field. Check the box
"Allow iframe to tune Kiwi". If you already reference SK6AW.net directly please change to
spots.kiwisdr.com to get the new tuning functionality. (thanks HB9TMC, DF6DBF)
Select default antenna if antenna grounded from "ground when no users" mode when:
1) Connection made from a non-Kiwi app like kiwirecorder, TDoA etc.
2) SNR measurement occurs, including via URL or measure button on admin page. (thanks F5LFE)
Option for RF attenuator slider/buttons to send arbitrary shell command instead of adjusting
internal attenuator. E.g. a curl command to control external attenuator hardware.
Attenuator UI permissions still apply. See admin config tab for details. (thanks S57RW)
Fixed bad bug that restarts the proxy client when a non-proxy (e.g. local) admin connection
switches from any non-connect tab to the connect tab. This causes all user connections
using a proxy connection to get dropped. Can't believe this wasn't discovered sooner!
ALE:
During scanning the browser user interface focus will remain with the ALE extension.
This means changes to the controls and cut/paste in the output window will not be disturbed.
(thanks DK9FI)
Added "KFOR" to milcom frequency list. (thanks Mark W)
SSTV:
Added "save images" button. Saves current image bar as a browser .jpg download file.
(thanks barneyuk)
FT8:
Show total decode count. Cleared with "clear" button.
Fixed broken ft8_lib URL on control panel.
FSK:
Fixed broken custom shift menu setting.
Added SUBCOM VLF freqs to DX community database and FSK Milcom menu.
(thanks Paulus via x.com/ParssinenPaulus/status/1865520723298533678)
IBP:
Added URL parameters and help button content. This means IBP DX label entries can
specify these parameters to customize the IBP function when the label is clicked.
For example, enter "ibp,all" in the label "extension" field to make IBP select the
"All bands" menu entry when any IBP label is clicked. (thanks VK3KHZ)
Fixed URL used for short-wave.info from right-click menu SWBC database lookup. (thanks smg)
Fixed grid layout of DX label control panel.
Fixed display of community database labels that have time/day-of-week info.
Show Debian version in user control panel, stat tab.
IP address blacklist update. (thanks Thierry et al)
Added code to remove latest Linux virus. (thanks Mike)
Added QZSS sat QZS-6. (thanks Yogicat)
-
Audio timing walkabout [FT8 decoder problems solved with tighter limits on audio buffering]
So the problem here is that FT8 has a much greater time synchronization requirement (i.e. "wall clock" time) than WSPR does. The timing of the audio hitting FT8 must match what time the FT8 program is getting from the host operating system within a second or two at most.
The Kiwi produces a delay in the audio stream because it has some buffering. Buffering is required because it is the only defense against latency/interruption issues in the network, particularly when the audio is being delivered by the Internet over long distances with lots of potential points of interruption. So you are already being disadvantaged by the time delay of this buffering to begin with. Any additional cumulative delay by other software behaving badly (e.g. sample rate compensation by the VAC) may push the total timing over the FT8 limit.
One thing you could try is reducing the Kiwi buffer size to reduce the fixed delay. The penalty for doing this is that you will have much less immunity to short-term network interruptions. That means it's important to make sure there are no highly variable latency devices in the path between the Kiwi and computer running the browser, like a WiFi router or a cheap Ethernet switch that might behave badly with heavy traffic on the other ports.
Add "abuf=n.nn" to the URL where n.nn is a number in seconds of the minimum audio buffer size. Start with 0.5 and experiment with a range from 0.3 to 0.8
It would also be interesting to know on the control panel "Stats" tab what the value of the Audio "Qlen" (queue length) is when you are having problems versus what the value is when starting (this value will vary when the abuf= value is changed) -
v1.822
From the CHANGE_LOG file:
v1.822 September 28, 2025
Antenna switch:
Use the "\+" escape sequence where you need a plus sign ('+') to appear in the curl fields.
Example "192.168.1.222?cmd=ant+1\+2+on" gives "192.168.1.222?cmd=ant 1+2 on"
Note that '+' alone gives a single space as before. (thanks IW2NKE)
Debugging mode added to ant-switch-frontend script. Preface any command with 'd' to enable.
E.g. "d s" to query switch status with curl debugging ("--verbose") enabled. Also sets
script "DEBUG" variable which individual scripts can use to trigger debugging actions.
The "ad" alias helps with this e.g. "ad s" instead of "./ant-switch-frontend d s"
SSTV extension: Works on 3-channel mode Kiwi again. (thanks nitroengine)
The server will now run and allow you to connect as admin even if the Kiwi board is broken
(e.g. FPGA not responding) or not installed. The FPGA communication failure LED pattern is
then appended to the IP address LED pattern in this case (see: kiwisdr.com/info/#id-fpga)
-
v1.807,808
Instructions for the Debian 11 upgrade procedure described below are here: http://kiwisdr.com/quickstart/index.html#id-D11-upgrade
From the CHANGE_LOG file:
v1.807,808 April 10, 2025
Admin backup tab: Added button to create a Debian 11 upgrade SD card which includes all
customizations from the current Kiwi. Intended to be used by Kiwi's still running Debian 8.x
Greatly simplifies the upgrade process by automating these formerly manual tasks:
Checks for sufficient free disk space.
Downloads Debian 11 image file from kiwisdr.com with integrity check (checksum).
Writes image to SD card.
Copies configuration from Kiwi's kiwi.config directory to SD card.
SD card is now ready to be use to re-flash this Kiwi to Debian 11 on the next restart.
Including if you were to immediately restart after the sd card creation completes.
=> Everyone is strongly advised to upgrade to Debian 11 from Debian 8.
At some point we will no longer provide software updates to Kiwi's running Debian 8.
Complete rewrite of the admin webpage grid & location processing code. (thanks studentkra)
FSK extension: Added preset menu. Complements the existing ability to set presets in the URL.
Reduced minimum name/callsign (ident) length from 16 to 8 characters. (thanks LIN)
Admin status & antenna switch configuration page now displays antenna status. (thanks LIN)
Updated to EiBi-A25 database. (thanks jgreentn)
External extensions being present will always cause a compile from source. (thanks DL3LED)
-
Find your Kiwi using my.kiwisdr.com
Got a Kiwi (running v1.330+) on your local network with an unknown local IP address? Like a new Kiwi out-of-the-box? Now from a browser on the same local network you can connect to my.kiwisdr.com and be automatically redirected to the Kiwi. The local IP address of the Kiwi will then show in the browser address bar.
This feature is similar to that provided by other IoT devices. It requires that the Kiwi have access to the Internet when it starts up. And that the computer running the browser is on the same local network as the Kiwi. If there are multiple Kiwis on the network the browser will display a table of Kiwis by serial number and a link that will connect to each one.
Our documentation lists 5 different methods of determining a Kiwi's IP address. But each has its limitations and disadvantages. Now there is a sixth method that is particularly convenient.
If you want to opt-out of your Kiwi sending this information to kiwisdr.com each time it starts then set the switch on the network tab of the admin page to NO: "Register this Kiwi on my.kiwisdr.com on each reboot?".
This feature has not been tested with IPv6 or mixed IPv4/IPv6 local networks. So there is likely some debugging required. -
30 min disconnection!?!?
@mdfrc99
Wow.
Thank you for illustrating the whole generational stereotype.
Very funny, made my morning.
OK here is the real answer:
These radios are things people have bought themselves, a few hundred dollars of investment initially, then add, buying and putting up antennas, sorting out noise issues even changing what we do around the house to help the radio perform well. Then we share them for people who are interested, want to listen to radio in another location, or who themselves cannot set up such a radio, we dont get anything back for that other than thinking that perhaps someone has benefited a little.
If the location is good, and the radio set up well then the limited number of slots is soon used up, its not like a streaming radio where numbers are almost unlimited its just a few users at any one time and each one takes up a chunk of our internet bandwidth. The way to allow everyone to get a little for testing is to limit connection time, 30 minutes is pretty extreme but you must be looking at a very popular Kiwi (mine is set at eight hours).
If you come to KiwiSDR with the wrong assumptions it does seem strange, if you realise these are real people trying to help each other for good will alone it may make sense, these are not streaming radio services. You may be able to find a less popular Kiwi that also picks up what you are looking to record they may have no time limit or a much longer one than 30 minutes. -
Forgot your admin password? v1.803+ has an admin password reset feature
Okay, I think the new admin password reset scheme is working well. See image below.
The option will appear only if you connect from your local network. Not from an Internet connection (e.g. not from a Kiwi-2 serial number based proxy connection:
2xxxx.proxy.kiwisdr.com/admin). Usemy.kiwisdr.comto find the local IP address link to your Kiwi's admin page (e.g.192.168.1.101:8073/admin).You must also provide the Kiwi's serial number. This should be easy since it's written on the physical hardware (Kiwi-1: written in the white box on the Kiwi PCB, Kiwi-2: written on a label on bottom of case).
As a further security measure the option will only appear for the first 5 minutes after the Kiwi software starts (power-up or software restart).
So the restrictions should guarantee the Kiwi is in your immediate physical control. So no good for your remote Kiwi located 300 km away on a mountain top.
If anyone can think of a flaw in this reasoning please let me know ASAP.
Everything is carefully validated on the server-side. So anyone hacking Javascript on the browser shouldn't be able to exploit the scheme.























