United Kingdom
Asked — Edited

Tellymate Tiny

Since it was mentioned a few days ago it has been at the forefront of my mind bugging me to play with it, so let's play :)

First I will cover the wiring of the TellyMate Tiny to the EZ-B and then I will cover how to use it.

So, when you get one it'll turn up and you have a bunch of bits;

  1. Composite Video Cable
  2. TellyMate Tiny board
  3. Angled Pin Headers
  4. Straight Pin Headers
  5. 3x2 Pin Header for ISP

User-inserted image

First things first, ignore the pin headers. The simplest way to connect this to the EZ-B is with a accessory extension cable (or servo extension as they are sometimes called).

All the TellyMate Tiny needs is a Vcc, Ground and Serial data. Vcc can be 5V so direct from the EZ-B is fine, ground as usual can connect to any common ground and serial data is sent from the EZ-B signal pin, this needs to be received by the TellyMate so connects on to the RX pin not the TX.

First cut off the one end of the extension cable and strip back the wires (similar to the camera mod, Ultra Sonic sensor etc). User-inserted image

Next you need to solder the wires like so; Red to VCC Black to GROUND White to RX

User-inserted image

That's it, it's ready to plug into any of the digital ports on the EZ-B. It really is that simple :)

One slight oversight is there are no mounting holes on the TellyMate Tiny. A small piece of sticky foam tape would be ideal to mount the board. Provided you leave access to the jack for the AV cable this will cause no problems. Sticking it to the back of the LCD screen/TV/Display seems like an ideal location too.

Now, in order to use the TellyMate you simply need to connect the output to a TV via the composite video input, select the correct channel and send the serial data to the TellyMate using the SendSerial() command in EZ-Script.

Further details to follow on the scripting and operation plus a quick review of the product and it's capabilities to aid you in deciding if it's right for your project. Stay tuned for updates :)


ARC Pro

Upgrade to ARC Pro

Your robot can be more than a simple automated machine with the power of ARC Pro!

United Kingdom
#1  

Below are some of the more important commands that will be needed. It is assumed you will use port D8 however you may change it to any Digital Port, just remember to change the port in the script.

These codes will work in all variants of the TellyMate

Note: Any;) in the code sections should be replaced with a single )

Reset the TellyMate


SendSerial(D8, 57600, 0x1B, 0x7A)

This will reset the TellyMate device to the state when it is first powered on.

Line Feed


SendSerial(D8, 57600, 0x0A)

This will move the cursor to column 0 of the current line without deleting or removing anything on screen.

Form Feed


SendSerial(D8, 57600, 0x0C)

This will clear the screen and move the cursor to column 0 of the last line i.e. the lower left hand corner.

Carriage Return


SendSerial(D8, 57600, 0x0D)

This will move down one line but leave the cursor in the current column.

Enable Auto Carriage Return


SendSerial(D8, 57600, 0x1B, 0x78, 0x39)

Turns on Auto Carriage Return - Will automatically carriage return on line feed.

Enable Auto Line Feed


SendSerial(D8, 57600, 0x1B, 0x78, 0x38)

Turns on Auto Line Feed - Will automatically line feed on carriage return.

Disable Auto Carriage Return


SendSerial(D8, 57600, 0x1B, 0x79, 0x39)

Turns off Auto Carriage Return.

Disable Auto Line Feed


SendSerial(D8, 57600, 0x1B, 0x78, 0x38)

Turns off Auto Line Feed.

Clear the screen and return home


SendSerial(D8, 57600, 0x1B, 0x45)

This will return the cursor to the home position and clear the screen.

Return Home without clearing


SendSerial(D8, 57600, 0x1B, 0x48)

This will return the cursor to the home position without clearing the screen.

Show diagnostic info


SendSerial(D8, 57600, 0x1B, 0x51)

This will display the diagnostics information of the TellyMate on the screen.

Change font to single width single line


SendSerial(D8, 57600, 0x1B, 0x5F, 0x30)

This will set the font to single width single height.

Change font to double width single height


SendSerial(D8, 57600, 0x1B, 0x5F, 0x31)

This will set the font to double width single height.

Change to Single Width Double Height (top)


SendSerial(D8, 57600, 0x1B, 0x5F, 0x32)

This will set the font to single width double height for the top half of the text. A duplicate line of text will be required for the bottom half using the bottom half code prior to the text code.

Change to Single Width Double Height (bottom)


SendSerial(D8, 57600, 0x1B, 0x5F, 0x33)

As with Single Width Double Height (top) but will display the bottom half.

Change to Double Width Double Height (top)


SendSerial(D8, 57600, 0x1B, 0x5F, 0x34)

As with Single Width Double Height but will display at double width also.

Change to Double Width Double Height (bottom)


SendSerial(D8, 57600, 0x1B, 0x5F, 0x35)

As with Single Width Double Height but will display at double width also.

Turn the cursor on


SendSerial(D8, 57600, 0x1B, 0x65)

This will turn the cursor display on.

Turn the cursor off


SendSerial(D8, 57600, 0x1B, 0x66)

This will turn the cursor display off.

Enable Line Overflow


SendSerial(D8, 57600, 0x1B, 0x76)

This will enable line overflow. When text extends beyond the final column of a row it automatically moves the cursor to the first column of the next row and continues to output the text.

Disable Line Overflow


SendSerial(D8, 57600, 0x1B, 0x77)

This will disable line overflow. When text extends beyond the final column of a row it will display characters on the final column with the final character of the text string being displayed.

Turn On PAL mode


SendSerial(D8, 57600, 0x1B, 0x78, 0x3D)

This will set the TellyMate to PAL mode for the output.

Turn on NTSC mode


SendSerial(D8, 57600, 0x1B, 0x79, 0x3D)

This will set the TellyMate to NTSC mode for the output.

Invert the Output


SendSerial(D8, 57600, 0x1B, 0x78, 0x3E)

This will inverse the output i.e. will display black text on a white background.

Revert to normal output


SendSerial(D8, 57600, 0x1B, 0x79, 0x3E)

This will revert the output to normal i.e. white text on a black background.

Positioning the cursor


SendSerial(D8, 57600, 0x1B, 0x59, 0x20, 0x20)

This will position the cursor in the upper left corner (position 0,0). By altering 0x20, 0x20 it will specify a different position. Positions are hex beginning at 0x20 (32 in decimal) for 0. For example, position 10,15 would require SendSerial(D8,57600, 0x1B, 0x59, 0x2a, 0x2f)

Moving the cursor Up


SendSerial(D8, 57600, 0x1B, 0x41)

This will move the cursor up. If the cursor is already on the top line it has no effect.

Down


SendSerial(D8, 57600, 0x1B, 0x42)

This will move the cursor down. If the cursor is already on the bottom line it has no effect.

Right


SendSerial(D8, 57600, 0x1B, 0x43)

This will move the cursor right. If the cursor is already on the right hand side it has no effect.

Left


SendSerial(D8, 57600, 0x1B, 0x44)

This will move the cursor left. If the cursor is already on the left hand side it has no effect.

Display text


SendSerial(D8, 57600, 0x00, "EZ-Robot.com Rocks My Socks")

This will output the text (within the quotation marks) to the screen at the current cursor position in whichever display mode is currently set.

Further descriptions and examples of the above codes will follow along with demo videos and photos.

This is the result of just using the display text command. Notice how the next text follows from the old, no overflow, no picture mode and requires a lot more work. User-inserted image

This is set to return to home and clear prior to outputting however no picture mode has been set and therefore the display is incorrect. Also, cursor is set to on (note the _ after the text). User-inserted image

This is with the script correctly set up to output in the correct format and picture mode, with double height double width text for the "EZ-ROBOT.COM", single height double width for the "TellyMate Demo" and single height single width for the remainder of the text. User-inserted image

A short video which shows different sections of the text in the last image being displayed.

Another video which shows some of the various functions mentioned above, so you can see what they do.

