diff --git a/core/lib/include/macros/xtstr.h b/core/lib/include/macros/xtstr.h
index 0f22135ea8..8e36da15c7 100644
--- a/core/lib/include/macros/xtstr.h
+++ b/core/lib/include/macros/xtstr.h
@@ -28,7 +28,7 @@ extern "C" {
/**
* @def XTSTR
*
- * @brief A macro to return the string respresentation of x
+ * @brief A macro to return the string representation of x
*/
#ifndef XTSTR
# ifndef DOXYGEN
diff --git a/cpu/atmega_common/periph/uart.c b/cpu/atmega_common/periph/uart.c
index 71c3801b9a..5e304ec05f 100644
--- a/cpu/atmega_common/periph/uart.c
+++ b/cpu/atmega_common/periph/uart.c
@@ -22,7 +22,7 @@
*
* Support static BAUD rate calculation using STDIO_UART_BAUDRATE.
* Set STDIO_UART_BAUDRATE to the desired baud rate and pass it as a -D argument
- * at compliation time (e.g. in the boards Makefile.include file).
+ * at compilation time (e.g. in the boards Makefile.include file).
* UART_BAUD_TOL can be set to guarantee a BAUD rate tolerance at compile time or
* to switch to double speed transmission (U2X) to achieve a lower tolerance.
* At runtime, this tolerance is not guaranteed to be met.
diff --git a/cpu/atxmega/include/cpu_ebi.h b/cpu/atxmega/include/cpu_ebi.h
index 159df70dc3..b2b081fb81 100644
--- a/cpu/atxmega/include/cpu_ebi.h
+++ b/cpu/atxmega/include/cpu_ebi.h
@@ -127,7 +127,7 @@ void hugemem_write32(hugemem_ptr_t to, uint32_t val);
/**
* @brief Read byte stream from external memory to internal memory
*
- * @param to intenal memory pointer
+ * @param to internal memory pointer
* @param from 24-bit external memory pointer
* @param size number of bytes to read
*
@@ -139,7 +139,7 @@ void hugemem_read_block(void *to, const hugemem_ptr_t from, size_t size);
* @brief Write byte stream from internal memory to external memory
*
* @param to 24-bit external memory pointer
- * @param from intenal memory pointer
+ * @param from internal memory pointer
* @param size number of bytes to write
*
* @note The address range to copy to is within 64 kB boundary
diff --git a/cpu/cc26x0_cc13x0/include/cc26x0_cc13x0_aux.h b/cpu/cc26x0_cc13x0/include/cc26x0_cc13x0_aux.h
index bee273b3c0..d6f4756cef 100644
--- a/cpu/cc26x0_cc13x0/include/cc26x0_cc13x0_aux.h
+++ b/cpu/cc26x0_cc13x0/include/cc26x0_cc13x0_aux.h
@@ -83,7 +83,7 @@ typedef struct {
reg32_t SCEWEVSEL; /**< sensor controller engine wait event selection */
reg32_t EVTOAONFLAGS; /**< events to AON domain flags */
reg32_t EVTOAONPOL; /**< events to AON domain polarity */
- reg32_t DMACTL; /**< direct memoty access control */
+ reg32_t DMACTL; /**< direct memory access control */
reg32_t SWEVSET; /**< software event set */
reg32_t EVSTAT0; /**< event status 0 */
reg32_t EVSTAT1; /**< event status 1 */
diff --git a/cpu/cc26x0_cc13x0/include/cc26x0_cc13x0_prcm.h b/cpu/cc26x0_cc13x0/include/cc26x0_cc13x0_prcm.h
index 8ded977243..d99f5e165d 100644
--- a/cpu/cc26x0_cc13x0/include/cc26x0_cc13x0_prcm.h
+++ b/cpu/cc26x0_cc13x0/include/cc26x0_cc13x0_prcm.h
@@ -180,7 +180,7 @@ typedef struct {
#define RECHARGESTAT_MAX_USED_PER_mask 0x0FFFF
#define RECHARGESTAT_VDDR_SMPLS_mask 0xF0000
-#define OSCCFG_PER_E_mask 0x07 /* number of 32KHz clocks between oscillator amplitude callibrations */
+#define OSCCFG_PER_E_mask 0x07 /* number of 32KHz clocks between oscillator amplitude calibrations */
#define OSCCFG_PER_M_mask 0xF8 /* computed as follows: PERIOD = (PER_M*16+15) * 2^(PER_E) */
#define JTAGCFG_JTAG_PD_FORCE_ON 0x10
diff --git a/cpu/cc26xx_cc13xx/doc.txt b/cpu/cc26xx_cc13xx/doc.txt
index b2f2096ed7..420e6015d1 100644
--- a/cpu/cc26xx_cc13xx/doc.txt
+++ b/cpu/cc26xx_cc13xx/doc.txt
@@ -69,7 +69,7 @@ make -C examples/hello-world flash BOARD=cc1350-launchpad
@note Once flashed, there's no need to flash it again, unless the configuration
needs to be changed.
-# Debuggging [[TOC]](#cc26xx_cc13xx_toc)
+# Debugging [[TOC]](#cc26xx_cc13xx_toc)
Development kits from Texas Instruments come with an XDS110 on-board debug probe
that provides programming, flashing and debugging capabilities.
diff --git a/cpu/esp8266/periph/timer.c b/cpu/esp8266/periph/timer.c
index bbb1f0f92a..fc336a67a3 100644
--- a/cpu/esp8266/periph/timer.c
+++ b/cpu/esp8266/periph/timer.c
@@ -322,7 +322,7 @@ void timer_print_config(void)
extern void os_timer_arm_us(os_timer_t *ptimer, uint32_t time, bool repeat_flag);
/* Since hardware timer FRC1 is needed to implement PWM, we have to map our */
-/* timer using the exsting ETS timer with 1 us clock rate */
+/* timer using the existing ETS timer with 1 us clock rate */
struct phy_channel_t
{
diff --git a/cpu/gd32v/periph/gpio.c b/cpu/gd32v/periph/gpio.c
index 97e9faa996..baa59fd075 100644
--- a/cpu/gd32v/periph/gpio.c
+++ b/cpu/gd32v/periph/gpio.c
@@ -59,7 +59,7 @@ static inline void _port_enable_clock(gpio_t pin)
}
/**
- * @brief Check if the given mode is some kind of input mdoe
+ * @brief Check if the given mode is some kind of input mode
* @param[in] mode Mode to check
* @retval 1 @p mode is GPIO_IN, GPIO_IN_PD, or GPIO_IN_PU
* @retval 0 @p mode is not an input mode
diff --git a/cpu/stm32/periph/gpio_f1.c b/cpu/stm32/periph/gpio_f1.c
index 5f75da008a..a53f0da7d6 100644
--- a/cpu/stm32/periph/gpio_f1.c
+++ b/cpu/stm32/periph/gpio_f1.c
@@ -77,7 +77,7 @@ static inline int _pin_num(gpio_t pin)
}
/**
- * @brief Check if the given mode is some kind of input mdoe
+ * @brief Check if the given mode is some kind of input mode
* @param[in] mode Mode to check
* @retval 1 @p mode is GPIO_IN, GPIO_IN_PD, or GPIO_IN_PU
* @retval 0 @p mode is not an input mode