RDP – Roastmaster Datagram Protocol
What is RDP?
RDP is a protocol we created specifically for Roastmaster that allows any processor-equipped circuit board to send temperature data directly to Roastmaster iOS.
Historically, Roastmaster has relied on 3rd party manufacturers to produce both the hardware, as well as the software API that Roastmaster would use to communicate with that hardware. If those APIs contain bugs, or didn’t function correctly, there was nothing that could be done with Roastmaster to resolve it.
RDP was specially designed for Roastmaster, and is now built directly into Roastmaster’s code. Anyone can use RDP on virtually any hardware. This removes the reliance on 3rd party vendors, and lets anyone design and build a probe host for very little cost that can easily communicate with Roastmaster using this flexible protocol.
It’s also fully open source, and published and publicly documented under the permissive MIT license, which means it’s free to use by any individual or manufacturer, whether for personal or professional adoption.
What is a Protocol?
A protocol is really nothing more than a language two entities agree to “speak” in order to communicate with each other. If you speak English, you can understand the information in this article because you understand the English language. English is, essentially, the “protocol” of this article.
The same is true with software. As long as two applications or devices speak the same “language”, they can talk to each other and share information. Since Roastmaster now “speaks” RDP, any circuit board with a CPU and WiFi capabilities can be programmed to talk directly to Roastmaster using the language of RDP.
We get endless inquiries about whether Roastmaster supports roaster brand X or roaster brand Y. Chances are, we’ve fielded questions for your brands of roasters. The answer, of course, is always (regrettably) no, because this has relied on Roastmaster and the roaster speaking the same language.
This has been a frustrating barrier that we are pleased to have finally removed with RDP. RDP can be implemented in your roasters for a tiny cost per unit, and offer out-of-the-box compatibility with Roastmaster. Users would have no configuration burden, or aftermarket mod’ing to perform–they would just unpack it and start capturing data!
Please, if you’re entertaining the idea of this, reach out to us. We’re happy to discuss the specifics with you.
What is a Probe Host?
A “probe host” is required to send readings to Roastmaster. A probe host is comprised of the hardware required to gather the data, and simple software to interpret and send this information over WiFi to Roastmaster.
A probe host can be a DIY project, based on a popular SBC (Single Board Computer), such as Arduino, Raspberry Pi, or Feather Huzzah. Or, it can be a professionally designed circuit board built in a roasting appliance, designed and coded by the manufacturer to provide out-of-the-box support for Roastmaster iOS.
Whatever the specifics, as long as it can run software, read a probe, and send those readings as UDP packets over WiFi, it can be used to communicate those readings to Roastmaster iOS.
The hardware of a DIY probe host is comprised of three elements.
The software running on the processor of the probe host reads and interprets the thermocouple voltage, builds a simple JSON packet according to the rules of the RDP protocol, and sends that string as a UDP packet across the WiFi network, where Roastmaster is listening and receives it.
How Do I Get Started?
First, you must assemble the hardware. Yes, this will probably require a soldering iron, and some basic electronics knowledge. It is not, however, and advanced project.
Once you have hardware, it’s just a matter of obtaining or writing simple software to read and interpret the thermocouple voltage signal, generate the RDP network datagrams, and send them to Roastmaster over WiFi.
Complete documentation is available in the RDP Datasheet. It includes explanations, examples and best practices for creating your own software, or tweaking software available on forums or Github.
I am hopeful that users will embrace this protocol in the spirit of open source, and share their work, so that soon there will be a repository of software for different devices to help folks get started building their own probe hosts.
In the mean time, we’ve already created a sample software sketch for the Feather Huzzah board and Max 318555 amp board on GitHub. Feel free to download, and modify it to suit your needs.