Experimenting with Hypnagogia using the Bangle.js

Posted on
  • Before I found out about the Bangle.JS I'd planned on creating an arduino based glove - this watch is a game changer.

    Inspired by a recent MIT study on Hypnagogia and the 'Dormio' glove. In this blog post and assoicated youtube video, I discuss how we can explore the transitional state between wakefulness and sleep, which has associations with various phenomena around perceptual hallucinations. This state has always been of interest in human history, it has been the inspiration of Salvador Dali's art, Aristotle's writings and Thomas Edison, who attributed a lot of his insights to lucid thoughts within Hypnagogia. Full code is available and I give a brief overview of current results - definitely has scope for expansion/improvements to the principle:


  • @BenJabituya

    very very interesting.

    Since a glove has usually multiple sensors, did you A) Connect external sensors to the BangleJS watch? - or - B) External sensors to data logging connected otherwise? - or - C) Just used the Bangle BangleJS with its built-in sensors?

    I'm asking because I was considering to have some external connection, since - after all what was going on with the 'piezo speaker', a pin is 'dangling'... - Final details how to connect is still to figure out, including how to power such sensors.

  • That looks great! It's a really fun use for Bangle.js.

    I guess if you're having trouble waking you could use Bluetooth LE from the Bangle to control something else to wake you - a light bulb, desk fan or something like that?

    Did you consider adding SteelBall.js to the Bangle.js app loader? Then it'd be trivial for others to try it too

  • @allObjects I’ve just used what’s available on the watch as I quite like the simplicity of it as is. As @Gordon mentioned it’s fairly straightforward to integrate other BLE things to experiment:) if there’s a v2 of this device in the future (I hope there will be) I’d request surface/skin temp sensor and Galvanic skin response-alongside HR this is, I guess, a holy trinity for health/fitness analysis.
    @Gordon I’ve not looked at how the App Loader is curated but will defo check that out and put it in for others to test more easily. Cheers

  • I’d request surface/skin temp sensor

    Due to covid the new wave of fitness trackers do report temperature. So far I did not see hackable nrf52 based one that has one. The F07 tracker that can already run Espruino has new version with temperature sensing named F77 and I ordered one to test but I fear this will be exactly the same device as F07 reporting fake value or it will use internal nrf52 temperature sensor. I will report when I get it.

    Anyway in theory one can also add temperature sensor yourself, the DS18B20 sensor needs just two wires and it could be glued to the band. e.g. the DS-D6 or HX03W/F fitness trackers have two spare gpios on usb connector hiden in the strap so I guess the sensor could be mounted directly to the band strap where the usb connector end is. Those can run Espruino too.

  • @fanoush thanks! I'll take a look at these other trackers that can run Espruino, didn't think of that. That F77 looks too cheap to be true if it does have it :)

  • Just to explain, these are of course not officially supported and stuff does not work out of box as with Bangle. Also Espruino != Bangle apps. So definitely stay with Bangle.js if you can. However if you need something different then it is an option but is definitely advanced topic so makes sense only if you are prepared to invest extra effort. E.g. the HR sensor hardware in Bangle gives you one simple value, in other devices you have more control over it but you need to run your own algorithm (or use some vendor library) to compute heartrate from raw data. jeffmer recently got heartrate working in P8 and DK08 smartwatches in Espruino (HRS3300 and EM7028 HR sensors).

    BTW sadly just yesterday I got the aliexpress package but the seller sent different device - F07t instead of F77 (like this). It does have skin temperature sensor however it is not nrf52 based (most probably Dialog DA14585 chip) so no chance to run Espruino. So after getting refund I'll see if I try getting F77 again.

  • I'd also come across the "Ticwris GTS" which seems to be nRF52 based with a temperature sensor. No Espruino support for that yet though.

    It'd definitely be a neat addition if I could find a device with it for the next Espruino. I'm never really sure what is of most interest - stuff like GPS, a better screen, or health monitoring features

  • barometric pressure sensor would allow for altimeter and weather related apps also if any of these have it-gps would be very cool also. I think the screen is great as it is tbh but I’m biased towards having more stuff in the watch than upgrading the screen lol

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview

Experimenting with Hypnagogia using the Bangle.js

Posted by Avatar for BenJabituya @BenJabituya