-
For me, the USB tab on the Espruino Pico is more of a space penalty than useful. I assume this design reduces unit cost. But if possible, a version of the Pico which has the female micro USB port, like the Espruino Wifi has, would be more optimal, as it would save a little space. For wearables, this is a legitimate consideration.
Please let me know if you think of any creative options available to me right now. This request is more of a nice-to-have than blocker, for my project.
Thanks for all the excellent work. Espruino is truly amazing! I don't think my project would be as quick and successful without Espruino. Looking forward to sharing our success and application with Espruino more in the future.
-
Is there any other way to get the revision number? I will have to dismantle wires and remove solder to get the pico off the perfboard.
Sometimes the blue light on the ESP comes on during power up, other times it doesn't.
Here's the output from debug:
Connected ><- Serial1 > > _____ _ | __|___ ___ ___ _ _|_|___ ___ | __|_ -| . | _| | | | | . | |_____|___| _|_| |___|_|_|_|___| |_| http://espruino.com 1v90 Copyright 2016 G.Williams > =undefined ] "s" <--- "s" ] "sl\x00l" <--- "l\x00l" ] "sl\x00l\x9C\x90" <--- "\x9C\x90" ] "sl\x00l\x9C\x90r" <--- "r" ] "sl\x00l\x9C\x90r\x02" <--- "\x02" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3" <--- "\x8Cb\x02\xE3" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n" <--- "n" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f" <--- "\f" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f" <--- "\f" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f" <--- "\f" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80" <--- "\x8C\x1C\x80" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l" <--- "l" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp" <--- "\xEC\x1Cp" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E" <--- "\x8C|\x8E" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83" <--- "\x83" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00" <--- "\x9F\x00" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03" <--- "\xECp\x03" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92" <--- "\x92" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F" <--- "\x9E\x8F" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92" <--- "\x92" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xEC" <--- "\x9C\xEC" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f" <--- "l\f" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc" <--- "c" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3" <--- "\x8Cp~\xF3" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n" <--- "n" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00ln" <--- "\x9F\x00ln" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn" <--- "n" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b" <--- "\x9C\x13b" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C" <--- "\fb\x1Cp\x8C" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl" <--- "\x8Ebl" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02" <--- "`\x02" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02r" <--- "r" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n" <--- "lp\xF2n" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0" <--- "\xE0" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82" <--- "\x82" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00" <--- "\x9C\x00" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f" <--- "\f" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f" <--- "\f" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82" <--- "\x82" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80" <--- "\x8E\x80" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l" <--- "l" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f" <--- "\f" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f" <--- "\f" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f" <--- "\f" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f" <--- "\f" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\f" <--- "\f\f" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn" <--- "b\fn" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2" <--- "\xE2\xE2" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2n" <--- "n" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl" <--- "l" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C" <--- "\xEC\x1C\xE2\x8C" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep" <--- "\x8Ep" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f" <--- "\f" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n" <--- "\x8C|\x7F\xF2n" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE" <--- "\xEE" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02" <--- "\x02" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C" <--- "l\x8C" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C\x8E\x00l" <--- "\x8E\x00l" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C\x8E\x00l`\x02\x90" <--- "`\x02\x90" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13" <--- "\x13\x13" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13n" <--- "n" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn\f" <--- "n\f" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn\f\x8F" <--- "\x8F" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn\f\x8Fs" <--- "s" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn\f\x8Fsl\x0F\x02ns\x8E" <--- "l\x0F\x02ns\x8E" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn\f\x8Fsl\x0F\x02ns\x8E\x92" <--- "\x92" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er" <--- "\x9Er" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\x03" <--- "\x03\f\f\x03" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\x03\fr\x8C\x9C\x7F\xF2n" <--- "\fr\x8C\x9C\x7F\xF2n" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x92\x9Fs\x1C" <--- "\x0E\x02nr\x8F\x92\x9Fs\x1C" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x92\x9Fs\x1C\x8E\x00l`" <--- "\x8E\x00l`" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x92\x9Fs\x1C\x8E\x00l`s\x03l`\x7F\xF2" <--- "s\x03l`\x7F\xF2" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x92\x9Fs\x1C\x8E\x00l`s\x03l`\x7F\xF2\x00" <--- "\x00" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x92\x9Fs\x1C\x8E\x00l`s\x03l`\x7F\xF2\x00\f\xECl\x80" <--- "\f\xECl\x80" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x92\x9Fs\x1C\x8E\x00l`s\x03l`\x7F\xF2\x00\f\xECl\x80lpb\x82" <--- "lpb\x82" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x92\x9Fs\x1C\x8E\x00l`s\x03l`\x7F\xF2\x00\f\xECl\x80lpb\x82\x02\x8C|\x92" <--- "\x02\x8C|\x92" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x92\x9Fs\x1C\x8E\x00l`s\x03l`\x7F\xF2\x00\f\xECl\x80lpb\x82\x02\x8C|\x92r" <--- "r" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x92\x9Fs\x1C\x8E\x00l`s\x03l`\x7F\xF2\x00\f\xECl\x80lpb\x82\x02\x8C|\x92rl" <--- "l" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x92\x9Fs\x1C\x8E\x00l`s\x03l`\x7F\xF2\x00\f\xECl\x80lpb\x82\x02\x8C|\x92rl\x8E" <--- "\x8E" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x92\x9Fs\x1C\x8E\x00l`s\x03l`\x7F\xF2\x00\f\xECl\x80lpb\x82\x02\x8C|\x92rl\x8E\x13" <--- "\x13" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x92\x9Fs\x1C\x8E\x00l`s\x03l`\x7F\xF2\x00\f\xECl\x80lpb\x82\x02\x8C|\x92rl\x8E\x13\x90" <--- "\x90" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x92\x9Fs\x1C\x8E\x00l`s\x03l`\x7F\xF2\x00\f\xECl\x80lpb\x82\x02\x8C|\x92rl\x8E\x13\x90o" <--- "o" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x92\x9Fs\x1C\x8E\x00l`s\x03l`\x7F\xF2\x00\f\xECl\x80lpb\x82\x02\x8C|\x92rl\x8E\x13\x90o\x02" <--- "\x02" ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\fc\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x92\x9Fs\x1C\x8E\x00l`s\x03l`\x7F\xF2\x00\f\xECl\x80lpb\x82\x02\x8C|\x92rl\x8E\x13\x90o\x02\xCC\xFF\r\nAi-Thinker Technology Co.,Ltd.\r\n\r\ninvalid\r\n" <--- "\xCC\xFF\r\nAi-Thinker Technology Co.,Ltd.\r\n\r\ninvalid\r\n" >Uncaught No 'ready' after AT+RST
-
-
I think my pico might be damaged. It behaves inconsistently. At one point I connected VBAT to GND because it looked like you were doing some weird connecting of those pins in your video. It was only for a brief instant and it seems like it is working, but sometimes the Web IDE refuses to print any new text output from the Pico and the only way to make things work again is disconnecting the Pico from power and starting over. I have some more coming in the mail.
-
var wifi = require("ESP8266WiFi_0v25").connect(Serial2, function(err){ wifi.getVersion(print); });
> null undefined
The code I'm using from espruino.com/ESP8266:
digitalWrite(B9,1); digitalWrite(A1,0); digitalWrite(A10,0); digitalWrite(A10,1); Serial2.setup(115200, { rx: A3, tx: A2 }); Serial2.on('data', function(d) { USB.write(d); }); USB.on('data', function(d) { Serial2.write(d); }); Serial1.setConsole();
digitalWrite(B9,1); Serial2.setup(115200, { rx: A3, tx: A2 }); var wifi = require("ESP8266WiFi_0v25").connect(Serial2, function(err){ if (err) throw err; console.log("Connecting to WiFi"); wifi.connect("MY_LAN", "PASSWORD", function(err){ if (err) throw err; console.log("Connected"); require("http").get("http://www.pur3.co.uk/hello.txt", function(res){ console.log("Response: ", res); res.on('data', function(d){ console.log("--->"+d); }); }); }); });
-
-
I'm using the code samples on this page: http://www.espruino.com/ESP8266
How do I make AT calls?
-
Yup, you are correct. Wow, some cool stuff in that thread, I want.
I've quintuple checked every connection. Getting the board version works, but nothing else does.
"" "AT+GMR\r\r\nAT version:0.40.0.0(Aug 8 2015 14:45:58)\r\nSDK version:1.3.0\r\nAi-Thinker Technology Co.,Ltd.\r\nBuild:1.3.0.2 Sep 11 2015 11:48:04\r\nOK\r\n" ")e\xE9M\xAAK\xF8" Done!
-
The 10µf cap I put between GND and 3.3v is radial electrolytic. I think someone said to use ceramic. Will this make a difference?
Reading this just now. Seems like I need to make a trip to Fry's.
https://www.quora.com/What-is-the-difference-between-Ceramic-and-Electrolytic-capacitors-Where-should-I-use-a-ceramic-one-Can-I-use-a-250V-22pF-ceramic-capacitor-in-a-full-wave-bridge-rectifier-circuit -
Read this old thread: http://forum.espruino.com/conversations/267148/?offset=75
Am dealing with Ollie's situation, all I get back is
Uncaught No 'ready' after AT+RST
. Seems his issue was fixed by updating ESP8266, so I'm doing that (I'm not using a shim). I manually put the ESP into bootloader mode, made the update to esptool.py, and ran the following command.Rob::Robs-iMac { ~/Downloads }-> esptool.py -p /dev/cu.usbmodem1411 -b 115200 write_flash 0 ESP8266_AT25-SDK112-512k.bin esptool.py v1.3 Connecting... Auto-detected Flash size: 8m Running Cesanta flasher stub... A fatal error occurred: Invalid head of packet ('\x13')
-
I've seen the game emulator example. The guy who made it doesn't seem to have interest in helping newbies do what he's done. There are people who try to teach others how to do these things, for example, this embedded midi player was built by a guy who created a complete course on OS development.
http://www.joebutton.co.uk/blog/baremetal-midi-lv2-raspberrypi/
and his course, "Baking Pi"I also found this really awesome guide on building Arduino sketches for the pi.
The network access isn't needed immediately upon boot. The device can show a status indicator while the network system is coming up. But a chosen interpreter and associated runtime scripts need to start running immediately, because it will operate the UI, I2C, and be responsible for all device logic. I've read that it's possible to prevent the kernel from waiting for network devices to reach ready state.
[edit1]
<1s: https://www.youtube.com/watch?v=-l_DSZe8_F8
[edit2]
The search continues.
http://elinux.org/Boot_Time[edit3]
Getting warmer.
http://makelinux.com/emb/fastboot/
https://www.youtube.com/watch?v=747XLVbTgA4
-
I agree with @TheAlchemist, the beginner experience with the Espruino Pico has been much better than pi and Tessel. It seems all these embedded systems vendors are thinking only of robots / IoT, and completely forgetting about wearables. I think the Espruino project has done really well in avoiding that mistake.
The pi zero is attractive to me as a platform for an open-source product because users can write in whatever language they like. What's frustrating for me is the long boot time in every distro, since I'm making a wearable product and it shouldn't take 15 seconds to turn on!
My end goal is to enable users to work in the language of their choosing, and I plan on supporting more than one MCU (like MicroPython). I was thinking the pi zero would be a good fit, but not if I can't get instantaneous boot.
-
-
@Gordon, yes, just timeouts.
What's the likelihood that the 3.3v pin on my board is only a reference voltage and doesn't power any of the slave devices? There's no other power being provided. I'm waiting on lithium ion batteries to arrive in the mail, which the board was QC'd with.
-
Hi @Gordon. I ran the I2C scanner script from the other thread, I don't get any positive results. If the address bits are shifted, wouldn't the scanner still find the devices?
@ClearMemory041063, good find. Actually I think this wasn't that hard. But there's a few pieces I'm uncertain of. Is this line a function?
#define CHECK_BIT(var,pos) ((var) & (1<<(pos)))
So my guess is it becomes this:
function CHECK_BIT (val, pos) { return ((val) & (1<<(pos))); }
And the
init_i2c
function is puzzling to me. Looks likeinit_i2c("/dev/i2c-1");
is akin to callingI2C1.setup()
.Looks like the
substring
function isn't being used, so fortunately I can take that out. The pointer stuff there is beyond me, but I'm guessing it works likeslice()
.Here's my first attempt at a rewrite.
https://gist.github.com/stokebrain/e7956dc7b5f1f62f3a54e1a820042526
(thegetliner()
function needs to be updated still) -
@Frida, didn't have a pullup on SCL. Added it, still no luck though. Both resistors are 10k.
@ClearMemory041063, waiting on the battery to arrive in the mail. The code in these I2C scanner scripts relies on reading 1 byte from a given address, so I've been using that approach. http://forum.espruino.com/conversations/278556/
These are some of the other devices that are also on the bus.
http://cds.linear.com/docs/en/datasheet/2631fc.pdf
http://datasheets.maximintegrated.com/en/ds/MAX11644-MAX11645.pdfOn the LTC2631, CA1 and CA0 are both grounded, so the addresses would be 0xAA and 0xAB.
-
-
-
I'm using the Espruino Pico and interfacing with a custom board that has several I2C devices, but things aren't working yet. I'm hoping someone can show me where I can find the Espruino's I2C hardware specs.
More Info:
I've been successful in tests using an arduino as a slave device. My simple test was to send a 12 bit value from the master and print to the serial monitor.
I'm wondering if there's a compatibility issue between the Espruino I2C and of the slave device(s) I2c. I haven't been able to find the Espruino's I2C hardware specs.
Some specs on my slave device(s):
VIH: Vpull-up * 0.7
VIL: 0.6
VOL: 0.6One of the slave devices is a Li+ "Fuel Gauge":
http://www.ti.com/lit/ds/symlink/bq27441-g1.pdf
http://www.ti.com/lit/ug/sluuac9a/sluuac9a.pdfI don't have a battery connected right now, but I assumed the circuit would be active on I2C since the 3v terminal on my board is connected to the 3v pin on the Espruino.
Thanks for reading.
-
That worked :). I was thinking I would just reopen the connection after it closed.
Thanks so much for your help :)
https://github.com/stokebrain/morra-build/blob/master/main.js
-
I still don't understand why you can't just use the existing espruino-cli code though - or at the very least start from that code which does exactly what you want and then strip out the bits you don't want.
That's exactly what I did.
https://github.com/stokebrain/morra-espruino1/blob/master/build.js#L76 and downThe problem seems to be that it doesn't work after having already run
Espruino.init()
, andEspruino.sendFile()
, which is the first step in my script (after all the webpack build stuff). I added a lot of logging statements. I can see thatconnection
is aSerialPort
object and should work just fine, right untilqueryBoardProcess()
runs, which is happening because it's listening for the'connected'
event. I don't understand yet what this code does. Will have to work on it tomorrow. Thanks for the explanations. -
This is tough, and frustrating. I can see that
connection
is defined after callingEspruino.Core.Serial.open()
, but it seems thateval()
is runningwriteSerial()
in a scope whereconnection
is undefined. And this is being triggered by thequeryBoardProcess
which was added as a processor function for the'connected'
event.Why does this project need to use eval?
@Joakim, I am using the
espruino
npm module directly to send my code. That's what this does: https://github.com/stokebrain/morra-espruino1/blob/master/build.jsI want to enter the terminal after the code is loaded so I can receive the log output from the device as it's running.
-
Hi @Gordon. Execution from the command-line works fine. I'm working with the espruino module as an import in my build script: https://github.com/stokebrain/morra-espruino1/blob/master/build.js
The trouble starts with
Espruino.Core.Serial.open()
inopenConnection()
. -
Tonight I got as far as loading the build result on the board using the
espruino
npm module. I spent a few hours trying to get it to drop me into the espruino REPL right after the code is loaded, like what happens when I connect from the command line,espruino -p /dev/cu.usbmodem1421
, but I haven't been able to get it working.I copied the
terminal()
function fromespruino-cli.js
, but whenEspruino.Core.Serial.open()
is called, this error is thrown:COM: /dev/cu.usbmodem1421 Connected Ok undefined:92 connection.write(a, callback); ^ TypeError: Cannot read property 'write' of undefined at Object.writeSerial [as write] (eval at loadJS (/Users/rob/projects/espruino2/node_modules/espruino/index.js:10:15), <anonymous>:92:15) at writeSerialWorker (eval at loadJS (/Users/rob/projects/espruino2/node_modules/espruino/index.js:10:15), <anonymous>:228:19) at Object.writeSerial [as write] (eval at loadJS (/Users/rob/projects/espruino2/node_modules/espruino/index.js:10:15), <anonymous>:245:5) at Object.getEspruinoPrompt (eval at loadJS (/Users/rob/projects/espruino2/node_modules/espruino/index.js:10:15), <anonymous>:206:26) at Object.executeExpression (eval at loadJS (/Users/rob/projects/espruino2/node_modules/espruino/index.js:10:15), <anonymous>:270:27) at Timeout.queryBoardProcess [as _onTimeout] (eval at loadJS (/Users/rob/projects/espruino2/node_modules/espruino/index.js:10:15), <anonymous>:39:25) at ontimeout (timers.js:372:18) at tryOnTimeout (timers.js:237:5) at Timer.listOnTimeout (timers.js:207:5)
I can see that it's invoking
open()
on the device (openSerial
,serial_nodeserial.js
), but I haven't figured out what's happening there and why connection is undefined in my use case.FWIW, calling
Espruino.Core.Serial.isConnected()
beforeEspruino.Core.Serial.open()
returns false.
@Gordon, I'll return to the ESP8266 thread soon-ish, and respond to your last question. Thanks for the help. For now I'm making use of the Espruino Wifi so I can ignore the ESP issue.
I got some of these: https://www.adafruit.com/product/661 SSD1306 displays. I can't get them working using SPI on my Espruino Wifi. I've tried a variety of connection arrangements. It should be simple but it seems every page has different instructions. I was using the table labeled "SPI" at the top of this page, but I now conclude it must be wrong: https://www.espruino.com/SSD1306
Table says:
D0/SCK/SCLK => B5
I assume B5 means SPI1 MOSI (like Pico or Espruino Board). Why would I connect
clock
tomaster out / slave in
?So I'm reading the pins from this table according to the Pico pinout, checking if it makes sense, and connecting to the A pins for the same function on the Espruino Wifi. If they don't make sense, I'm trying to connect like pins to like pins. From what I see online, MOSI goes to MOSI, SCK goes to SCK, etc.
Because all the example snippets I find use software SPI, so do I. Here's my test code that doesn't work: