Recently I published an app, that allows you to download your engine data from an EDM700 engine monitor using Bluetooth to an iPhone or iPad. Since the legacy JPI EDM devices support only a very simplistic serial interface, you still need an additional adapter that converts the serial data stream offered by the EDM device to a corresponding data stream over an appropriate Bluetooth protocol. This article compares 3 of the devices that are available on the market today. All three of the devices are supported by the BlueEDM app, while only 2 of them really make sense.
Before presenting the individual devices let me explain a little bit the mechanics behind the serial to Bluetooth Low Energy (BLE) conversion.
With Bluetooth Low Energy there are two different device types (roles): peripheral devices and central devices. Communication between Bluetooth Low Energy devices always happens between peripheral and central devices. Peripheral devices can be thought of as servers that offer certain services (actually they advertise their services), whereas central devices listen (scan) for certain advertisements and consume the services offered by peripheral devices. After detecting a peripheral that offers certain services, the central will connect to that devices and start querying the actual service values offered by the peripheral. There are various security measures that protect the connection between peripheral and central (binding) and the individual data transfer.
The data exchange between peripheral and central actually happens in single packets, typically from peripheral to central. Think of a fitness tracker that periodically sends heart rate measurements to a smart phone. Each data package contains an identifier (called the characteristic) used to distinguish between different types of data (e.g. heart rate measurement vs. step count) and the actual data, typically only a few bytes. It is important to note that although the typical direction of data flow is from peripheral to central, BLE allows data flow in both directions.
Although there is no standardized protocol or API for transparently sending data over BLE, there are numerous BLE devices available that offer a serial (UART) interface. Actually the serial interface of these devices can be used for programming or monitoring purposes. All of these devices offer a service that can be used to transparently send data received on the serial interface over the Bluetooth interface to a central device or vice versa. This is done by packaging the serial data into values of a (non-standardized) characteristic. All of the devices can be configured over the serial interface by the well known AT+ commands, whereas some of the devices can even be configured over the Bluetooth interface using a dedicated BLE characteristic. All the BLE protocol details are handled by the BlueEDM app. Differentiation points between the devices are power supply, housing and — of course the price. Below there is a description for all three devices that are currently supported by BlueEDM.
Lintech Bluetooth Low Energy RS232 Adapter
This adapter (https://www.lintech.de/produkt/bluetooth-low-energy-rs232)is ready to go and works very well with the EDM700 and BlueEDM on an iPhone . It’s big advantage is that it is available with a chargeable battery, which makes it independent from an external power supply. It sports an LED which gives you some status information, which is very handy. The Lintech adapter supports a passkey to secure connection attempts. It is available with a male or female DSUB9 RS232 connector and you may choose between the battery or non-battery version. Of course you will need a connector cable for connecting to the drum jack connection of the EDM700, see How to download engine monitoring data to a Mac for more details (the second picture above shows my handmade connector, which is plugged into the Bluetooth adapter’s RS232 interface in the third picture). Alternatively the device may be powered over some of the pins of the RS232 connector and there is even a (somewhat cheaper) version without battery. I have not tested this and hence I would recommend to go for the battery version.
The Lintech device supports limited configuration options via the Bluetooth interface. Most notably it allows to set some of the serial interface parameters, like data rate (19.200 bits per second). This is very useful as it allows using the device without an initial setup configuration with a computer over the serial interface. Unfortunately it doesn’t allow reading (and thus monitoring) parameter settings of the device.
taskit BLE232 – Bluetooth® Low Energy RS232 Konverter
Looking very similar to the Lintech adapter, the taskit adapter is unfortunately completely useless for our demands. First of all, the device role can’t be configured by the user, so you have to make sure you order the peripheral type of the device and not the central. Also, the taskit adapter is not available with a battery, so power supply has to be provided by the RS232 interface. The adapter doesn’t allow any configuration over Bluetooth and entering the configuration on the serial line requires to enter a special character code within 500ms after device startup.
The reason why this device is unusable is, however, that at serial speeds of 9.600 bit per second or higher, data is lost, when transferring from the serial interface to the bluetooth. When using the computer as a simulation of the EDM700, up to speeds of 4800 bits per second, could reliably be transmitted, whereas for higher speeds, data was simply lost. It seems the adapter’s internal buffer is not big enough to support higher speeds. This is of course unacceptable for our application as the EDM only supports 19.200 bits per second.
DSD TECH HM-18 CC2640R2F Bluetooth 5.0 BLE Module
Last but not least, the DSD Tech HM-18 module is in fact a DIY solution with a somewhat poor end user experience (i.e. no out of the box / plug & play solution). You have to get your hands dirty for getting it up and running, but it has an unbeatable advantage: doing everything the right way, it will cost you below 20€. This compares to 80-100€ for the other devices!
All you need is the following:
- The Bluetooth module itself. This will do the serial (TTL) to Bluetooth „conversion“. (DSD TECH HM-18 Module)
- A TTL – RS232 interface. Based on the MAX3232 chip, this will transform power levels from RS232-standard to TTL and vice versa. (e.g. Arcelli MAX3232 Module)
- A power supply (e.g.: this Power Supply Module)
- A Breadboard (e.g.: AZDelivery Breadboard Kit)
With these components, no soldering is required, everything can be plugged using the Breadboard.
From handling and programming perspective, this is the most convenient solution. Almost everything can be set and monitored either over the serial connection or over Bluetooth. The data transfer is very reliable (even with at much higher speeds than the EDM 19.200 bps), the only disadvantage is that you have to plug it together on your own and there is no convenience housing available. If you can live with this , the HM-18 is the recommended solution. You could even add a rechargeable battery as a power supply instead of the power supply module.
It should be noted however, that the HM-18 doesn’t support a password, but for our solution this is no concern: the module will be active only for very short times and only under your real supervision so I see no security risk at all.