What's new
What's new

Tutorial, drip feeding Brother TC-S2B


Jan 11, 2021

I just want to store this guide to the internet archives: How to connect your Brother TC-S2B CNC milling machine to your computer and drip feed files (aka. tape run). There are loads of misinformation regarding the old serial communication aspect, eg. that you cannot use cheap dongles or need specialized software.

What is needed:
- Serial terminal for PC, there are many varieties but i used free terminal called RealTerm. It has loads of options, but does not store the settings so you need to set up it every time when it is closed. So perhaps not suitable for long run, but good for initial problem solving as it has powerful features and comprehensive visual indicators.
- Null modem cable, DB9 - DB25. You can buy one or make one (if you have any soldering abilities). Remember, there are two types of cables. Null-modem which are used to connect equipment to terminals (like CNC to the tape machine). They cross the data lines and hardware handshaking correcly; TX pin connects to RX, CTS connects to RTS etc. Other available cable type is so called straight trough, used as an extensions. They maintain the pinouts. If you need to extend your connection cable, make sure NOT to use another null-modem cable for that!
- USB to serial port adapter, the native serial ports are long gone from tabletop PC:s (unfortunately). Check that it supports hardware handshaking (probably all of them do). There are more expensive adapters (at about 100$ range) with more robust hardware emulation and electrical properties. Also with extra functionality like LAN/Wifi to serial.
Remember that the dongle will buffer some amount of data from your computer. This will lead to progress bars halting, before there is more room to fill them up again. Actual sent data is running in very linear fashion on the serial line.

Settings for your CNC machine:
(I will edit this for more comprehensive list as the manual is at another location right now)
- Start at baud rate 4800. It is probably the lowest setting that will not starve your machining operation. Remember, there are no upsides to higher than needed transmission speed when using drip feed.
- Parity bit, odd. As there is NO data integrity checking within the transmission itself, this will provide a very simple protection against random communication errors where single bit is flipped from external noise. Extensions can pick up more noise, if you ever run into these kinds of problems, your cables need to be rerouted asap.
- Data bits 7. I have not experimented with 8. For drip feeding purposes i suspect 8th bit would be unused.
- Stop bits 1.
- From User settings -> Switch 1, Tape run option must be set to 1. If the first owner was cheap, he opted out from this feature and you will soon get an tape-run error message, thus severely limiting what you will be able to do with your machine. It can be enabled from machine parameters at any time, but i do not know how to do it.

Settings for your data terminal:
- Check that the selected com port number is the dongle port.
- Match the CNC data settings.
- Hardware handshaking CTS/RTS must be turned on. This is what controls the data flow and prevents RC buffer overrun at the machine end. Without data flow management, computer would just keep sending the data even though the receiver has no room left to buffer it (sending it to a garbage bin).
- Do not enable Xon/Xoff
- Press the "Change" button to update your port settings.
- Select NC file to be sent from the "Send" pane. It does not matter how you name these files. Do not press send just yet.

Requirements for the data file:
- It must start and end with an "%" symbol. This can be in the post processor.
- Program must end with M30 command, right before the last %. Otherwise you will get an error, machining will succeed though.
- Oxxxx program number at the beginning is expected by the machine apparently, but probably not required.

This is all. Now you have to select "Mem" from CNC and you will get an almost blank screen with a tape run text on the upper corner. Press load program to set the machine waiting for incoming feed. Finally click the "send" button at your data terminal software. Program should should start rolling to the screen. Pressing cycle start begins the execution immidiately and the buffers are filled up without user intervention.

ps. If you run into problems regarding the communications, check the realterm indication lights on the rightmost side. TX = transmit signal from PC, RX = Receive signal from CNC (if you receive anything, it is going to be put on the text screen also). CTS/RTS are traffic lights of the communications and so are DTS/DTR (they are bit convoluted acronyms and will put your head in spin, so will not attempt to elaborate on them).

Basic debug would be to attempt sending any program from CNC to computer. There is no magic here, it's a bit-banging one-directional communications. There are no data handshakes, acknowledgements, error corrections etc. between the communicating parties. Flow regulations happens with the traffic lights of CTS/RTS. Any parity error or buffer overflow will produce an unrecoverable error on the CNC screen (meaning program feed stops and you need to reset).

Null modem cable pinout image here: Cable Spec 41 - NULL MODEM Crossover DB9 to DB25 Pinout - ATTWiki