Arduino supports a variety of data types, including boolean, integer (int), floating point (float and double), and character (char). Besides those, it also supports custom ones like struct, class, and enum.