High quality wireless communications equipment

openSPOT beta firmware files

See the manual for firmware upgrade instructions!

Beta firmwares are more frequently uploaded than stable ones. If you find a bug, please report it at!
Note that the manual is always updated according to the stable firmware release, not the beta release.

Latest firmware binary file


Changelog for SharkRF openSPOT beta firmware versions.

0142: - Add support for FCS servers which have IDs larger than 9.
0141: - Further fix for source UDP port of DHCP packets.
0140: - Fix source UDP port of DHCP packets.
      - Fix DMR TACT parity calculation.
0139: - Added further error checks for the used BM API key.
0138: - Fixes for importing older version config profile files.
0137: - Added BrandMeister API support.
      - Added country of operation setting.
0136: - Fixed frequency save inconsistency when modem frequencies changed and
        the openSPOT rebooted immediately without saving another setting.
0135: - Replace color code with the device's CC in incoming SRF-IP-Conn packets.
      - Lower default CWID WPM to 20 to comply with US regulations.
0134: - Fixed SharkRF IP Connector traffic not shown on UDP traffic graph.
0133: - Fixes for receive issues with some TYT MD380 radios.
0132: - Added transmit RX confirmation option for D-STAR.
0131: - Fix D-STAR gateway reconnect issue.
      - Fix modem reconnect issue.
      - Fix hangs on connector change.
0130: - DMR/C4FM half deviation AutoCal fixes.
0129: - Invalid data in quick call TG list is now handled correctly.
      - Changed default DMR 4FSK mode to 4FSK RC.
      - Fixed C4FM autocal freq. not changed on modem freq. change.
0128: - Fixed YSFReflector calls dropped after 60 seconds.
0127: - Improved demodulation.
0126: - Fixed transmitting letter Z on CWID.
      - Fixed YSFReflector downlink issue.
0125: - Added C4FM half deviation mode support.
      - Fixed YSFReflector profile query/switching.
      - Fixed issues with config export/import.
      - Fixed: DMR voice calls with CC mismatch were processed with late entries.
0123: - Improved demodulation.
0122: - DCS server list has been restructured to a separate server and module
0121: - Added C4FM squelch code support.
      - Changed default 4FSK TX mode to plain 4FSK, as some Chinese radios
        work with it better.
      - Fixed SRF-IP connector server traffic on the net graph.
