High quality wireless communications equipment

openSPOT firmware files

See the manual for firmware upgrade instructions!

Latest firmware binary file


Changelog for SharkRF openSPOT firmware versions.

0142: - Add support for FCS servers which have IDs larger than 9.
0141: - Fix source UDP port of DHCP packets.
      - Fix DMR TACT parity calculation.
0139: - Added further error checks for the used BM API key.
0138: - Added BrandMeister API support.
      - Added transmit RX confirmation option for D-STAR.
      - Added country of operation setting.
      - 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.
      - Fixes for receive issues with some TYT MD380 radios.
      - Fixed frequency save inconsistency when modem frequencies changed and
        the openSPOT rebooted immediately without saving another setting.
      - Fixed SharkRF IP Connector traffic not shown on UDP traffic graph.
      - Fixes for importing older version config profile files.
0131: - Fix D-STAR gateway reconnect issue.
      - Fix modem reconnect issue.
      - Fix hangs on connector change.
      - DMR/C4FM half deviation AutoCal fixes.
      - 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.
      - Fixed YSFReflector calls dropped after 60 seconds.
0127: - Added C4FM half deviation mode support.
      - Improved demodulation.
      - Fixed transmitting letter Z on CWID.
      - Fixed YSFReflector profile query/switching.
      - Fixed issues with config export/import.
      - Fixed: DMR voice calls with CC mismatch were processed with late entries.
0123: - Added C4FM squelch code support.
      - DCS server list has been restructured to a separate server and module
      - Changed default 4FSK TX mode to plain 4FSK, as some Chinese radios
        work with it better.
      - Improved demodulation.
      - 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
      - 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.
      - 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)
      - The password is now saved for each SharkrRF IP Connector Client server
        added on the web interface.
      - Current D-STAR reflector is now selected from the dropdown list after
        changing from radio.
      - The reroute ID, call type, and C4FM destination ID, call type are now
        updated when a quick call is made on the web interface.
      - Improved D-STAR missing packet handling.
      - Profile name now cleared when the current profile's config is reset
        through the web interface.
      - Fixed: location coordinate rounding errors.
      - Fixed: sending negative location coordinates on the Homebrew/MMDVM
      - Fixed: DMRplus dongle server was not selected in the dropdown list
        after page load.
      - 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.
      - "/" D-STAR gateway link command now parsed correctly.
0108: - 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.
      - 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.
      - 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.
      - Profile query/change, connector status calls are no longer sent to
        the network.
      - 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.
      - Improved intermittent DMR call start handling.
      - Fixed MMDVM options reflector not changed when dropdown list
        selection changed.
      - Fixed modem TX power init.
      - 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
      - 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".
      - 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 call log to the web interface.
      - The reworked HTTP interface is now using standard JSON Web Tokens
      - 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)

      - Connectors now reconnect much quicker. Connector switching got
        quicker too.
      - 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. Config will be reset to defaults when migrating
        from below v0030.
      - Added BM server status/link/active group page links to the status page.
      - Added USB serial console.
      - openSPOT now allows passing and modifying in-band GPS data and talker
        alias even in cross modem modes.
      - Added null connector. Users can change profile, query status when
        the null connector is active.
      - 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 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
      - 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 option for only accepting C4FM calls with DMR ID callsigns in
        cross mode.
      - 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 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.
      - Status page is now refreshed even when the page is not active.
      - Password change will be initiated when the enter is pressed in
        the new password input field.
      - Added BrandMeister linked talkgroups/reflector info to the status
      - Changed Homebrew password field on the web interface to be readable.
      - Renamed QTH location fields on the web interface.
      - 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 set.
      - 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.
      - Added option for transmitting RX confirmation for received C4FM
        calls from the modem. This will make the C4FM radio to emit a beep.
      - Added quick call feature to the Homebrew connector.
      - Now all callsigns are automatically converted to uppercase, as
        D-STAR servers reject connections with lowercase callsigns.
      - Added support for transmitting CW ID.
      - Improved C4FM DTMF decoding.
      - Improved missing packet handling for all connectors.
      - 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.
      - Added "allow module G pass to modem" option to REF/XRF connector.
      - Fix invalid logout.cgi response.
      - Fixed YSF reflector poll handling.
      - Fixed DMR SMS page show, network/modem enabling on the web interface.
      - Sending a group message in UDP/Chinese now always succeeds (group
        data calls are unconfirmed).
      - Fixed modem TX power percent calculation on the status page.
      - Fixed DMR SMS box resize.
      - Fixed: DMR autocal did not update modem freqs on init.
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: - Now reflectors between DCS/XLX and REF/XRF connectors can be switched
        using the radio.
      - Added room descriptions to FCS server list.
      - Added transmit of D-STAR current connector message after modem RX ends.
      - 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.
      - Fixed Homebrew packet destination/source ID parse error.
      - 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.
      - 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.
      - 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.
      - DPlus/DExtra fixes.
      - Added HTTP CORS headers.
      - Fixed D-STAR invalid header TX caused by a compiler optimalization
      - Fixed negative lat/long coordinate display at location settings.
0058: - Added invalid C4FM seqnum handling to FCS, YSFReflector and
        srf-ip-conn connectors.
0057: - Added correct D-STAR seqnum handling to all connectors to reduce
      - DCS is now reloaded when location settings change.
      - Changed DCS repeater status page HTML display format.
      - Fixed DMRplus call handling.
