Datasheet doesn't make it look too bad. Only a handful of commands, and it doesn't look like it wants you to do any particularly weird stuff. Looks like the module'd be pretty easy to write.
Writing off the top of my head looking at the datasheet, I'd start like
exports.connect = function(i2c,address,) {
return new HT16K33(i2c,range);
}
function HT16K33(i2c,address) {
this.i2c = i2c;
this.a=(address?address:0x70);
}
HT16K33.prototype.send = function(data){
this.i2c.writeTo(this.a,0x00,data);
}
HT16K33.prototype.setBrightness = function(bright){
this.i2c.writeTo(this.a,0xE0+E.clip(0,bright,16));
}
HT16K33.prototype.setDisplay = function(on,blink) { //blink - 0 = no blink, 1=2 blink per second, 2=1 blink per second, 3=1 blink per 2 second
this.i2c.writeTo(this.a,0x80+(on?1:0)+(E.clip(0,blink,3)<<1));
}
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Datasheet doesn't make it look too bad. Only a handful of commands, and it doesn't look like it wants you to do any particularly weird stuff. Looks like the module'd be pretty easy to write.
Writing off the top of my head looking at the datasheet, I'd start like