Controlling Smoothie over UART

Hey all,

I’m trying to talk to my V1.1 Smoothieboard with a serial connection using the UART. I am using a 768-1032-ND USB/Serial converter from Digi-Key and here is my config file.

I set the Smoothie to talk at 9600 baud, but that’s all I’ve changed in the config as far as communication stuff goes. I also just flashed it with the latest firmware this morning. So far I’ve been able to receive the debugging info, but it’s just a bunch of gobledegook to me.

It does not respond to anything I send it. I’ve tried GCode, as well as the help console command. No luck. I’ve also tried a whole slew of baud rates, from 75 to 128,000, still nada. The only thing that changed was that the debugging stuff was different flavors of gibberish each time.

Currently I only have the Rx, Tx, and Ground wired to the USB/Serial converter. I did try also wiring the RTS and CTS pins, but that didn’t seem to change anything. I also tried swapping the Tx/Rx around, but then I didn’t get the debugging stuff.

I can get everything to work over USB, so there shouldn’t be other hardware issues.

Anyone have any experience with this? Am I using the wrong type of serial converter?

The debugging info is transmitted I think at 1 or 2 Mbaud. It’ll stop being non-sense if you set it to that speed and read.
About the issue of at 9600, that should work though, there’s no reason it shouldn’t, and no reason it would be the adapter …

Ya know what? I’m a fool. That’s an RS-232 adapter, so it’s sending info at -6V to +7V (scoped). The micro wants something like 0V to 3V. Also, RS-232 seems to be inverse logic compared to TTL, so maybe that’s playing into it too.

I’ve ordered a more proper serial cable, so as soon as that’s in I’ll find out if I fried my chip. The datasheet for the micro says -0.5V to +5.5V, so we’ll see…

Oh, the UART page says the debug info is sent at 9600, so that’s what I was going off of. That page is 2 years old, though, and I figured something may have changed in that time.

I think I solved my own issue though (see my other reply). I haven’t confirmed yet, but I believe it has to do with voltage levels. Once I get my new cable in, and if I confirm my suspicion, is it cool if I update that page to include voltage levels? Could save other people like me from mindlessly using the FTDI “serial” adapters they have on the shelves.

1 Like

Some of the info is sent at different speeds depending on which module is activated/used. It’s a bit messy but it’d be hard to correct, and uses of that debug info is very rare.

DO NOT send 7v in there, it’s tolerant up to 5V max, it will break if you go higher.

And yes, please update documentation if you have something to add, it’s very welcome.

1 Like

People of the future! Do not use an RS-232 serial cable like I did. It’s bad and wrong. RS-232 ≠ UART. The voltages are too high, and the logic is inverted compared to UART. You could end up damaging your board (I didn’t, but that’s just luck).

What’s needed is a 3.3V TTL serial cable. The other one I linked is fine, if a bit expensive and flashy. I would recommend a TTL-232R-RPI cable instead, as it has only the pins you need and it’s lower cost.

2 Likes

A 5V cable will also work, Smoothie pins are tolerant up to 5V

1 Like