The following reference includes the latest firmware revision 6 released October 20, 2011.

1.0 Purpose

The DMK -11A Hardware-Software Reference is designed to provide detailed information about the hardware and software interfaces of the DMK-11A to enable a user to interface of a variety of marine hardware and wireless devices to the DMK-11A and to allow software developers to configure and control the unit through its Wi-Fi interface.

1.1 Introduction

The DMK-11A is a wireless gateway that bridges marine electronics data from a variety of marine data buses to Wi-Fi (802.11b). Its objective is to allow the graphic display of marine data on a variety of devices including laptop and desktop personal computers and a range of compact portable devices including Apple iOS devices (iPhone/iPad/iPod touch) and Android devices.

The DMK-11A was created with the realization that almost everyone carries around intelligent portable devices and these devices make ideal platforms for displaying marine data. These devices have the added feature that programs can easily be upgraded to incorporate new features unlike fixed function marine displays which can be upgraded only through a complicated firmware download if at all. Because they are portable, the devices support a number of wireless connections-Bluetooth and Wi-Fi being the most common. Wi-Fi was chosen as the wireless connection for the DMK- 11A because it is available across the widest variety of portable and fixed platforms.

Using Wi-Fi also allows the DMK-11A to connect to the Internet though Wi-Fi Access Points available at many marinas. This means that it is possible to monitor your boat from a remote location with the DMK-11A.

1.2 Hardware
DMK Box 11A
Figure 1 – DMK-11A

The DMK-11A consists of a small waterproof, impact resistant polycarbonate box with a single 10 pin flat ribbon cable and one or two (-GPS option) antenna connectors. Inside the box are:

  • a high performance low power embedded processor and NMEA2000 interface chip set
  • two NMEA 0183 interfaces
  • a SeaTalk® interface
  • an integrated Wi-Fi module with external antenna connector
  • 6 LEDs that provide status information
  • Optional GPS module with external antenna connector (-GPS option)
  • Optional 16megabyte EEPROM for storing data packets for later transfer over Wi-Fi (-STO option)*
Note—Firmware support for the –STO option will be available in Firmware Release 7.

The three interfaces of the DMK-11A support virtually all existing marine electronics instrumentation. The DMK-11A has been designed to support data transfer on all buses simultaneously so that it is possible to serve multiple bus types with a single DMK-11A.

The DMK-11A runs firmware programmed into the Flash Memory of its embedded processor. This flash memory is preserved even when power is removed from the unit. Configuration information written into the unit is also preserved when power is removed.

1.2.1 IO Cable Pin-out

The following is the pin-out of the 10 pin I/O connector located inside the DMK-11A and the color coding of the flat ribbon cable that is attached to the I/O connector and brought out of the box through the environmentally sealed cable gland:

1BrownDC In (5-24VDC)
2RedSeaTalk® Receive/Transmit
3OrangeNMEA 0183 In (Port A)
4YellowNMEA 0183 Out (Port A)
5GreenNMEA 0183 In (Port B)
6BlueOnBrdGPSOut (4800 baud)
7PurpleNMEA2000 H
8GrayNMEA 2000 L
Table 1-Pin-Out
1.2.2 DC In

The DMK-11A can be powered from 5-25 VDC. Power is normally provided through the NMEA2000 interface or the SeaTalk® interface or can be provided through a separate power circuit. The DMK-11A consumes about 80 ma (milliamps) at 12VDC and less than 50ma at 24VDC. The two Ground wires are connected in parallel and either or both can be used as a Ground Return (using both is recommended).

1.2.3 LEDs

Six LEDs are visible through the transparent box cover and indicate the following functions:

LED0GreenStatus of Wi-Fi and Data Connections to DMK-11A
LED1YellowSeaTalk® Activity
LED2YellowNMEA2000 Activity
LED3YellowNMEA0183 PortA Activity
LED4YellowNMEA0183 PortB Activity
LED5YellowOn Board GPS Activity
Table 2-LEDs

When power is initially applied to the DMK-11A, all the LEDs flash on for 1⁄2 second and then off. LED 0 –Status of Wi-Fi and Data Connections to DMK-11A

LED0 displays the real-time status of Wi-Fi and Data Connections to the DMK-11A. This is done through a series of distinct flashing patterns:

