-- Kitt Car Modified by John Longworth November 2017 -- Using pins 3 & 4 to be compatible with ESP001 id=0 sda = 3 -- 1 ~ 12 IO index scl = 4 -- 1 ~ 12 IO index i2c.setup(id, sda, scl, i2c.SLOW) -- Initialize I2C function read_reg(dev_addr, reg_addr) i2c.start(id) i2c.address(id, dev_addr ,i2c.TRANSMITTER) i2c.write(id,reg_addr) i2c.stop(id) i2c.start(id) i2c.address(id, dev_addr,i2c.RECEIVER) c=i2c.read(id,1) i2c.stop(id) return c end function write_reg(dev_addr, reg_addr, reg_val) i2c.start(id) i2c.address(id, dev_addr, i2c.TRANSMITTER) i2c.write(id, reg_addr) i2c.write(id, reg_val) i2c.stop(id) end write_reg(0x20, 0x00, 0x00) -- set bank A to output i = 1 dir = 1 tmr.alarm(0,250,1,function() write_reg(0x20, 0x12, i) --print("I = " .. i) dir = (i == 1) and (dir == -1) and 1 or (i == 128) and (dir == 1) and -1 or dir i = (dir == 1) and i * 2 or i / 2 end) -- Pin Connections on my board -- Pin 9 (VDD) to 3v3 -- Pin 10 (VSS) to GND -- Pin 11 (NC) to GND (Not necessary) -- Pin 12 (SCL) to ESP GPIO2 -- Pin 13 (SDA) to ESP GPIO0 -- Pin 14 (NC) to GND (Not necessary) -- Pin 15 (A0) to GND -- Pin 16 (A1) to GND -- Pin 17 (A2) to GND -- Pin 18 (RESET) to 3v3 -- Connect pins to be read to Gnd on Port B