I have searched a lot on internet and tried all suggested solutions like criss-cross connection, checking loose connections, changing baud_rates and using GND connection for UART, but nothing seems to work so far. Moreover most of the previous solution seekers were using Raspbian, whereas I am not. Hence, putting this question to get scenario specific solutions. I do not have resources to do any HW debugging, but assuming my RPi3 is not faulty.

This is first time I am using RPi3 (after years on beaglebone), so please do not assume anything.

I was trying to boot U-boot on RPi3.

I created a FAT partition on SD card and copied all the .dat, .elf and bootcode.bin files in the /boot folder on SD card. These firmware files were copied from the official Raspberry pi firmware Github repo.

I compiled U-boot and copied u-boot.bin file on the SDCard. I have created the following config.txt file on SD card to pick uboot binary by the firmware :


U-boot logs are coming fine on HDMI , but I get garbage characters on Minicom (set at 115200, 8N1).

I am using the FTDI 232R-3V3 cable and have connected the RX, TX and GND on pins 6, 8 and 10 (criss-cross connection). HDMI port is also connected.

What could be the reason for this? I read here that BT operation could interfere, but I am not sure if that is applicable to me since I am not using Raspbian and only loading U-boot. If this is the case, how can I fix it? What other things I can try apart from mentioned at the top?


This is how the garbage characters look like. So when i type, some random character k pops up, when type x, ` may come up. Otherwise output remains blank: enter image description here

  • You have said lots about what you aren't doing but not provided any concrete data.
    – Milliways
    Feb 27, 2020 at 6:49
  • 1
    criss-cross connection - so, TX to RX and RX to TX? ... that's a correct and only valid connection, not "criss cross", because transmit should connect to receive, not transmit, Feb 27, 2020 at 7:51
  • I read here that BT operation could interfere - so, did you try the solutions? Feb 27, 2020 at 7:53
  • Perhaps you can try init uart clk and uart bd in your config.txt: (1) init_uart_baud initial UART baud rate. Default 115200, (2) init_uart_clock initial UART clock. Default 3000000 (3MHz), (3) eLinux RPiconfig: elinux.org/RPiconfig#Boot.
    – tlfong01
    Feb 27, 2020 at 8:02
  • What baudrate did you set in software? There's no point in changing baud rates if you know the correct one. Also, what does "using GND connection for UART" mean? UART has 3 pins (TX RX GND) and it won't work unless you correctly connect all three. Feb 27, 2020 at 12:19


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.