Short On/Off (1/8sec On, 1/8sec Off)Wi-Fi Initializing + Connecting
Short On followed by Long On (1/8sec On,1/8sec Off,5/8sec On, 1/8sec Off)Wi-Fi Active + DHCP In Process (Infrastructure Mode Only) See Section 1.2.8 on DHCP
Solid OnWi-Fi Active---No Active Data Connections
One, Two or Three Short On followed by a Long OffWi-Fi Active—1, 2 or 3 Active Data Connections
Table 3-LED 0
1.2.4 External Wi-Fi Antenna Connector + Antenna

The DMK-11A has an RP-SMA (Reverse Polarity SMA) connector that is designed to support a number of different Wi- Fi antennas. A 2 dB gain Wi-Fi antenna with a swivel is provided that provides flexibility in mounting the DMK-11A. Other higher gain antennas are readily available and it is possible to mount the antenna in a different location from the DMK-11A by using low loss coaxial cable to remote the antenna.

It has been found that the 2 dB gain Wi-Fi antenna provided has a range of at least 150 feet in most mounting situations. A comprehensive antenna mounting guide is beyond the scope of this reference but the following practical tips are offered to achieve maximum range:

OrientationMount the DMK-11A such that the antenna can be swiveled to vertical and use the antenna in this orientation.
HeightMount the DMK-11A at about the same vertical level where most of its use will occur. If use occurs on several vertical levels, mount the DMK-11A near the vertical center of use.
LocationMount the DMK-11A near the horizontal center of use. If most of the use is anticipated in the stern of the boat, this is where it should be mounted.
MetalDo not mount the DMK-11A inside a metal container including a metal enclosed engine room.
Table 4-Antenna Mounting Tips
1.2.5 On Board GPS Option + External GPS Antenna

If the DMK-11A is equipped with the GPS option (DMK-11A-GPS), a high performance 12 channel GPS is integrated into the unit and an external antenna is provided. The on-board GPS messages will generate the same type of NMEA 0183 messages that begin with ‘$’ as an external NMEA 0183 GPS unit. Although the On Board GPS is On by Default, it can be turned off by means of a software setting. See Section 2.4 for more information on the packets generated by the On Board GPS.

1.2.6 Adhoc vs Infrastructure Mode

The DMK-11A can be configured to operate in either Adhoc Mode (also known as Peer to Peer Mode) or Infrastructure Mode but not both at the same time.

In Adhoc Mode, the DMK-11A initializes and starts broadcasting its SSID (SSID stands for Service Set Identifier—the technical term for the Wi-Fi Network Name). Other devices within range can see the SSID and knowing the WEP Code of the DMK-11A (see Sect 1.2.7 Network Security) can connect to it. Peer to Peer mode does not support DHCP (see Sect 1.2.8 Dynamic Host Configuration Protocol) and before you can transfer packets to and receive packets from the DMK- 11A, you must manually set the IP address of your device to be in the same subnet as the DMK-11A. See the default configuration of the DMK-11A for more guidance.

In Infrastructure Mode, the DMK-11A initializes and then tries to connect to the network with the SSID that has been configured into it. If the DMK-11A cannot find a network with a matching SSID (SSIDs are case sensitive), it will keep trying forever to connect to that network. If it does identify a network with the correct SSID, it will apply the network security setting that has been configured to try to complete the network connection.

Note—DMK-11A automatically detects a dropped network connection in Infrastructure Mode and re-enters the Connecting Mode where it remains until the network is available again.

1.2.7 Network Security

The DMK-11A always operates with WEP (Wireless Encryption Protocol) security when in Adhoc Mode and requires any device connecting to the DMK-11A to provide a 10 hex digit “key” that must match the key configured into the DMK-11A.

In Infrastructure Mode, the DMK-11A can use no security (an “open” connection), WEP security, WPA (Wi-Fi Protected Access) or WPA2 security depending on what the Access Point requires. Rather than a hex key, WPA and WPA2 use a plain English passphrase (also known as a PSK--preshared key) between 8 and 64 characters long.

Note—The DMK-11A Rev 6 firmware has an issue with the Adhoc WEP security configured as Default. Devices that attempt to connect to the DMK-11A with an incorrect key think that they have successfully connected although no data can be sent to or received from the DMK-11A. An effort is being made to resolve this problem. Challenge String

In addition to the network security described above, the DMK-11A has a second level of security in the form of a ten character “challenge string” that is sent to the DMK-11A as a part of every command packet. If the incoming challenge string does not match the configured challenge string, the packet is ignored. The default challenge string is set to “0123456789” but it can be changed as part of the software configuration (Section 2).

1.2.8 DHCP (Dynamic Host Configuration Protocol)

In Infrastructure Mode, the DMK-11A supports DHCP after a connection to an Access Point has been made. DHCP is a protocol which requests that the Access Point provide an appropriate IP Address, a NetMask and a Default Router Address. DHCP is automatically invoked by the DMK-11A in Infrastructure Mode when the unit’s IP Address is configured to “”. DHCP is not utilized in Adhoc Mode.

1.2.9 Multiple Connections—Streaming or On-Demand

The DMK-11A supports up to three simultaneous wireless connections. Each of these connections can either be Streaming or On-Demand. The difference between a Streaming and an On-Demand connection is that in a Streaming Connection, the DMK-11A is pre-configured with an IP Address and Port (the combination of IP Address and Port is referred to as an Endpoint) . Once the DMK-11A has completed setting up its network connection, it continuously streams data to any configured and enabled streaming connections. No action is required on the part of the receiving Endpoint.

On-Demand Connections require that the device accessing the DMK-11A send periodic Start packets to it. When the DMK-11A receives a valid Start packet from a device and at least one of its three connections is available, it begins sending data to that device’s Endpoint. The DMK-11A needs to be “refreshed” with a Start packet every 60 seconds to keep sending data to that Endpoint. If a Start Packet is not received within 60 seconds, data stops and the connection is taken down. The connection is immediately available for reuse.

Streaming and On-Demand connections each have their individual benefits outlined in the table below:

StreamingNo commands to the DMK-11A are required. This type of connection works well with 3rd party applications. This type of connection is also useful in Infrastructure Mode if you want to stream data to a remote location at a known fixed Endpoint (IP Address + Port) over the Internet.
On-DemandMount the DMK-11A at about the same vertical level where most of its use will occur. If use occurs on several vertical levels, mount the DMK-11A near the vertical center of use.
Table 6-Stream + On-Demand Connections

Note—The DMK-11A will always respond to valid command packets even when all three connections are active. An attempt to Start a 4th connection will fail, however. The response packet will indicate the failed Start attempt.

2.0 Packet Formats and DMK-11A Configuration

All communication with and control of the DMK-11A, with the exception of the Manual Reset (Section 2.3), is done by means of UDP packets sent and received over the Wi-Fi interface. Only one type of packet is received by the DMK-11A, Command Packets which are used for configuration and control purposes. Two types of packets are generated by the DMK-11A, Response Packets which are the responses to valid Command Packets and Data Packets which are sent to devices connected to the DMK-11A through either Streaming or On-Demand Connections.

Note--With the current DMK-11A firmware (Rev6), all connections, Streaming and On-Demand, receive all data packets. In future firmware versions, there will be configuration options to allow different data packets to be streamed to different connections.

2.1 Data Packets

As discussed in Section 1 of this manual, the DMK-11A can receive data from multiple sources and multiple protocols simultaneously. When receiving this data, the DMK-11A insures that the received packets are formatted properly but does not attempt to interpret their contents before encapsulating them as UDP packets for transmission to all current connections. The following is the format of Data Packets transmitted over the Wi-Fi link by the DMK-11A. Of the three protocols, NMEA0183 is the only protocol that contains ASCII readable data. The other two protocols transmit binary data.

SourceInput Packet FormatWi-Fi Packet Format
NMEA0183+OnBoard GPS$ABC....<CR>and/or<LF>+!ABC....<CR>and/or<LF>*$ABC....<CR><LF>+!ABC....<CR> <LF>
SeaTalkVariable Length SeaTalk packet. The beginning of each packet is detected by the DMK-11A hardware.Variable Length Binary Packet consisting of 0x7f + the variable length binary SeaTalk Packet.
NMEA2000 Fixed Length 13 Byte Binary Packet consisting of 5 bytes of address/packet type information + 8 bytes of data.Fixed Length 79 byte Binary Packet consisting of 0x7e + Six 13 byte NMEA2000 Packets.**
DMK-11ANoneOne Byte 0x7d Keep Alive Packet. The Keep Alive Packet is sent by the DMK-11A every two seconds if no other packets have been sent in the last two seconds.
Table 7- Data Packet Format