Further videos displaying the above control sequences will also follow shortly.

United Kingdom
#2  

This post is reserved for any questions and answers posted by the community.

#3  

Lol I really would like to take advantage of this feature , but I'll let you get bugs worked out first.

#4  

@Rich ...nice to see you back albeit not 100 percent I am sure..........Thanks for the easy to follow pics:) I too am thinking of the advantage of sending serial data to a TV, when 99.9 percent of users have an LCD screen......unless you want to create a cool effect something similar to the old program (the old timers will remember) Twighlight Zone, where Rod Serling took over "your regular broadcast". Shades of the government taking over the internet. This effect might be pretty cool on an old black and white!

#5  

RICH i see you like my idea on the tellymate tiny,since i bought it up awhile back. THE wiring was the same i did for mine ,and i did a simple script "hello EZB world " and worked great

Here is a simple serial script that DJ POSTED. tellymate script.

ezB_Connect1.EZB.Uart.SendSerial(Digital.DigitalPortEnum.RD0, Uart.BAUD_RATE_ENUM.Baud_57600, "This is text!");

SAME script i used on my serial

EDIT sorry guys i put the wrong info up on the script i explain the script i used thats the same as RICH uses where i got the info DJ has script help in setting and has many examples like this one example : sendserial (DO ,9600 "THIS IS TEXT" )

#6  

ONLY item i change was how it was mounted,i put it on a small board just a little bigger and added a tie wrap to hold the video cable since it may break and added a few holes to mount the board on your robot.

IF you dont need to may be use hot melt (ugh) or tape around the board so doesnt short out

#7  

@robotmaker, great to know you tested and have it working! If I had a Telymate I would definately post a pic of an old fashioned BandW TV with some text that says "Hello EZ world, I am from the future and it is filled robots helping mankind" It would be tuff to find and old Black and white tv...might have to look in granma's basement:) Just my thoughts

United Kingdom
#8  

@irobot, thanks. I don't stay down for long:) The tellymate is ideal if you want to go for an old fashioned, retro style robot with a TV in it. Something like an old 70s or 80s style robot.

@robotmaker that is for the SDK not ARC. All of DJs work with the TellyMate was prior to ARC existing. If you paste that into EZ-Script it will not work. Also the code you posted is only for adding text, the graphics commands, clearing the screen, positioning of text, turning on and off the cursor etc. are all in there too somewhere, it's all on the datasheet I just need to wrap my head around it :)

Your post brought it to the forefront of my mind and since I'm not 100% and taking some time off work it was a good time to play :)

I'm only bench testing it so mounting it is not an issue for me, it is an oversight since there are no mounting holes, so a bit of breadboard and the pin headers may be needed after all, depending on application etc.

#9  

Great write up on the TellyMate Tiny, Rich. I'm looking to get the full-sized version so the information that you've provided here has been a great help. However, could you clear something up for me concerning positioning the cursor? I attempted to follow the examples you provided with the ASCII chart and I came up with different values for the x,y positions in your examples. I'm sure it's just my brain not grasping something.

x,y position 0,8 you said rc was a space and a left-parenthesis. But when I compare that to the ASCII chart the x,y position would be 1,7. 1 = space, 7 = left-parenthesis.

x,y position 12,0 you said rc was a plus-sign and a space. Compared to the ASCII chart the x,y position would be 10,1. 10 = plus-sign, 1 = space.

x,y position 17,19 you said rc was the number-zero and the number-two. Compared to the ASCII chart the x,y position would be 15,17. 15 = number-zero, 17 = number-two.

confused What am I doing wrong?

United Kingdom
#10  

I'm still working on the positioning, I'm sure there's an easier way. The ASCII method is a horrible method for many reasons.

I'm still working this through and updating it when I can.

FYI the commands are the same on all tellymate variants.

As for the ascii chart I posted, I kinda screwed up on the numbering system and started at 1 not at 0. I plan to adjust it if I keep the ascii method of positioning.

#11  

Hope you place the full finished code in EZ-CLOUD

