Sinar TXM

We started building a Bluetooth-based mobile app for measurement device manufacturer Sinar in early 2017. The main purpose of this app is to connect the iOS / Android mobile app which we developed, to a hardware sensor, called a “TXM” which is a piece of Bluetooth hardware which Sinar produce.

The app is targeted at both small-scale, and large-scale farmers, who grow crops, and process the raw material harvested from said crops on-site on their farms.

The TXM device plugs into a variety of Sinar’s hardware products. These products measure the moisture, temperature, weight, and other metrics of a given crop sample. These crops include corn, maize, wheat, green coffee beans, brown coffee beans, and an array of other popular crop types produced around the globe.

The TXM provides a Bluetooth capability to the measurement device, which sends the measurement readings as they come in to a connected Bluetooth client, i.e. this mobile app.

Previously Sinar’s measurement instruments would require the user to use the instrument to take a measurement reading of a crop sample, and then plug the device into a computer, i.e. laptop or desktop, and export the readings into a CSV file, which the user would then open in Excel. Naturally this is time consuming, and in most cases, prevents the user from carrying out the measurement analysis on-site, thus finding out if the crop is okay to process there and then. Without the mobile app, they’d have to take their instrument back to the office to examine the CSV spreadsheet file, before giving the go ahead to process the crop.

We built the Sinar app using React Native. The app is available on the iOS and Android operating systems and comes with the purchase of Sinar’s TXM unit.

The app plays the role of the Bluetooth client, which connects to the TXM. We utilise the Bluetooth sensor on the mobile device to connect with a user’s TXM (or multiple TXMs) and then utilise the sensor again to listen out for incoming measurement readings.

When a new reading reaches the mobile app, it is displayed on the homepage, displaying to the user the key information they’ll be looking for, i.e. the moisture content of their sample. This information is critical to the user, as they will not be able to process their crop (roast / dry / ship to client) if the moisture content is not within a defined range. This range is typically defined by their buyers. For example, Costa Coffee will only accept green coffee beans which were roasted between a given range of moisture values.

Clearly then, the mobile app’s utilisation of sensors on the device was the most critical component. It allowed us to interact with the TXM unit, and bring the readings through into the app, ready to display to the farmer in the field. Allowing them to make the judgement call there and then whether or not a harvested crop is ready for processing.

Launch Tide

We worked with the staff of the R&D department of the United Kingdom Hydrographic Office (UKHO) to create the Launch Tide app, which is an iOS and Android app the UKHO designed in collaboration with the RNLI, to assist RNLI rescue staff with the provision of key tidal, weather, and sea state data, describing the current, and future conditions of their set stations and beaches.

Launch Tide allows RNLI staff to register an account, search for their relevant RNLI stations and beaches, either using a text search, or through utilising the device’s GPS sensory unit, to return a list of the nearest stations / beaches which are closest to the user’s device. The user can then view and interact with the key tidal, weather, and sea state conditions, based on their current set location.

Launch Tide is a JavaScript hybrid mobile app, which was built using the React Native framework. Interaction with mobile sensors is performed within the app, i.e. using interfaces to provide a bridge between the JavaScript application code, and the underlying native sensor APIs, exposed by the device’s operating system.

Conditions Screen

The conditions screen does what it says on the tin, it displays the following data, which provide an insight into the weather conditions at the user’s location, for the current time, and it provides a look-ahead feature, whereby if you swipe right, the data values will change to display the condition predictions in the following 3 hours, i.e. you’re looking ahead to what the conditions will be like in the next 3 hours – a potentially critical feature for ensuring the safety of the RNLI crew when on long rescues.

The data on the conditions screen is broken down into three cards:


The tide card shows the current height of the tide, the time until the next turn in the tide, i.e. high tide / low tide, as well as the expected height of the tide at the next scheduled turn.

The look ahead feature is enabled for this card, allowing the user to see what the tide state will be like in the next 3 hours.


The weather card shows the temperature, wind speed, and wind direction.

The look ahead feature is also enabled for this card, allowing the user to see what the weather will be like in the next 3 hours.

Sea State

The sea state card shows the current wave height, sea temperature, and wind direction in the area, essential data for an RNLI rescue mission!

Tide Predictions Screen

The tidal prediction screen allows the user to interact with UKHO’s tidal prediction API, to browse the tidal prediction data, based on their set current location.

The app allows users to choose a date, which defaults to the current time, this date is then passed to two of UKHO’s tidal prediction API functions – one which returns a set of information, detailing the next 4 changes in tide (high tide / low tide).

The second function from UKHO’s tidal prediction API returns a dynamically rendered PNG graph, this graph visualises the changes in tide in a graph, with the app allowing the user to pinch to zoom the image to get a close-up view of what the tide height prediction is for a given time.

Changing the date using the calendar icon at the top-right of this screen will trigger the screen to automatically update with UKHO’s tidal prediction API, and therefore allows the user to seamlessly view both current and future tide predictions for their current location.