*All 0183 packets other than AIS packets begin with ‘$’. AIS packets begin with ‘!’

**NMEA2000 instruments send packets at a much higher rate than older instruments. The packaging of 6 NMEA2000 packets into one Wi-Fi packet results in a lower chance of dropped packets due to trying to send packets over the air at too high a rate.

2.2 DMK-11A Configuration

Each DMK-11A box is shipped with the same default configuration. This default configuration will work fine for many applications. However, for other more advanced applications, changing the configuration is required. It is possible to change the configuration in such a manner that it is no longer possible to communicate with the unit over the Wi-Fi link. In such a situation, a Manual Reset is provided to return the unit to its default configuration.

The following table illustrates the default configuration of theDMK-11A as well as the available settings for each configuration:

SettingDefaultOther Options
SSID“dmkyacht”Any string up to 32 Ascii characters*
ModeAdhoc with WEP SecurityInfrastructure Open or with WEP,WPA,WPA2 Security
WEP Code0123456789Any 10 hex digits
PSK (WPA/WPA2)“dmkyacht”Any string up to 64 Ascii characters*
Challenge String**“0123456789”Any 10 Ascii characters
0183 PortA Baud Rate38,400 Baud4800,9600,19200,57600,114200 Baud
0183 PortB Baud Rate4800 Baud9600,19200,38400 Baud
On Board GPSOnOff
IP Address192.168.1.124Any valid IP Address
NetMask255.255.255.0Any valid NetMask
Gateway IPAddress192.168.1.1Any valid Gateway IP Address
Streaming Connections10,2,3
Streaming Endpoint 1192.168.1.2/1703Any valid Internet Endpoint
Streaming Endpoint 2192.168.1.3/1703Any valid Internet Endpoint
Streaming Endpoint 3192.168.1.4/1703Any valid Internet Endpoint
Table 8-Default Configuration

*It is recommended although not required that printable Ascii characters are used in the SSID and PSK.

**The10 character Challenge String is part of the command packet format used to program the DMK-11A. The Challenge String in the command packet must match the DMK-11A challenge string for the command to be considered valid. The Challenge String does not have to be printable characters.

All configuration of the DMK-11A, with the exception of the Manual Reset, is done through the Command Packet Interface. Comand Packets are UDP packets sent from a connected or unconnected device to the DMK-11A. In addition to Command Packets which configure the DMK-11A, there are two Command Packets which provide status responses which indicate the configuration of items on the unit. All command packets have the same format, a command byte which indicates the type of the packet followed by 10 bytes which form a Challenge String followed by 0 or more bytes which provide configuration information.

The following table is a complete list of all Command Packets which can be sent to the DMK-11 (as of Firmware Revision 6). Command packets are either fixed length or variable length depending on the data carried by the packet. Each packet has either an “Immediate” Action which means that it acts immediately or a “Reset” Action which means that the information is written into Non-Volatile memory but has no effect until the next hardware reset of the DMK-11A.

The response to all packets except the GetStreamingEndPoints and the GetStatus packets is a two byte UDP packet where the 1st byte is the CmdByte echoed back followed by a byte which contains the firmware revision (currently 6). The one exception to this is the response to a Start Connection when all three available connections are currently active. The response in this case is still two bytes—0xff followed by the firmware revision. 0xff indicates that the Command cannot be executed since no more connections are available.

Command Packets that have CmdBytes other than the ones in the table below, have an invalid Challenge String or have data lengths other than indicated in the table below are ignored (no response).

