TED-96 (LCD-19260) Communication Setups assistance needed

I picked up one of the TED-96 (LCD-19260) units with the “Mates Programmer” and I can load widgets all day with the “Mates Studio”, but I need to talk to these units with my own host controllers. I have connected to the TED-96 with a serial terminal (9600 8 N 1) and sent it the hex codes that the manuals all say it should respond to. I can see the data LED flash on the programmer, but I never get ANY response from the display. I should expect either a 06 (ACK) or a 15 (NACK) - but I get complete serial silence.

Has anyone on here worked with these? The Arduino stuff they provide has been relatively useless to me. I need to be able to manually set up my serial connection and send bytes to it from any of a handful of microcontrollers I have that do NOT run the Arduino IDE. If I can figure out what I’m missing in trying to communicate with the TED-96 via my terminal program (“RealTerm”) and get it talking there, I should be good to go at that point.

Help very much appreciated.

I think you’ll get some better responses if you post your question here at the TED-96 manufacturer’s website: https://forum.breadboardmates.com/

Have you seen their forum activity lol (17 people registered in total)? I did post there, but in seeing how few folks are registered there, and how infrequently posting happens (most recent post or reply was May 7, 2022), I was hoping that someone here may have experience with these displays, since you folks DO sell them through your store (which is where I bought them). It’s not unreasonable to assume that I’m not the only SparkFun customer who may have purchased these items, and perhaps one of them may be on this forum. Unless I truly AM the only SparkFun customer who has purchased these from your site…???

I tracked down their developer through their GitHub, and he answered my questions AND got them to fix their forum so registered users can again post.

I subsequently posted the information there that he provided, plus info I learned through searching and from the Adafruit support forum, about how to communicate with the TED-96 (LCD-19260), and I’m replicating that info here in case other SparkFun customers come looking for info to help them get these fantastic little displays running in their projects.

Here is that post:

Hi Folks,

I’m going to post this here in case others come looking for the same info about communicating to the TIMI or TED devices from a Terminal program or their chosen host microcontrollers. The info regarding the direct comms to and from the TIMI or TED devices was courtesy of Juniel Cruz in an email exchange. The addition of CircuitPython code examples was from my own research - primarily through postings on the Adafruit forum and various web searches.

I hope this will be helpful to folks looking to use this display in their projects and in commercial applications.

Regarding the format of communications between the TIMI/TED products and the host microcontrollers, reference the Mates Serial Command Protocol document

Next, note that the strings given, while shown, for example, as 42 00 01, need to be sent that way as raw hex (0x240001). No spaces, and if you’re running from a serial terminal on windows/mac/linux, be sure it can send AS HEX, not just receive in hex, otherwise you’ll get no response or behavior from the display.

Sending actual hex when you already have the hex values to send can be tricky (or maybe it just was for me…) because most serial send commands (uart.write, usart.write, etc) will assume the string you have is in ascii.

Here are some examples of ways to send the hex strings you see in the command manual AS HEX, in CircuitPython. Most of these will apply to regular old Python as well (assuming 3.7 and above).

In regular Python, you can use:

message_bytes = bytes.fromhex("240001")
usart.write(message_bytes)​

But CircuitPython does not currently support that method.

Since you will likely be building your commands in your code each time, probably the easiest way to develop and send your string is to escape each byte as follows:

message = b"\x24\x00\x01"

Alternately

message = bytes([0x24, 0x00, 0x01])

If you are running a controller running a version of CircuitPython that supports it (not M0 apparently, but M4 should), you have binascii available to you:

import binascii
message = binascii.unhexlify("240000000001")​

Lastly, this cool bit, again, courtesy of Adafruit’s forum folks:

s = "240000000001"
message = bytes([int(s[p:p+2],16) for p in range(0,len(s),2)])​

I’ll also post this under the TED forum in case folks are looking in there first (as did I).

Thanks again Juniel!

Dave Xanatos

Update to my earlier post beginning:

xanatos:
Have you seen their forum activity lol (17 people registered in total)?

Unknown to myself and their webmaster at the time, there was a problem with the BBM forum registration system, which was not allowing registrations to complete. The good folks at BBM have subsequently fixed the issue and have been most responsive and helpful with my questions there.

I would edit the original post here (the one referenced above) with this info, but for some reason - while I can post here, I cannot seem to EDIT a post at this time.

If you do need a very versatile display with some great libraries of useful screen layouts that can be directly controlled by any microcontroller capable of serial comms - and want to get it from a very responsive and helpful manufacturer, I’d highly reccommend the displays by BreadBoard Mates.

Dave