パーツライブラリのドット単位で転送させるところの説明で、 matrix.draw(dots); を使うことになっていますが、これを matrix.dots(dots); に変えてみていただけませんか。 小生作成の、サンプルプログラムを下記しますので参考になれば幸いです。
<html>
<head>
<script src="https://unpkg.com/obniz@3.5.0/obniz.js"></script>
</head>
<body>
<div id="Keyestudio_HT16K33"></div>
<script>
var obniz = new Obniz("OBNIZ_ID_HERE");
obniz.onconnect = async function () {
const matrix = obniz.wired("Keyestudio_HT16K33", { gnd:0, vcc:1, sda:2, scl:3 });
matrix.init(8);
matrix.brightness(7);
const ctx = obniz.util.createCanvasContext(matrix.width, matrix.height);
var dots = new Array(9);
dots = [1,2,4,8,16,32,64,128,0];
obniz.repeat(async function(){
ctx.fillStyle = "black";
ctx.fillRect(0, 0, matrix.width, matrix.height);
ctx.fillStyle = "white";
while(true){
for(i=0; i<8; i++){
matrix.dots(dots);
await obniz.wait(200);
dots[8] = dots[0];
for(j= 0; j<8; j++){
dots[j] = dots[j+1];
}
}
}
}, 1000/10);
}
</script>
</body>
</html>