Packet TypeCmdByteActionDataLenData
SetMode0xa0Reset1 One Ascii character:
0x30-Adhoc Mode WEP Security (Default)
0x31-Infrastructure Mode Open (No Security)
0x32-Infrastructure Mode WEP Security
0x33-Infrastructure Mode WPA Security
0x34-Infrastructure Mode WPA2 Security
SetPSK0xa1Reset1-64 Sets the Pre Shared Key used in WPA and WPA2 Security. Although any Ascii characters can be used (0-255), using printable Ascii characters is recommended.
SetIP Address0xa2Reset4+4+4 Sets the IP Address(data bytes 0-3), the NetMask(data bytes 4-7) and the GateWayAddress(data bytes 8-11) of the DMK-11A. Setting any 4 byte field to 0xff,0xff,0xff,0xff causes that field to revert to it default setting. Setting the IP Address to causes DHCP to be used in Infrastructure Mode. Setting the IP Address to in Adhoc Mode is not valid
SetStreamingEndPoints0xa3Reset6+6+6 Sets the IP Address and Port Number (4+2 bytes) for each of three streaming endpoints (data bytes 0-5,6-11,12-17)
GetStreamingEndPoints0xa4Immed0 DMK-11A responds with a 19 byte packet with the 1st byte 0xa4 and the remaining 18 bytes providing the 3 streaming endpoints currently set in the DMK-11A.
StartConnection0xa5Immed0Starts an On-Demand Connection to the Endpoint (IPAddress/Port) of the device that issued the command. The On-Demand Connection must be “refreshed” with an additional StartConnection at least every 60 seconds to maintain the connection. Issuing StartConnections more frequently than every 60 seconds has no adverse affect. Issuing a StartConnection on a Streaming Connection has no effect.*
StopConnection0x5aImmed0 Immediately stops an On-Demand Connection that has been started. Issuing a StopConnection when no On- Demand Connection exists has no effect. Issuing a StopConnection when a Streaming Connection exists has no effect (ie, the connection remains).
Reset0xa6Immed0After two seconds, the DMK-11A resets which results in all Reset updates being used. The two byte response packet is issued before reset takes place.
SetSSID0xa7Reset2-32 Sets a new SSID. Although any Ascii characters can be used (0-255), using printable Ascii characters is recommended.
SetWEPCode0xa8Reset5 Sets a new WEP Code. The five data bytes contain 10 hexadecimal digits packed two to a byte.
SetChallenge0xa9Reset10 Ten characters (0-255) which represent the Challenge String that is compared to validate each Command Packet.
Set0183BaudRatePortA0xaaReset1 0x30-4800
0x35-114200 baud
Set0183BaudRatePortB0xabReset1  0x30-4800 0x31-9600 0x32-19200 0x33-38400
OnBoardGPS0xacReset1 0x30-OnBoardGPSOff
GetStatus0xadImmed0 DMK-11A responds with an 18byte packet—0xad + 17 bytes of status:
Byte 1-current number of active connections
Byte 2-number of dropped 2000 packets*
Byte 3-number of dropped 0183 Port A packets* Byte 4-number of dropped 0183 Port B packets* Byte 5-number of dropped OnBoardGPS packets* Byte 6-number of dropped SeaTalk packets*
Byte 7-number of SeaTalk collisions detected*
Byte 8-primary port programmed baud rate
Byte 9-seondary port programmed baud rate
Byte 10-OnBoardGPS programmed On/Off
Byte 11-number of Streaming connections programmed Bytes 12-17-Wi-Fi MAC address
SetStreamingConns0xaeReset1 Sets the number of Streaming Connections. 0x30-No Streaming Connections
0x31-One Streaming Connection to Streaming EP1
0x32-Two Streaming Connections to Streaming EP1+EP2
0x33-Three Streaming Connections to Streaming EP1+EP2+EP3
SetDefault0xafReset1 All settings are returned to the Default Configuration after the next Reset.
Table 9-Command Packets

*After responding to the GetStatus Command, these counters are reset to 0.

2.3 Manual Reset

Manual Reset provides a method of resetting the DMK-11a to its default configuration. To do a manual reset of the DMK-11A, connect the SeaTalk input (pin 2-Red) to Ground (pin 9 or 10-White/Black) and apply power to the unit. All the LEDs will flash multiple times. Wait until the LEDs finish flashing, about 5 seconds. The DMK-11A will now be in its default configuration.

2.4 On Board GPS Packets Generated

The NMEA 0183 protocol covers a broad array of data. This broad array of information is separated into discrete messages, each of which conveys a specific set of information. The entire protocol encompasses over 50 messages, but only a sub-set of these messages apply to a GPS receiver. The NMEA message structure is described below.


