diff --git a/.gitignore b/.gitignore
index b65463c9..425eeae5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,10 +11,6 @@
 # Jetbrain IDEs
 .idea
 
-# Debug decoder
-extras/decoder/log.txt
-extras/decoder/out.txt
-
 # Spectrum scan
 extras/SX126x_Spectrum_Scan/out/*
 
diff --git a/extras/decoder/DebugDecoder.py b/extras/decoder/DebugDecoder.py
deleted file mode 100644
index c5c9b371..00000000
--- a/extras/decoder/DebugDecoder.py
+++ /dev/null
@@ -1,111 +0,0 @@
-import re, sys, argparse
-from pathlib import Path
-from argparse import RawTextHelpFormatter
-
-
-'''
-TODO list:
-  1. Parse macro values (the names of bits in all registers in header file)
-  2. Failed SPI write handling
-  3. SX126x/SX128x handling
-'''
-
-
-def get_macro_name(value, macros):
-    for macro in macros:
-        if macro[1] == value:
-            return macro[0]
-    return 'UNKNOWN_VALUE'
-
-
-def get_macro_value(value):
-    return '                         0x{0:02X}\n'.format(int(value, 16))
-
-
-parser = argparse.ArgumentParser(formatter_class=RawTextHelpFormatter, description='''
-    RadioLib debug output decoder script. Turns RadioLib Serial dumps into readable text.
-
-    Step-by-step guid on how to use the decoder:
-    1. Uncomment lines 312 (#define RADIOLIB_DEBUG) and 313 (#define RADIOLIB_VERBOSE) in RadioLib/src/BuildOpt.h
-    2. Recompile and upload the failing Arduino sketch
-    3. Open Arduino IDE Serial Monitor and enable timestamps
-    4. Copy the Serial output and save it into a .txt file
-    5. Run this script
-
-    Output will be saved in the file specified by --out and printed to the terminal
-''')
-parser.add_argument('file', metavar='file', type=str, help='Text file of the debug output')
-parser.add_argument('--out', metavar='out', default='./out.txt', type=str, help='Where to save the decoded file (defaults to ./out.txt)')
-args = parser.parse_args()
-
-# open the log file
-log = open(args.file, 'r').readlines()
-
-# find modules that are in use
-used_modules = []
-pattern_module = re.compile('(([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?.[0-9]{3} -> )?M\t')
-for entry in log:
-    m = pattern_module.search(entry)
-    if m != None:
-        used_modules.append(entry[m.end():].rstrip())
-
-# get paths to all relevant header files
-header_files = []
-for path in Path('../../src').rglob('*.h'):
-    for module in used_modules:
-        if module in path.name:
-            header_files.append(path)
-
-# extract names of address macros from the header files
-macro_addresses = []
-pattern_define = re.compile('#define \w* +\w*(\n| +\/\/){1}')
-for path in header_files:
-    file = open(path, 'r').readlines()
-    for line in file:
-        m = pattern_define.search(line)
-        if m != None:
-            s = re.split(' +', m.group().rstrip())
-            if (s.__len__() > 1) and ('_REG' in s[1]):
-                macro_addresses.append([s[1], int(s[2], 0)])
-
-'''
-# extract names of value macros for each adddress macro
-macro_values = []
-for path in header_files:
-    file = open(path, 'r').readlines()
-    for line in file:
-        for module in used_modules:
-            pattern_addr_macro = re.compile('\/\/ SI443X_REG_\w+'.format(module.capitalize()))
-'''
-
-# parse every line in the log file
-out = []
-pattern_debug = re.compile('(([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?.[0-9]{3} -> )?[RWM]\t.+')
-for entry in log:
-    m = pattern_debug.search(entry)
-    if m != None:
-        s = re.split('( |\t)+', entry.rstrip())
-        cmd_len = int((s.__len__() - 7)/2)
-        new_entry = s[0] + s[1] + s[2] + s[3]
-        if s[4] == 'W':
-            macro_address = int(s[6], 16)
-            new_entry += 'write {0:>2} 0x{1:02X} {2}\n'.format(cmd_len, macro_address, get_macro_name(macro_address, macro_addresses))
-            for i in range(cmd_len):
-                new_entry += get_macro_value(s[8 + 2*i]);
-        elif s[4] == 'R':
-            macro_address = int(s[6], 16)
-            new_entry += 'read  {0:>2} 0x{1:02X} {2}\n'.format(cmd_len, macro_address, get_macro_name(macro_address, macro_addresses))
-            for i in range(cmd_len):
-                new_entry += get_macro_value(s[8 + 2*i]);
-        elif s[4] == 'M':
-            new_entry += 'module {}\n'.format(s[6])
-        out.append(new_entry)
-    else:
-        out.append(entry)
-
-# write the output file
-out_file = open(args.out, 'w')
-for line in out:
-    print(line, end='')
-    out_file.write(line)
-out_file.close()