B50 Digital Data Module/NMEA message structure

The B50 DDM(Digital Data Module) digitises the positions of the Macready, bugs and ballast knobs, reads the position of the cruise /climb switch and reads the True Airspeed value, current total energy variometer value, Indicated Airspeed squared value and on later B50's the outside air temperature (if the optional probe is fitted).
Incoming GPS messages at 4800 baud (9600 is possible) are echoed by the B50 at 4800 baud and proprietory B50 data and B50 serial number sentences are added. Each DDM has a unique 4 digit serial number.
Note that the incoming GPS message is not required to be in NMEA format. Any text input will be echoed. The B50 proprietory sentences will be in NMEA format.
There are two hardware versions of the B50 DDM. The early version has only twelve (2 x 6) pins to mate to the socket on the early B50's and outside air temperature is not read or transmitted on these. There are also no pins for jumpers to set 9600 baud or B57 mode which is a proprietory data sentence mode used only with the Borgelt B57 glide computer. These early DDM's receive and transmit at 4800 baud only and the mode is set by the version of the firmware in the microprocessor.
The definitive version of the firmware is V3.25 and the hardware is recognisable by the 4 pins next to the 2 x 7 pin array on the DDM.
The 2 pins at the edge of the board are ground pins.
No jumpers sets 4800 baud NMEA mode
Jumper between the ground(edge) pin furthest from the 2 x 7 array and the non edge pin furthest from the 2 x 7 array sets B57 mode, 4800 baud.
Jumper between the ground pin nearest the array and the non edge pin nearest the array sets 9600 baud receive/transmit.

Limitations:
The incoming GPS message is echoed. When the incoming sentence in that frame is finished the DDM waits for 100msec then sends the B50 sentences. These must be finished before the next incoming sentence starts arriving. GPS messages which fill the frame and do not allow time for the 100msec wait and the B50 sentence time are unsuitable. Some units have a message frame every second and others every two seconds. Incoming sentences in one frame must not have gaps between them as a 100msec gap will trigger the B50 sentence.
If possible turn off any unnecessary sentences.
The Garmin 35 and Garmin 16 are suitable GPS engines as the messages and the GPS engines can be configured. Early handheld Garmin units are generally suitable. As we don't control what GPS manufacturers do we are not responsible if any particular unit has a problem with the DDM. If no GPS is connected the B50 will transmit the B50 sentences every 2.5 seconds.

NMEA sentence structure:
Speeds, vario, Macready are in knots.
Leading zeroes are suppressed.
Sentence has following format:

$PBB50,AAA,BBB.B,C.C,DDDDD,EE,F.FF,G,HH*CHK crlf

AAA = TAS 0 to 150 knots
BBB.B = Vario, -10 to +15 knots, negative sign for sink
C.C = Macready 0 to 8.0 knots
DDDDD = IAS squared 0 to 22500
EE = bugs degradation, 0 = clean to 30 %
F.FF = Ballast 1.00 to 1.60
G = 0 in climb, 1 in cruise
HH = Outside airtemp in degrees celcius ( may have leading negative sign )
CHK = standard NMEA checksum
crlf = standard NMEA sentence delimiter

$PBSER, xxxx (4 digit serial number unique to every DDM)*CHK
The commas are important.

The B50 Flight generator program is available from our website. This lets a PC emulate a GPS/B50 and sends NMEA(or B57 mode) sentences out of the PC serial port. You can vary speed, altitude, heading, cruise/climb, turn rate etc. Glide computer developers will find this a very useful tool as we found during the B57 and B2000 development.