-
I've updated my Pixl.js to to 2v18 and I'm unable to upload code (either to ram or flash) because it seems to disconnect in the middle of sending.
Copy pasting code also disconnects the pixl. However, typing in code seems to work (testing with the blinky code).
My MDBT42Q breakout works correctly but that was running the 2.06 version. I then flashed 2.06 onto the pixl and uploading code works again.
I don't remember the version my pixl was running before I updated. I've tried 2.17 and 2.16 but those are broken too, I'll try to find out the latest version the pixl still works corectly with in the next few days because I'll need to finish off a project and 2.06 is enough to get things working :)
-
-
I've been doing a project with the pi pico w (there's a local competition that requires us to use some of their add-on products) and as much as I wanted to use Espruino, it's not yet available on the pi pico/w and so I'm unfortunately stuck with circuitpython.
It's been a struggle, as the async and realtime stuff is a lot harder to work with in python and I really miss the natural asyncness of Espruino.
After the competition I'd like to redo the whole thing in the pixl.js but the only missing component would be WiFi access (I need to be able to reach out to a sonoff relay to turn it on or off).
I know there's the esp-at driver, but I've found it a bit finicky and the esp8266 can sometimes be very flaky. There's the bluetooth-wifi bridge through mqt, but I'd like to minimize the equipment dependencies.
I saw there's a way to use an esp32 via spi (I think it's called the nina firmware) but I can't seem to find any docs about it here in the forums or in the official docs).
Has anyone tried to use wifi with the nrf52 chips and how did you go about it?
-
I liked Eddystone https://www.espruino.com/Eddystone before but it's been disabled for sometime now due to abuse.
Now it looks like Google is again trying something similar with the "Find My Device" function:
https://arstechnica.com/gadgets/2023/05/bluetooth-tags-for-androids-3-billion-strong-tracking-network-are-here/
https://blog.google/products/android/google-android-safety-features/I'm guessing this would also run through BLE
Has anyone else worked on this? I can't seem to find any documentation on the protocol; I'm guessing once we have docs it should be relatively straightforward(?) to turn a puck into a tracker that shows up in Find My Device. There might be some process to register trackers in order to avoid abuse but that's not necessarily a technical limitation.
-
-
Yeah, but some browsers will automatically change to https.
For example, https://support.mozilla.org/en-US/kb/https-only-mode-firefox-android by default will use https only (but you can change in settings)
https://support.mozilla.org/en-US/kb/https-only-prefs some people also enable this and haven't set an exception for the forum.
-
You get it when you go to https://forum.espruino.com/conversations/369818/ (note the https)
According to the cert, it's only valid for *.microcosm.app domain (and this is forum.espruino.com)
-
Just wanted to mention that Seeed Studio put an NRF52840 in the XIAO form factor:
https://www.seeedstudio.com/Seeed-XIAO-BLE-nRF52840-p-5201.html
Would be a good stopgap until we finally get an official MDBT50Q breakout with Espruino programmed in, if only it's in stock :P
-
-
-
-
I was actually replying to @user134951 :D
With regard to your question on comms with the internet, Gordon answered a similar question: http://forum.espruino.com/conversations/309832/
-
You'd be surprised that even the computer you're using has an opaque, second "brain" that nobody except the manufacturer has any idea of what it's doing (maybe even tracking you?) https://en.wikipedia.org/wiki/Intel_Management_Engine
-
I would liken this to saying operating systems based on Linux are open source, except when you start adding binary blobs like nvidia or printer drivers.
You can recompile Espruino to not use bluetooth (for example the stm32 ones don't have bluetooth) but the watch won't be as functional (e.g. no app store, no wireless comms).
Nordic is the manufacturer of the microprocessor that powers the watch, and they also provide the bluetooth stack. Since they are the manufacturer, the Nordic provided bluetooth stack works best with the chip, similar to how nvidia drivers have better support than the nouveau reverse engineered drivers.
Another tricky thing for opensource products working with wireless comms would be compliance. If you use the Nordic sdk, you can mention that in your product docs and the certification officials would know what to do (since a lot of products with the Nordic chips would usually use the sdk and they would have experience with it). If you don't, you're in for a more grueling (and possibly more expensive) certification process since you'll need to ensure your wireless energy signals don't go beyond what local laws require. Since Espruino can be used in consumer products (the only one that comes to mind right now is https://lab.ruuvi.com/espruino/ ) the product manufacturers benefit from this as well.
-
The neopixels require fast pulses, and the usual way firmware for microcontrollers do it is to ride on I2S (instead of bitbanging gpio).
I2S usually need both SCK and LRCK defined, but the nRF52832 didn't need the LRCK pin defined. However after some testing (and a trip to the nordic forums) it seems it is indeed required.
What I meant by not accidentally using it is that since with nRF52 you can assign devices their pins, if you put LRCK it on an exposed pin, you might accidentally connect it to your circuit and have a really awful time debugging :P
-
In this case, http://forum.espruino.com/comments/15562682/ and building the hex file with this board def works for me
Edit: just saw that fanoush mentioned it's not a good idea. I guess you can just pick any pin that's free (for the dongle, maybe one that's on a pad underneath so you don't accidentally use it?)
-
I had the same issue on a different nrf52840 board http://forum.espruino.com/conversations/354468/ not sure if this would help but this sounds like what I experienced before
-
-
https://gist.github.com/parasquid/808cf63ee6c5e9865df32e3ddb8c795a#file-airquality-js github gist for quick reference :)
-
I wrote some prototype code while road testing an nrf52840 board in element14: https://www.element14.com/community/groups/roadtest/blog/2020/11/13/road-testing-the-pan1780-evaluation-kit-part-5-air-quality-dashboard-via-web-bluetooth
It's not that difficult to get it working. Like MaBe said, it's just serial comms. The tricky bit is to handle the 32byte stream that comes in every second; since it's serial you might get dropped bytes depending on how good your wiring is. In my case I never got the checksum to match the byte calculation, so I just lived with strange pm values every now and then.
-
-
-
I brought out one of mine that I bought sometime back and didn't actually use, and it looks like these boards have some sort of demo firmware in them by default (not the AT command set that Espruino or Arduino is expecting).
You can check if yours is the same by turning it on and seeing if you have something like "ai-thinker" show up in your wifi networks.
If I connect to mine with the password "ai-thinker" and go to
192.168.4.1/client?command=info
I see some information as a webpage, which tells me mine does NOT have the AT commandset.
You might need to flash your own firmware on the shield in that case as mentioned here https://www.espruino.com/ESP8266#updating-esp8266-firmware
Maybe others might have more ideas that don't involve flashing the wifi devboard? It's relatively easy for me so I don't really think twice about it, but others might have a different technique.
-
I wanted to upgrade the firmware on my MDBT42Q breakout running 2.06 but as it turns out, the built-in button doesn't seem to function properly.
Running the sample program here https://www.espruino.com/Button on D22 and using a jumper to 3.3v properly detects button presses, so I think the button doesn't seem to make contact no matter how hard I press.
Is there a different way to get to DFU mode and flash a firmware upgrade? I would've done it through a jtag programmer but the SWDIO and SWCLK pins are too small :(