Hi. I am using a Python program on an UDOO X86 to transmit integers from the Udoo's UART1 to a Teensy. The Teensy prints the data received via the serial monitor. I am using an Adafruit logic level converter. (Please assume that I must use a Teensy and cannot use the onboard Arduino.) The Arduino starts by printing the correct integers but after 10-30 numbers, it prints garbage numbers. It happens at any baud rate. I used a logic analyzer to sniff the serial data and confirmed that the problem is on the UDOO transmit end. The Udoo sends the correct numbers for under a second and then sends garbage, including bit combinations that trigger framing errors. The same thing happens on UART2. I also tested the same programs and setup on a second Udoo that I own and it works properly at 4800 baud. Can anyone think of a hypothesis for this issue other than a hardware problem and, if so, is there a way to test the hypothesis? Also, please note that the set up of communicating using the Udoo's UART headers is my only option (versus, for instance, using one of the Udoo's three USB ports). Thank you. Georgia
Out of curiosity, have you tried using the COM1/COM2 side of the UART connector for serial communication? https://www.udoo.org/forum/threads/serial-port-and-console-redirection.13054/ Although there have been suggestions on where to get the data specs, no one seems to be able to confirm successful use of the serial ports on the UART.
Hi Snakebyte. Using an unsupported BIOS is way beyond my experience but it sounds like a very interesting project. I am not sure if I understand your question when you ask whether I have tried using the COM1/COM2 side of the UART connector for serial communication. That's what I thought I had explained I was doing. I basically connected a jumper wire from pin 18 on the Udoo (on CN15) to a logic level converter and then to a Teensy microcontroller development board. I was able to get it to transmit data on two of my three Udoo's but not the one I am posting about. Would you mind explaining your question in more detail? Thanks!
Hi Georgia, I'm not using an unsupported BIOS, but an unsupported bootloader and OS. My apologies - you did say you are printing to the serial side, and receiving it with Teensy. I saw that you were communicating on the Arduino side and misread what you are doing. My fault. Using https://www.udoo.org/docs-x86/img/x86_pinout_braswell.png as the reference, on the Udoo UART1, are you using pin 19 for transmit, pin 18 for receive (null modem cable) and pin 32 for ground? Or do you have a different configuration? (I'm not an expert on this.) With console redirect on, do you get the splash screen and device screen?
Got it. Looking at your link for the pin mapping, I am using pin 18 for transmit and 19 for receive. (I think you had it the other way around.) Yes, I am using pin 32 for ground. I am transmitting data from a python program using serial, so there is no splash screen, etc. See this link for a better explanation of the basic idea: http://www.geduino.org/site/archives/284 I'd be curious to know if you could get this working on your Udoo. As I said, I hooked up a logic analyzer to the transmit pin (i.e. 18) and it sent gibberish after a few transmits. Same problem using UART2 (pin 22). Perhaps some boards are defective?
I'm using a TTL to USB cable, and I was advised by Udoo to swap Tx and Rx, to create a null modem cable. I have UART2/ COM2 port turned off altogether, although if memory serves me correctly, I had the same issue on it as well. I get the splash screen and device screen, but once control transfers to the bootloader, communication slows to a crawl (seconds per 8 character block). I have found some code in both the bootloader and kernel that could explain the delay and I would like to test it, but last weekend the serial port on the Udoo board appeared to die completely. The board will not boot with the cable connected to board (the light stays amber). I am awaiting instructions from Udoo on how to diagnose the UART port itself. I bought my board in September. CSB02REVH.
I believe the serial number begins with a “K” and is stamped on the upper right of the back of the board. Mine is K72567457. I’m not sure when it was bought
The revision stamp is on the back on the right hand side, in between the two checkmarks. My serial is K72880920. I don't know the correlation between serial numbers and production dates, but it looks like yours is a lot earlier than mine.