You may build an array of pulses... you should have enough memory to do that: 9 x 24 x 2 pulses... For the timing see http://forum.espruino.com/comments/14612306/ using https://www.espruino.com/Reference#l__global_digitalPulse . Composing the array may be a bit nifty... but it is all just a matter of 'thinking - bit-banging - it thru'. You make yourself a function that can put the pulses for a byte out and you append for each byte to an array... with arry.push(). Times in digitalPulse() are [ms], and you have to do [us]... like 0.003, 0.006 and 0.009.... I do not know if digitalPulse() can get them out fast enough... you may need to look at the signal with a scope and adjust - shorten - the times to take into account the time of the code that has to run on every transition. - It is though easier to make a custom build that includes neopixel module.
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.
You may build an array of pulses... you should have enough memory to do that: 9 x 24 x 2 pulses... For the timing see http://forum.espruino.com/comments/14612306/ using https://www.espruino.com/Reference#l__global_digitalPulse . Composing the array may be a bit nifty... but it is all just a matter of 'thinking - bit-banging - it thru'. You make yourself a function that can put the pulses for a byte out and you append for each byte to an array... with arry.push(). Times in digitalPulse() are [ms], and you have to do [us]... like 0.003, 0.006 and 0.009.... I do not know if digitalPulse() can get them out fast enough... you may need to look at the signal with a scope and adjust - shorten - the times to take into account the time of the code that has to run on every transition. - It is though easier to make a custom build that includes neopixel module.