

Sorry about posting in the wrong place, the earlier comments on this issue reference several serial protocols (SPI, UARTs, pulsing digital IO, etc), so I got the impression that this issue concerned connecting ESP-8266 to various serial peripherals in general. This bug really isn't the place to discuss reimplementing some firmata-style peripheral interface (or I2C connection problems for ESP8266) - maybe you could post on the forum? I've tried many different combinations, e.g: D1/D2, which do you suggest? Update: looks like someone has already done a lot of work on the Arduino side:Īre you sure you have the right pins, as you seem to be using NodeMCU but just specifying the pins as numbers? You could use NodeMCU.D0/etc. Thoughts? Is this something I should pursue for the community? Probably JS developers would be comfortable with something like MQTT. So, this leaves the question of how best to network these devices.

(basically an external version of the ESP-14).
Arduino libraries to espruino how to#
So, at least for me, instead of learning how to debug using a logic analyzer etc., it makes more sense to accept that there is going to have to be some sort of Arduino device between the ESP and these serial devices. If we take a step back and look at this Serial connectivity issue more broadly, we have:Ī) A plethora of sensors and actuators that already have a robust C / Arduino library ecosystem.ī) A user base that comes from a completely different ecosystem (Javascript, browsers, etc)Ĭ) Very limited developer resources (and no active bounty system, no corporate sponsorship, or other compensation mechanism) to implement dozens of serial device interfaces, andĭ) a target platform (in the case of ESP8266) that can only support at best 1 x ADC pin and 1 x I2C serial device, even if all these libraries were created (at least with the current iteration of hardware). Maybe this could help people willing to tinker with SW after giving this issue of serial device connectivity more thought I'm thinking of going a different route. logDebug ( false ) RX = new Pin ( 0 ) // ~D3 port //var bitTime=3.333 // for 300 BAUD //var bitTime=1.666 // for 600 BAUD var bitTime = 0.833 //for 1200 BAUD //var bitTime=0.104 //for 9600 BAUD var bitCounter = 0 var RXByte = var asciia = // for comparing with the sent a var bitSampler = function ( ) ,ByteDuration)
