RSS Feed for This PostCurrent Article

Smart Meter Hacking Tool

Termineter is a framework written in python to provide a platform for the security testing of smart meters. It implements the C12.18 and C12.19 protocols for communication. Currently supported are Meters using C12.19 with 7-bit character sets. Termineter communicates with Smart Meters via a connection using an ANSI type-2 optical probe with a serial interface.

Below is a summary of the basic steps to get started with Termineter after the environment has been configured.

  1. Connect the optical probe to the smart meter and start termineter
  2. Configure the connection options. On Windows, this would be something like COM1 and on Linux something like /dev/ttyS0. Check Configuring the Connection for more details.
  3. Use the connect command, this will also check that the meter is responding.

Basic requirements:


Running the script is optional. Termineter can be run using Python out of the source directory.


Termineter can only be run from the source directory with Python, no installation process is provided.

Configuring the Connection

This option is passed into the PySerial library so any valid value for the "port" parameter can be used. If the PySerial library is new enough the serial_for_url function will be used which allows using RFC2217 serial bridge via a URL such as: rfc2217://

Other options for the connection can be viewed and set using the Framework-level "Advanced Options". These options include STOPBITS, BYTESIZE, and BAUDRATE.

Trackback URL

Sorry, comments for this entry are closed at this time.