“$” The “$” signifies the start of a message.
ID The talker identification is a two letter mnemonic describing the source of the navigation information. The GP identification signifies a GPS source.
MSG The message identification is a three letter mnemonic which describes the message content and the number and order of the data fields.
“,” Commas serve as delimiters for the data fields. Each message contains multiple data fields (Dn)
“*” The asterisk serves as a checksum delimiter.
CS The checksum field contains two ASCII characters which indicate the hexadecimal value of the checksum. [CR][LF] The carriage return [CR] and line feed [LF]combination terminate the message.

The On Board GPS unit generates 5 packet types. The following information is presented in sufficient detail to allow parsing of each message type. Each of these packets is generated once per second with the exception of the satellites in view command ($GPGSV) which is generated three times each second to provide details on the 12 satellites that the unit can simultaneously track. This data is also driven out OnBrdGPSOut (pin 6-Blue) at 4800 baud (8-N-1).

The following table provides details of each data field type:

StatusA Single character field:
A=data valid V-data invalid
Latitudellll.lll Fixed length field:
Degreesminutes.decimal-2 fixed digits of degrees, 2 fixed digits of minutes and a variable number of digits for decimal- fraction of minutes. Leading zeros always included for degrees and minutes to maintain fixed length. The decimal point and associated decimal- fraction are optional if full resolution is not required.
Longitudeyyyyy.yyy Fixed length field:
Degreesminutes.decimal-3 fixed digits of degrees, 2 fixed digits of minutes and a variable number of digits for decimal- fraction of minutes. Leading zeros always included for degrees and minutes to maintain fixed length. The decimal point and associated decimal- fraction are optional if full resolution is not required. Fixed/Variable length field:
hoursminutesseconds.decimal-2 fixed digits of minutes, 2 fixed digits of seconds and a variable number of digits for decimal-fraction of seconds. Leading zeros always included for hours, minutes, and seconds to maintain fixed length. The decimal point and associated decimal-fraction are optional if full resolution is not required.
Variablex.x Variable length integer or floating numeric field. Optional leading and trailing zeros. The decimal point and associated decimal-fraction are optional if full resolution is not required (example: 73.10=73.1=073.1=73).
FixedHEXhh Fixed length HEX numbers only, MSB on the left
FixedAlphaaa Fixed length field of upper-case or lower-case alpha characters
FixedNumxx Fixed length field of numeric characters
Constants  Some fields are specified to contain pre-defined constants, most often alpha characters. Such a field is indicated in this standard by the presence of one or more valid characters. Excluded from the list of allowable characters are the following that are used to specify indicated field types:
“A”, “a”, “c”, “hh”, “”, “llll.ll”, “x”, “yyyyy.yy”
Table 10-GPS Data Field Types

GGA - GPS Fix Data
The GGA message includes time, position and fix related data for the GPS receiver.
$GPGGA,,llll.lll,a,nnnnn.nnn,b,t,uu, v.v,w.w,M,x.x,M,y.y,zzzz*hh <CR><LF>

GLL - Geographic Position - Latitude/Longitude
The GLL message contains the latitude and longitude of the present vessel position, the time of the position
fix and the status. $GPGLL,llll.lll,a,yyyyy.yyy,a,,A,i*hh<CR><LF>

GSA – GPS Dilution of Precision and Active Satellites
The GSA message indicates the GPS receiver's operating mode and lists the satellites used for navigation and the DOP values of the position solution.
$GPGSA,a,x,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx, xx,x.x,x.x,x.x*hh<CR><LF>

GSV-GPS Satellites in View
The GSV message identifies the GPS satellites in view, including their PRN number, elevation, azimuth and SNR value. Each message contains data for four satellites. 1st, 2nd and 3rd Messages are sent each second. Fields #1 and #2 indicate the total number of messages being sent and the number of each message respectively.
$GPGSV,x,x,xx,xx,xx,xxx,xx,xx,xx,xxx,xx,xx,xx, xxx,xx,xx,xx,xxx,xx*hh<CR><LF>

VTG – Course Over Ground and Speed Over Ground
The VTG message conveys the actual track made good (COG) and the speed relative to the ground (SOG).