diff -Nrup A/irmp.c B/irmp.c
--- A/irmp.c	2018-09-10 14:26:02.000000000 +0200
+++ B/irmp.c	2019-12-05 01:44:49.958376100 +0100
@@ -2296,6 +2296,8 @@ irmp_init (void)
     RCC_AHBPeriphClockCmd(IRMP_PORT_RCC, ENABLE);
 #  elif defined (ARM_STM32F10X)
     RCC_APB2PeriphClockCmd(IRMP_PORT_RCC, ENABLE);
+#  elif defined (ARM_STM32F30X)
+    RCC_AHBPeriphClockCmd(IRMP_PORT_RCC, ENABLE);
 #  elif defined (ARM_STM32F4XX)
     RCC_AHB1PeriphClockCmd(IRMP_PORT_RCC, ENABLE);
 #  endif
@@ -2310,6 +2312,10 @@ irmp_init (void)
 #  elif defined (ARM_STM32F10X)
     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
+#  elif defined (ARM_STM32F30X)
+    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
+    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
+    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
 #  endif
     GPIO_Init(IRMP_PORT, &GPIO_InitStructure);
 
diff -Nrup A/irmp.h B/irmp.h
--- A/irmp.h	2018-09-10 14:26:02.000000000 +0200
+++ B/irmp.h	2019-12-03 22:08:57.087122062 +0100
@@ -51,6 +51,8 @@
 #    define IRMP_PORT_RCC                       CONCAT(RCC_AHBPeriph_GPIO, IRMP_PORT_LETTER)
 #  elif defined (ARM_STM32F10X)
 #    define IRMP_PORT_RCC                       CONCAT(RCC_APB2Periph_GPIO, IRMP_PORT_LETTER)
+#  elif defined (ARM_STM32F30X)
+#    define IRMP_PORT_RCC                       CONCAT(RCC_AHBPeriph_GPIO, IRMP_PORT_LETTER)
 #  elif defined (ARM_STM32F4XX)
 #    define IRMP_PORT_RCC                       CONCAT(RCC_AHB1Periph_GPIO, IRMP_PORT_LETTER)
 #  endif
diff -Nrup A/irmpsystem.h B/irmpsystem.h
--- A/irmpsystem.h	2018-09-06 16:52:14.000000000 +0200
+++ B/irmpsystem.h	2019-12-05 01:45:46.026523800 +0100
@@ -37,6 +37,11 @@
 #  define ARM_STM32
 #  define ARM_STM32F10X
 #  define F_CPU (SysCtlClockGet())
+#elif defined(STM32F30X)                                                            // ARM STM32
+#  include <stm32f30x.h>
+#  define ARM_STM32
+#  define ARM_STM32F30X
+#  define F_CPU (SysCtlClockGet())
 #elif defined(STM32F4XX)                                                            // ARM STM32
 #  include <stm32f4xx.h>
 #  define ARM_STM32
diff -Nrup A/irsnd.c B/irsnd.c
--- A/irsnd.c	2018-09-06 16:52:14.000000000 +0200
+++ B/irsnd.c	2019-12-05 01:42:51.466724300 +0100
@@ -864,6 +864,8 @@ irsnd_init (void)
 #    elif defined (ARM_STM32F10X)
         RCC_APB2PeriphClockCmd(IRSND_PORT_RCC, ENABLE);
         // RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); // only in case of remapping, not necessary for default port-timer mapping
+#    elif defined (ARM_STM32F30X)
+        RCC_AHBPeriphClockCmd(IRSND_PORT_RCC, ENABLE);
 #    elif defined (ARM_STM32F4XX)
         RCC_AHB1PeriphClockCmd(IRSND_PORT_RCC, ENABLE);
 #    endif
@@ -882,6 +884,13 @@ irsnd_init (void)
         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
         GPIO_Init(IRSND_PORT, &GPIO_InitStructure);
         // GPIO_PinRemapConfig(GPIO_*Remap*_TIM[IRSND_TIMER_NUMBER], ENABLE); // only in case of remapping, not necessary for default port-timer mapping
+#    elif defined (ARM_STM32F30X)
+        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
+        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
+        GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
+        GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
+        GPIO_Init(IRSND_PORT, &GPIO_InitStructure);
+        // GPIO_PinRemapConfig(GPIO_*Remap*_TIM[IRSND_TIMER_NUMBER], ENABLE); // only in case of remapping, not necessary for default port-timer mapping
 #    endif
 
         /* TIMx clock enable */
diff -Nrup A/irsnd.h B/irsnd.h
--- A/irsnd.h	2018-08-29 17:19:08.000000000 +0200
+++ B/irsnd.h	2019-12-03 22:11:13.309728610 +0100
@@ -27,6 +27,8 @@
 #    define IRSND_GPIO_AF                       CONCAT(GPIO_AF_TIM, IRSND_TIMER_NUMBER)
 #  elif defined (ARM_STM32F10X)
 #    define IRSND_PORT_RCC                      CONCAT(RCC_APB2Periph_GPIO, IRSND_PORT_LETTER)
+#  elif  defined (ARM_STM32F30X)
+#    define IRSND_PORT_RCC                      CONCAT(RCC_AHBPeriph_GPIO, IRSND_PORT_LETTER)
 #  elif defined (ARM_STM32F4XX)
 #    define IRSND_PORT_RCC                      CONCAT(RCC_AHB1Periph_GPIO, IRSND_PORT_LETTER)
 #    define IRSND_GPIO_AF                       CONCAT(GPIO_AF_TIM, IRSND_TIMER_NUMBER)
