def read_from_8bit_eeprom(bus, address, count, bs=16):
    """
    Reads from an 8-bit EEPROM. Only supports starting from 0x00, for now.
    (to add other start addresses, you'll want to improve the address counting mechanism)
    Default read block size is 16 bytes per read.
    """
    data = [] # We'll add our reads to here
    # If read count is not divisible by block size,
    # we'll have one partial read at the last read
    full_reads, remainder = divmod(count, bs)
    if remainder: full_reads += 1 # adding that last read if needed
    for i in range(full_reads):
        start = i*bs # next block address
        # If we're on last cycle and remainder != 0, not doing a full read
        count = remainder if (remainder and i == full_reads-1) else bs
        read = bus.read_i2c_block_data(address, start, count)
        data += list(read)
    return data