import itertools


def generate_bit_patterns(bit_length=3):
    """
        Generates all possible binary sequences up to bit_length
    :param bit_length:
    :return: array of binary sequences e.g. [[0,0],[0,1],[1,0],[1,1]]
    """
    unique_input_patterns = []

    for bits in itertools.product([0, 1], repeat=bit_length):
        single_input = [bit for bit in bits]
        unique_input_patterns.append(single_input)
    return unique_input_patterns