United Kingdom
#12  

Everyone will have different requirements so it would be impossible to post full finished code since it will vary from robot to robot, application to application. Examples will be posted with descriptive comments as I always do and each function will be explained along with the command(s) required will be posted and explained in post #2.

#13  

CAN you post what you are using it for for one of your robot,thinking thats what you got it for.

DOESNT need the full code only a example only,i see you did it for others you posted in EZ-CLOUD

United Kingdom
#14  

Again, examples will be posted. The demo from the video is already posted and updated whenever necessary.

I don't currently plan to use it in any robot.

#15  

I guess i need to put the code on EZ-Cloud using you examples that might help others,just give me a few days.

United Kingdom
#16  

Again, the examples/demo is already on the cloud.

#17  

OK,thanks will put my full finished code up too ,using your examples also in a few days on my robot design i am using it on

#18  

I see you made it 2 hours ago and i downloaded the file,but where is the video you said you made of it.

#19  

FORGET the last comment i found the video on it.

United Kingdom
#20  

I last updated the cloud 2 hours ago (well actually a few minutes ago, I guess you have an old version if you downloaded it), I put it up the day I put the tutorial up.

The video is in post #2 just after the photos.

United Kingdom
#21  

Just added in some more of the command sequences on post #2

Enable/Disable Auto Line Feed and Auto Carriage Return - With these enabled either the LF or CR code will move to the next line and return to the start of the line.

Moving the cursor - up, down, left & right commands added, this just moves the current cursor position up, down, left or right by one.

Removed cursor positioning due to complicated method and issues using ASCII character " for positioning. I have sent feedback to Batsocks and hoping to come up with a solution for absolute positioning.

United Kingdom
#22  

Cursor positioning has been solved using hex. Details have been added to post #2 and to the project saved to the cloud.

There is also a strong possibility of connection tutorials for all TellyMate variants available at batsocks.co.uk being added to post #1 in the near future.

#23  

CAN you update the file you made in ez-cloud

United Kingdom
#24  

It has been updated, it was updated prior to posting the latest update in this topic. As previously stated it will continue to be updated when the code is updated or when new examples are added. There is no need to ask for it.

#25  

@Rich - Thanks for all the great work on the TellyMate examples/write-up! Glad that batsocks had an easy "fix" for the cursor positioning. I get how to position the cursor now with your updated info in post #2. Kudos! :)

United Kingdom
#26  

The code should work on all variants of the TellyMate. There are functions I have not yet covered, such as redefining characters for example as these are not supported by the tiny. I hope to receive the other variant from Batsocks when they next make a batch up - if he remembers. If/when I do I will add those functions too along with connection tutorials for the boards.

I still have a few examples left to do, I want to show how to display sensor readings and update them within a fixed display. How to display bar graphs (if possible with the Tiny, I am unsure at the moment). Etc. More will come when I get the chance to play - it's just awkward since I mainly use my HTPC as a test rig which is connected to the TV that the TellyMate is also connected to.

Anyway, glad that the new hex method makes sense.

United Kingdom
#27  

With a huge thank you to Batsocks.co.uk I now have two other variants of the TellyMate board which I will write up tutorials on for assembly (TellyMate TTL) and connection (TellyMate TTL and TellyMate).

I will also provide the updated code samples for using the functions which the TellyMate Tiny doesn't support. This will come in over the next few days.

South Africa
#28  

Hi rich as you all know I am still a big inner in robotics and I do not know many definition so I hope I am not troubling you but what is a Telly mate

United Kingdom
#29  

It's no trouble, this actually reminded me I still have the other Tellmate variants to cover too.

The Tellymate is a serial device which can output text and graphics to a TV through the composite connection. Similar to the LCD displays used in some robots but uses any display with a composite connection (the yellow plug, along the lines of scart). This means old TVs can be used as can small in car monitors.

They are a little out of date to be honest since you can pick up a small tablet which could be programmed to do a better job but if on a budget or want a retro feel these things are great.

If you have a look at the videos in this topic you should get an idea of what they do.