0056: - Added YSFReflector support.
      - Added XRF/DExtra support.
      - Added latest firmware version check to the web interface.
      - Added XLX servers to DCS list.
      - Changing modem frequency now overwrites current connector's
        frequency settings.
      - Added separate AGC and sensitivity settings for each modem mode.
      - Srf-ip-conn now can have empty passwords.
      - Srf-ip-conn D-STAR seqnum and session ID handling fixes.
      - Data calls won't show up as connected to ID when using the
        Homebrew connector.
      - Fixed login session handling.
      - Now the call won't be silent on Motorola radios with enabled
        call interruption for the current channel.
      - Fixed MDNS server query handling.
      - HTTP server now handles HTTP request name fields case insensitive.
0052: - Added zeroconf device discovery to the built-in multicast DNS
      - Improved C4FM demodulation.
      - Fixed Homebrew not reconnecting when server is fully restarted.
      - Fixed C4FM repeater internet gateway transmitting problem.
0050: - Added "connected to" to the status of the web interface.
      - Added dynamic DCS and REF reflector and module change.
      - Added DMR SMS send in all formats option to the web interface.
      - Added Chinese radio DMR SMS send format.
      - Added loader animation to the main page.
      - Graphs on the status page are now toggleable.
      - Added Homebrew disconnect reflector on Auto Connect, removed
        single link refl./tg. checkbox from the web interface
      - Added loading animation to the web interface.
      - Improved D-STAR demodulation.
      - Fixed D-STAR seqnum calculation.
      - Fixed autocon loop, now autocon sends silent voice frames too.
      - Fixed Homebrew autocon interval reset on boot.
      - D-STAR REF fixes.
      - Web interface data load fixes.
      - Fix C4FM reroute issue.
0048: - Added D-STAR DPlus (REF) support.
      - Added call type option to Homebrew auto call.
      - Added redirection to index.html so the web int. is always
        opened by the IP address, which means faster loading
        times under some browsers.
      - Homebrew rerouting is now dynamic. If you switch to a new
        reflector/talkgroup, reroute ID will be automatically set to
        the new reflector/talkgroup, so you can talk and receive
        reflectors/talkgroups on TG9.
      - Added C4FM DTMF decoding which allows switching FCS rooms
        and DMR reflectors/talkgroups using a C4FM radio.
      - Added C4FM DTMF auto mute when DTMF command enter is started.
      - Homebrew C4FM cross mode dynamic reflector/talkgroup
        switching with a DTMF code now automatically sets the
        outgoing C4FM DMR ID to the new reflector/talkgroup ID.
      - Added FCS room switch with DMR private calls.
      - Now storing the new reflector ID in settings when using
        DMRplus quick reflector switch with your DMR radio.
      - Fixed web interface loading overlay.
      - Homebrew and srf-ip-conn client no longer reconnects when
        modem freqs or power change.
      - Fixed Homebrew data call handling.
      - Added missing D-STAR CCS connect packet.
      - Added saving custom server addresses.
0041: - Added lock to callsign/CCS7/DMR ID feature.
      - Added Homebrew call rerouting.
      - Added DMR AutoCal.
      - openSPOT now always connects in DMO mode to BrandMeister if
        the modem is in Hotspot/C4FM mode.
      - Homebrew protocol product name, version name format changed
        as requested by BM admins.
0039: - Added RX/TX frequency setting for all connectors.
      - Added cross mode C4FM destination ID and call type setting
        to the Homebrew connector.
      - Added modem mode, RX/TX frequency display to the status page.
      - Renamed a field in DMR settings on the web interface.
      - Fixed: beginning of a C4FM call was missing when using a DMR
        connector in cross mode.
      - Added DMR demodulation mode setting.
      - Fix for stuck audio on TYT MD380 devices.
      - Fix for first second of a DMR call is missing.
0036: - Small bugfixes. If you don't have RX audio on your radio in
        fw. ver. 0035, please upgrade to 0036.
0035: - Fixes for TYT and Motorola radios.
      - Fixed: local echo service not always working for the first
        time after reboot.
0034: - Fixed D-STAR header decode issue in release builds, which
        caused the first second of the call missing.
      - Added network UDP traffic graph to the web interface status.
      - Improved DMR call end detection.
0032: - Allow Homebrew password to be set to empty.
      - Added notice to the web int. when an SRF-IP-CONN connector is
        active, and the modem is in idle mode.
      - Bugfixes on the web interface and in DMR AMBE handling.
      - Added custom modem sensitivity and filter gain settings to
        the web interface.
      - Note that upgrading to this release from previous versions
        will reset the device's configuration to defaults.
      - Fixed invalid DMR EMB transmit, which caused hard late entry
        on the receiving radio.
      - Fixed STATUS LED delayed signalling that the connector is
      - Use default DMR ID for C4FM calls when it is not set on the web
        interface. DMR radios can't receive calls with src ID 0, so in
        that case the default DMR ID for C4FM calls is used (9998).
0029: - Fixed invalid DMR EMB transmit, which caused hard late entry
        on the receiving radio.
      - Fixed STATUS LED delayed signalling that the connector is
      - Use default DMR ID for C4FM calls when it is not set on the web
        interface. DMR radios can't receive calls with src ID 0, so in
        that case the default DMR ID for C4FM calls is used (9998).
0028: - Fixed modem init calibration.
0027: - First release.