The current code operates at a little over 300khz, which is quite close to the 400khz max of many devices. It was significantly optimized from the espressif code and all the inner loops were pretty much rewritten. IIRC I tried to make it as fast as I could without exceeding 400khz and still leaving some dials in there to easily turn the speed down to 100khz.
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.
The current code operates at a little over 300khz, which is quite close to the 400khz max of many devices. It was significantly optimized from the espressif code and all the inner loops were pretty much rewritten. IIRC I tried to make it as fast as I could without exceeding 400khz and still leaving some dials in there to easily turn the speed down to 100khz.