m2talk -intelligent monitors

A smart monitor ystems that extedns product lifetime, increases in-service operation without the need for additional wiring. 


Smart Monitors enabled by m2talk technology


For monitors used in revenue generating activities such as digital advertising, gaming and point of sale, the requirement for in-service up-time is of key importance.

In a typical installation the monitor is not easily accessible or serviceable, and often forms part of a large network of installations, across a wide geographic area.

In the past, network monitors have had diagnostic functions added to them through the use of expensive and somewhat complicated systems, requiring additional hardware, cabling and power.

M2talk enabled monitors overcome these limitations and deliver a wide range of benefits to anyone running a distributed set of monitors on either a local area (LAN) or wide area network (WAN).



Features and Benefits Summary



Available sizes

9.4” to 104”



Touch Decode

SAW touch

Multi Monitor


Compatible Video Cards

nVidea, ATI, Intel, S3, Matrox, etc.

System Requirement

Windows 2000/XP/2003/Vista/Windows7



Backlight Control and sensing

Extended backlight lifetime, identify failures

Shock and Tilt sensors

Help protect your investment from damage

Light and Temperature sensing

Extend in-service lifetime, monitor environment

Independent Touch Screen Sense

Remotely check touch screen health

Power sensing

Create alerts for potential faulty components

Proximity detection

Assess and react to real events, and review audience patterns for improved revenue

Monitor Identification

Greater system awareness and integrity

ccTalk simplifier

Reduce wiring and need for serial ports

Local keypad

Add intelligent service and trained operator functions locally to the monitor

Upgradeable FW

In-field upgrades and customisation possible






M2talk exists as a daughter board that is connected internally to the main A/D card inside the monitor. It uses existing fixing holes and connectors so is simple and reliable to install both at manufacture and in a qualified service centre.


The hardware contains the following sensors:

·         A/D board and VGA/DVI cable power sense

·         Intelligent Backlight Power sense

·         Smart Touch screen sense

·         Shock, vibration and orientation sense

·         Proximity sensor

·         Temperature and ambient light sensor


The hardware fits easily into the existing metalwork and mates with one of several GPEG video cards and can be implemented on monitor sizes from 9.4” to 104”. It is powered directly from these video cards or from the 5V VGA line (if available) but separately from the A/D board. This enables an m2talk system to operate even in the absence of internal power and retain the ability to post a fault event to the system.


Hardware Description - PCB Connectors:








4 pin (Gnd, +5V, SCL, SDA)



2 pin (Gnd, BL)



5 pin (Gnd, B1, B2, B3, B4)

BL light sensor


2 pin (Gnd, BLS)

Ext.light sensor


2 pin (Gnd, ELS)

Temp sensor


2 pin (thermistor)

Proximity sensor


3 pin (Gnd, +5V, Prox), note the +5V from the A/D card,



4 pin (Type 1: +5V, <key>,  Gnd, -Data)



5 pin (MCU programmer connection)






M2talk is provided with a set of DLL (dynamic link library) is provided which is placed on the host PC allowing polling and communication with the m2talk daughter board via the existing VGA or DVI header. Once installed the full range of facilities available on m2talk can be accessed and utilised either locally or via an existing network connection to and from the host PC.


It is intended that once the DLL is installed the network owner can develop a set of actions, based on the information provided by the m2talk monitor using the supplied software API. In this way intelligence can be overlaid on the monitor estate enhancing utility and improving services.


M2talk User Application

To help familiarise the user with the features implemented on your m2talk monitor, the User application provides a consol that shows the data and functionality in real-time from your monitor. It can be used in development of your network application, to test and calibrate the units and as a demonstration tool.



Further Information


Appendix A – DLL description (v0.1)


