RC oscillator
The built-in clock in almost every microcontroller: free, quick to start, and exactly as precise as a resistor and a capacitor can be.
The frequency comes from how fast a capacitor charges through a resistor, and both values drift with process, voltage and temperature. So the vendor trims each chip at the factory and stores the result in a calibration register — OSCCAL on AVR, the HSI trim bits on STM32. That gets you to around one percent at room temperature, and worse in the cold or the heat.
It's good enough for most things, and it starts in microseconds instead of the milliseconds a crystal needs. A UART tolerates a few percent of mismatch between sender and receiver, not much more. USB demands ±0.25% — some STM32 parts get there by trimming the internal oscillator against the start-of-frame packets the host sends every millisecond, and skip the crystal altogether.