0120: - Small bugfixes.
0119: - Added nts command on the USB serial console to print Ethernet interface
0118: - Homebrew/MMDVM server ports are now queried from the server list.
0117: - Added support for FCS server switching by dialing 3 digits (ex. if you
        want to switch to FCS003 room 2, enter DTMF *302. If you just want to
        switch to room 2 on the current server, enter DTMF *2 as with previous
      - Added Apple home screen icon files.
      - Added separate networks (XLX) listing for the DMRplus dongle connector.
      - Added nmd command to sercon help (it was missing from the help), added
        more info display to the net command.
      - Added options to the web interface to override the DNS server
        advertised by the DHCP server. Added commands to modify DNS server over
        the serial console.
      - The password is now saved for each SharkrRF IP Connector Client server
        added on the web interface.
      - Fixed GPS longitude rounding.
      - The currently selected D-STAR server is now correctly selected even
        when switching servers using the radio.
0116: - Fixed long IP address voice announcements cutoff.
      - Current D-STAR reflector is now selected from the dropdown list after
        changing from radio.
0115: - The reroute ID, call type, and C4FM destination ID, call type are now
        updated when a quick call is made on the web interface.
      - Fixed DCS receive issue.
0114: - Fixed: location coordinate rounding errors.
      - Fixed: IP address query DMR ID was set as connector query DMR ID.
      - Fixed: sending negative location coordinates on the Homebrew/MMDVM
0113: - Fixed: calls to the IP address query DMR ID was processed when call
        rerouting is active.
0112: - Added openSPOT current IP address voice announcement query:
        - DMR: start a short call to DMR ID 9001
        - D-STAR: start a short call with URCALL ".......A"
          (7 spaces and an A, replace dots with spaces, without the
          quotation marks)
        - C4FM: enter DTMF special call then B (ex. *B)
      - Fixed: DMRplus dongle server was not selected in the dropdown list
        after page load.
      - Fixes for D-STAR missing packet handling.
      - Fixed slow REF/XRF server reconnect.
      - Fixed config profile import/export between different openSPOT firmware
      - Fixed DMR voice announcement trigger when a data call is received.
0110: - "/" D-STAR gateway link command now parsed correctly.
      - Improved D-STAR missing packet handling.
      - Profile name now cleared when the current profile's config is reset
        through the web interface.
      - Other small fixes.
0108: - Fixed MMDVM options reflector not changed when dropdown list
        selection changed.
      - Fixed D-STAR profile query/change, connector status query commands.
      - Fixed changing to D-STAR gateways which has non-6 char length
      - Fixed modem TX power init.
0106: - Added URL setting to the Homebrew connector settings.
      - Profile switching/query, connector status query now handled also
        when a DMR call ends with a timeout.
      - D-STAR reflectors are now changed when the reflector change request
        call ends.
      - Fixed changing REF reflectors.
      - Fixed: status page connected to field not shown on page switch.
      - Fixed the DMR update DB button height under non-beta Webkit engines.
      - Fixed: BM master last heard link on the status page.
      - Fixed: AGC low/high threshold can't be negative on the web
0105: - Added D-STAR gateway switch support from radio.
      - Added gateway listing to the REF/XRF connector on the web interface.
      - Added debug logging to the USB serial console (it can be switched
        on and off using the "log" command - when you open the console
        it is switched off by default).
      - Added reset web interface password (rsp) command to the USB serial
      - The active profile text is now bold on the Settings page.
      - Added a space between reflector/gw callsign and module name in
        D-STAR connector status sent to the radio.
      - Profile query/change, connector status calls are no longer sent to
        the network.
      - Improved intermittent DMR call start handling.
      - Restructured the web interface's files.
      - The web interface's font files are now loaded from the Internet,
        if it is available. If not, the default sans-serif font is used.
        This reduces page load time.
      - Fixed a JavaScript error when the DMR ID IndexedDB is not available.
      - Fixed: modem TX power dropping to 0 when changing to idle modem mode.
      - Fixed: DMRplus reflector list disabled after page switch.
      - Fixed: FCS room name not shown on the status page at "connected to".
0102: - Changed the behavior of the "Change to Null connector on modem RX
        timeout" feature. Now if a modem RX timeout happens, openSPOT does
        not change the saved connector setting in the active profile, it
        just switches to the Null connector temporarily, until a valid call
        is received from the radio.
      - Added primary/backup server display to the status page.
      - Fixed REF/XRF connector G module handling.
      - Removed always allow G module setting from the REF/XRF connector.
      - Now the RX freq for all connectors is set to the TX freq on config
        reset if a country lock is active.
      - Fixed JavaScript error when no Homebrew server was selected.
      - Fixed the "Connected to" field display on the status page: the field
        was only updated once after it changed, and if the page has changed,
        it was not displayed anymore.
      - Fixed D-STAR voice announcements: if the announced reflector was not
        in the form of 3 alphanumeric characters and 3 numbers, the
        announcement was cut off.
0101: - Added "allow module G pass to modem" option to REF/XRF connector.
      - Fix Homebrew connector profile change when DMR call rerouting active.
      - Further fix for D-STAR modem hang.
0100: - Call log now removes invalid parts of a callsign from the link.
      - Removed auto scroll in the call log.
      - Added hostname to serial console devinfo and eth link state to netinfo.
      - Fixed call rerouting, active connector display on the status page.
      - Fixed: reroute and auto connect ID was changed when calling connector
        status/profile change ID.
      - Command buffer is now cleared when serial console DTE gets activated.
0099: - Added option to switch to the null connector after a predefined
        timeout after the last call coming from the modem. This can be used
        for example to disconnect from the network after a few hours of
      - Added USB serial console.
      - Added links to callsigns in the call log.
      - Fixed D-STAR modem hang when changing RX/TX freq. or TX power.
      - Fixed changing between DCS/XLX <-> REF/XRF connectors.
      - Fixed BER calculation in DMR.
0098: - Added option to switch to a config profile slot after a predefined
        timeout after the last call coming from the modem. This can be used
        for example to switch to the null connector after a few hours of
      - Restructured config profile section on the web interface Settings page.
      - Added default C4FM callsign for DMR calls. This callsign is used to
        start a DMR call to a C4FM network until no talker alias is coming from
        the radio, which then is used as the source callsign. Use of the talker
        alias can be turned off by checking the "Send no in-band data to
        network" option on the Settings page.
      - Added BM server status/link/active group page links to the status page.
      - Now the destination talkgroup's name is shown in the call log.
      - Fixed trimming spaces from end of various callsigns.
      - Fix for call stuttering on radios which do not handle in-band data
0097: - Added option for only accepting C4FM calls with DMR ID callsigns in
        cross mode.
      - Shortened D-STAR TX confirmation beep delay.
      - Improved C4FM TX confirmation beep handling.
      - Increased volume of voice announcements.
      - Fixed: C4FM callsign not parsed into DMR ID in cross mode.
      - Fixed: callsigns/talker alias was incorrectly trimmed after the first
        space in the call log.
      - Fixed modem TX power percent calculation on the status page.
      - Fixed: D-STAR remote module did not change when changing reflectors
        from the radio.
0096: - Fix DMR autocal freq. reset on bootup.
      - Renamed active_connector response to connector.
      - Other smaller fixes.
0095: - Added call log to the web interface.
      - The reworked HTTP interface is now using standard JSON Web Tokens
      - Added "Send no in-band data to network" DMR option.
      - Added DMR-MARC servers to the Homebrew/MMDVM connector's MMDVM protocol
        mode list.
      - Now Homebrew C4FM/reroute call types can be seen when advanced mode is
        turned off.
      - FCS room name is now displayed in the connected to field on the
        status page.
      - Removed replace missing frames with echo feature.
      - Status page is now refreshed even when the page is not active.
      - Readded spin.min.js as it is needed by Ladda, this fixes a JS error
        and reenables spinner in buttons.
      - Added null connector. Users can change profile, query status when
        the null connector is active.
      - Added option for shortened BrandMeister connect announcement.
      - Added backup server list to Homebrew connector settings.
      - Password change will be initiated when the enter is pressed in
        the new password input field.
      - Added missing profile change for srf-ip-conn connectors.
      - BM rows only now only show up when BM is the active connector.
      - Fixed DMR SMS box resize.
      - Fixed D-STAR reflector change hang issue.
      - Fixed: DMR autocal did not update modem freqs on init.
      - Fixed: reroute ID/calltype was incorrectly voice announced after
      - Fixed: rewrite ID was unnecessarily announced when using cross
        modem mode.
      - Fixed: Homebrew reroute overwritten to spk profile/status query
        DMR ID.
0092: - Fixed startup hang if remote only voice announcement is enabled.
0091: - Added voice announcements. Some voice announcements are stored in
        openSPOT's flash memory, but most of them are played from a remote
        spk server. The server's source code is available on Github at

        You can query the active connector info:
          - DMR: call the "Connector query DMR ID" with a PTT press
            (by default it's ID is 9998).
          - C4FM: DTMF code *D
          - D-STAR: call "       I" (7 spaces and an I)

      - Added profile change support to connectors.

        You can query the active profile number:
          - DMR: call the "Profile query/change base DMR ID" with a PTT
                 press (by default it's ID is 9000).
          - C4FM: DTMF code *A
          - D-STAR: call "       P" (7 spaces and an P)
        To change the active profile:
          - DMR: call the "Profile query/change base DMR ID" with the new
                 profile number appended to the base ID. Example: you want
                 to switch to profile 4, and your query/change base DMR ID
                 is 9000: you have to call 90004 with a short PTT press.
          - C4FM: DTMF code *A4 (*A and the new profile number)
          - D-STAR: call "       4" (7 spaces and the new profile number)

      - Added BrandMeister linked talkgroups/reflector info to the status
      - Added BrandMeister talkgroup and DMRplus reflector list to
        Homebrew quick call.
      - Changed Homebrew password field on the web interface to be readable.
      - Renamed QTH location fields on the web interface.
      - Added advanced missing packet handling to DMRplus dongle connector.
      - Server is now remembered when switching between Homebrew and
        MMDVM protocol modes.
      - Added Homebrew call reroute info to the status page.
      - Added backup server option for the Homebrew connector. This backup
        server is used when the main server can't be connected in the given
        timeout time.
      - Added 2 more lock IDs/callsigns, so now 3 can be defined.
      - Status page has been restructured.
      - Added modifiable DTMF special/private call and group call codes.
      - Added quick private/group call 4000 buttons to the web interface.
      - Added ETag support to the built-in HTTP server, so from this
        version there's no need to manually clear the browser cache as
        browsers should be able to decide whether the web interface needs
        a full refresh.
      - Homebrew MMDVM protocol mode fixes.
      - Fixed FCS and YSFReflector no keepalive sent issue.
      - Fixes for Chinese radio stuttering and dropouts.
0087: - Added option for transmitting RX confirmation for received C4FM
        calls from the modem. This will make the C4FM radio to emit a beep.
0086: - Connectors now reconnect much quicker. Connector switching got
        quicker too.
      - Sending a group message in UDP/Chinese now always succeeds (group
        data calls are unconfirmed).
      - Improvements in D-STAR lost packet handling.
      - Disabling DMR in-band data sending to modem now does not disable
        in-band data sending to the network.
0085: - Added option for removing DMR in-band GPS pos. and talker alias data
        from modem stream. Some radios (like the Hytera PD365) doesn't seem
        to handle in-band data correctly, so in-band data should be removed
        from the stream sent to them.
      - Added support for interrupting ongoing calls when doing a quick call.
        This is possible because of the new Homebrew protocol command RPTINTR.
        Note that this command is only available in the latest Brandmeister
        version, so your server may not support it yet.
0084: - Added support for config profiles.
      - Added support for exporting and importing profile config files.
      - Notice: openSPOT automatically migrates configs from v0030 to v0084
        to this version, but if you downgrade, your configuration will be
        reset to defaults.
      - Added MMDVM protocol mode to the Homebrew connector which can be
        used to connect to DMRplus for TS1 and TS2 support. DMRplus dongle
        protocol will be removed in a later version as the MMDVM protocol
        allows more robust packet loss handling.
      - Added quick call feature to the web interface. This currently works
        only with the Homebrew connector.
      - openSPOT now allows in-call GPS data and talker alias to pass.
      - Added support for cross mode talker alias handling.
      - Added force talker alias to network option to the web
        interface. If it's set, this alias will be sent instead of the DMR
        radio's alias to the network. You can also use this if your radio does
        not support talker alias sending.
      - Now all callsigns are converted to uppercase, as D-STAR servers
        reject connections with lowercase callsigns.
      - Added option to adjust Homebrew advanced missing packet handling.
        This is turned on by default. If you have network connection issues
        with high packet loss, advanced missing packet handling gives better
        audio recreation of the missing frames.
      - Fixed Homebrew data/SMS send.
      - Fixed that default DMR ID is not used for unparseable C4FM callsigns.
      - Removed spin.js.
0077: - Added support for transmitting CW ID.
      - Improved C4FM DTMF decoding.
      - Improved missing packet handling of Homebrew, YSF reflector, FCS,
        SRF-IP-CONN connectors.
      - Fix invalid logout.cgi response.
      - Fixed YSF reflector poll handling.
      - Fixed DMR SMS page show, network/modem enabling on the web interface.
0073: - Added BCLO feature (modem other settings, if set other than 0,
        openSPOT will only start transmitting when the RSSI level is below
        BCLO level).
      - Changed the string "password" to "server password" at Homebrew
        settings on the web interface.
0072: - Increased max. length of DMR ID on the web interface to be compatible
        with Brandmeister's new SSID feature (you can add an SSID from 0 to 99
        to your DMR ID, for ex. DMR ID 2161005 and SSID 43, then enter
        216100543 as your DMR ID).
      - Changed reflector database domain zone.
      - Fixes for adding and deleting custom servers on the web interface.
0071: - Fixed Homebrew connector reroute ID overwrite when auto connect is
0070: - Fixed REF/XRF, DCS/XLX reflector change issue.
      - Fixed D-STAR TX message header transmit issue.
0069: - Fixed D-STAR RX from srf-ip-conn server.
      - The Homebrew connector reroute ID is now only overwritten to the
        auto connect ID if rerouting is not turned off.
0067: - Now reflectors between DCS/XLX and REF/XRF connectors can be switched
        using the radio.
      - Fixed Homebrew packet destination/source ID parse error.
0066: - Added room descriptions to FCS server list.
      - Added transmit of D-STAR current connector message after modem RX ends.
      - DMR CC of frames coming from the network is now always overwritten.
      - DPlus protocol fixes on XLX reflectors.
      - Fixed D-STAR local echo and DCS out-of-sync problem.
      - Fixed nopass autologin when browser auto fills the password.
0064: - No more need to login if no web interface password is set.
      - Autocon ID is overwritten when TG/ref. is changed from the radio.
      - Homebrew autocon interval is now zero by default, and it is resetted
        to zero after this firmware upgrade.
      - "connected to" field is now updated on both call start and call end.
      - Fixed "connected to" display in cross modem mode.
      - Autocon disconnect now calls 4000 in a group call, not private, so
        talkgroups are unlinked too.
      - DCS fixes.
0061: - DPlus/DExtra fixes.
      - Added HTTP CORS headers.
0060: - Added DMR SMS chat page.
      - Added support for sending and receiving DMR SMS messages to/from
        the network (currently supported connectors: Homebrew, SRF IP Conn.
        client & server).
      - Added private DMR SMS ack for Chinese radios.
      - Fixed D-STAR invalid header TX caused by a compiler optimalization
      - Fixed negative lat/long coordinate display at location settings.