m2Talk API.h: Usage of m2Talk.dll (c#)


Add reference to m2Talk.dll

All public constants and functions are in class m2talkDll.

All functions and variables are static.


At the startup, the user app first should call open_m2talk().

It will install our driver ddcdrv.sys if necessary at the first run.

The user should have administrator privileges at this time.

If an error occurs, it displays message box about the error.

It will enumerate connected displays, verifies which is m2talk enabled.



public class m2talkDll:


// Public functions:

                        public static bool m2talkDll.open_m2talk()

                                                Must call at startup of the app.

                                                ret: True if success, False if error.

                                                -installs driver m2TDrv.sys if not installed, the app requires administrator privileges at this time.

                                                -starts driver, enumerates m2Talk devices (multi monitor system),

                                                -starts system hooks.

                                                -fills the followings for user app:                                                            // !!!!!!!!!! change for only m2T enumerated!!

                                                                        public static int DevCnt;                                                                            // count of m2Talk devices. If 0: no devices found

                                                                        public static string[] Dev_names[10];   // display names (DDC EDID, assigned by manufacturer)

                                                                        public static bool[] Dev_m2t[10];

                                                                        public static bool DDC_OK;                                                                                              // True if the m2Talk.dll can connect to the DDC hardware

                                                                        public static bool m2talk_OK;                                                                  // True if one or more m2Talk device found


                        public static bool m2talkDll.close_m2talk()

                                                Must call before app exit. Closes driver and system hooks.


                        public static m2tResp set_BackLight(int disp, byte intensity)

                                                sets backlight BL-dimm value and BL-On/Off

                                                disp: device index (0..DevCnt-1)

                                                intensity: 0=0ff & BrMin, 1-255=On & Brightness

                                                ret: m2tResp


                        public static int getAddr() // ??? public?

                                                ret: i2c address used by m2talk


                        public static int setAddr(byte addr)  // ??? public?

                                                sets i2c address used by m2talk.

                                                ret: 0=OK, 1=err: address-change-disabled


                        public static m2tResp m2T_StatRead(int disp)

                                                The user app should call this periodically

                                                disp: device index (0..DevCnt-1)

                                                ret: m2tResp

                                                reads all sensors and status data from the m2Talk board:

                                                                        public static UInt32 Serial;

                                                                        public static byte

                                                                                                FW_major,                            // major index of m2Talk board FW version

                                                                                                FW_minor,                            // minor index of m2Talk board FW version

                                                                                                STATUS1,                               // bit field, detailed below

                                                                                                STATUS2,                               // not used

                                                                                                STATUS3,                               // not used

                                                                                                STATUS4;                               // not used

                                                                                                BUTTONS,                              // bit field, uswed <0..3>, detailed below

                                                                                                BLdimm,                                                        // BL dimm (brightness) value 0..255 = +5..0V control voltage

                                                                                                ProxCnt,                                // counts distance changes (treshold setup!) => movments, count peoples...

                                                                                                R_BLsens,                             // Backlight current, 0..255 ~= 0-3.5A  (~13-15mA/bit, depending on +5V)

                                                                                                R_ExtLight,                            // External light sensor, 0..255, uncalibrated

                                                                                                R_TouchLED,                                                // Now light sensor, 0..255, uncalibrated. later preprocessed touchscreen activity

                                                                                                R_Prox;                                                          // Proximity distance, 0..255, unit depends on the used sensor

                                                                        public static char Temp;    // Temperature of m2Talk board. Signed, -128..+127 deg Celsius

                                                                        public static Int16                                                               // Accelerometer data. Signed, 3D, the maximum since last m2T_StatRead()




                                                                        public static UInt32 UpTime;                   // The uptime of the m2Talk board (BL?), hours, stored/summed infinitely in EEPROM

                                                                        public static bool  // (STATUS1 bits parshed to bool)

                                                                                                BLon,                                                              // Backlight inverter is ON

                                                                                                TouchPwr,                             // Touchscreen power OK

                                                                                                Pwr5V,                                                           // Display AD card +5V OK

                                                                                                new_ccTalk;                          // New ccTalk response arrived

                                                                        public static bool  // (BUTTONS bits parshed to bool)

                                                                                                B1,                                                                                          // BUTTONS<0>: B1 pressed since last m2T_StatRead()

                                                                                                B2,                                                                                          // BUTTONS<1>: B2 pressed since last m2T_StatRead()

                                                                                                B3,                                                                                          // BUTTONS<2>: B3 pressed since last m2T_StatRead()

                                                                                                B4;                                                                                          // BUTTONS<3>: B4 pressed since last m2T_StatRead()



//Other public Variables:

                        public const string m2talkVersion = "1.0";                                          // version string of m2Talk.dll file

                        public static bool BL_auto = false;                                                                                 // enable/disable Backlight auto-On/Off control upon keyb/Mouse iddle time

                        public static byte BL_off_level = 50,                                                     // the brightness of BL-Off state

                                                                                                       BL_on_level = 255;                                                     // the brightness of BL-On state

                        public static UInt32 BL_km_sec_max = 20;                                         // BL off after BL_km_sec_max sec key/mou idle ellapsed

                        public static UInt32 BL_km_iddle_sec_cnt = 0;         // count of key/mou idle sec. Resets on every key/mou events


                        public static int CurInd;                                                                                                                             // actual display, used only for test !!!!!




//Error codes:

                        public enum m2tResp..........





Have you also considered?:


Similar Products:


Product Range:

Sort Decending Sort Ascending



Sort Decending Sort Ascending Sort Decending Sort Ascending Sort Decending Sort Ascending Sort Decending Sort Ascending Sort Decending Sort Ascending Sort Decending Sort Ascending  
Scroll Left Scroll Right

m2talk -intelligent monitors

Scroll Left Scroll Right
m2talk Features: intelligent monitor for all network applications