Using UART

boumboauto
You already explained everything correctly:

  • By default on RPi3 the hardware UART (aka full UART) on /dev/ttyAMA0 is used by the Bluetooth device.
  • But if you disable Bluetooth completely, you can still use it for other tasks.
  • Otherwise the software UART (aka mini UART) is available on /dev/ttyS0 which is as well by default configured to be available on the GPIO ports, so being the primary UART, on RPi3.
  • You can switch this by some config.txt entry, but lets not make things more complicated.

Important when using UART devices for something else then a serial login console, is that you disable serial console usage. On DietPi do:
dietpi-config > Advanced Options > Serial/UART

  • In the “Toggle serial consoles” part disable the serial console on /dev/ttyS0.
  • This will disable the serial-getty@ttyS0 service which allows login via serial terminal. And it disables boot messages being printed to this device/console.

And jep, having /dev/ttyS0 enabled forces CPU clock at 250 MHz.