Please post what you're working on!

Posted on
Page
of 7
  • Yes, the STP file looks to be good. I'll send over a PR with another STL

  • Not working on this but would love to see

    a puck.js watch with https://www.adafruit.com/products/1643
    one color each for the hour minute hands with a puck.js in the middle

    my 8 yr old daughter keeps steeling my puck.js to play with, and if I ever got time, I would make a watch for her for "play and learn"

    Edit
    puck.js
    Dimensions of plastic case: 36mm dia, 12.5mm thick
    Dimensions of bare PCB: 29mm dia, 9mm thick

    neopixel 12
    Dimensions:
    Outer diameter: 36.8mm / 1.5"
    Inner diameter: 23.3mm / 1" // Tight fit ... coin battery container is the acid test
    Thickness: 6.7mm / 0.3"

    http://www.thingiverse.com/thing:424381

    https://www.espruino.com/Digital+Dice
    A version with the neo and nrf ...


    1 Attachment

    • Capture.PNG
  • Hi @OwenBrotherwood,

    Yes, working with neopixel is much fun.

    Check issue #1023, for now Pucks can not handle them.

  • thanks MaBe
    my daughter and I both want a puck.js watch: so looks like something to be done.

    a puck.js watch allows for a constant advertisement for the great puck.js for people who ask what it is, and also a means to control the telly when the kids have it on too loud.

    a method to put the puck-on-wrist to different modes using mag and button to control mode

    I watch https://github.com/espruino/Espruino/iss­ues/1023 and put it on a list of great things to come

  • ...just think about the power... a neo pixel white full power draws about 60mA... so three hands with one color each full bright is 60+mA... since this is way over the expected draw of 20mA where the capacity is calculated for an average cell, it lasts for about 10..15 minutes, if at all, because the voltage drop with such a current may brown out puck and more so the neo pixel logic. Light power consumption got much better over its life cycle from incandescent to FL to LED, it is still behaves power hungry... Last but not least this was the reason early (red) LED watches where you had to press a button to show the time changed to LCD, and LCD is still better than e-ink / e-pager for displays that update 'constantly'.

  • yes: power is gonna be an issue.
    Current day apple watches do not show the time all the time and apple only have one button on their iPads/iPhones, so the interface to the watch, with one button and display that is only on when necessary will be ... interesting

    Edit
    The human interface is central RGB and ring RGB. A button and the mag.

  • Oh yes, power is important ....

    You can use a USB powerbank, if mobile, or a USB power supply.

    USB 5V to NP 5V DC Power and USB GND to NP GND
    USB GND to Puck.JS GND
    Puck.JS PinXX to NP Data Input

    like in this example by Gordon http://www.espruino.com/WS2811

  • Hmmm, with all the power needs, may have to go for a puck-pendant-watch: which actually could make things a lot easier as the button may present interesting problems if as a wrist watch

    https://learn.adafruit.com/sound-reactiv­e-neopixel-peace-pendant

  • In general, if one can make some "trinket" videos of the puck.js, one can give some meaning for micro controllers in wearables and funny things for female gender which is a focus at the moment in the organisation for coding for children I teach in my spare time.

    There is a 10% 90% split in gender where the females are the lesser part.

  • inspired by @catmapper wearable watch light meter

  • inspired by @catmapper wearable watch light meter.

    Combined PuckJS_stapholder.stl and bottom.stl with a slicer tool to create a Puck.Js watch case for 18mm nato watch straps


    1 Attachment

  • Puck.JS on nato watch straps


    1 Attachment

    • PuckJS_on_watch_stap.jpg
  • @mabe WOW that is so cool!!! you should put it up on thingiverse. I am definitely going to be printing one of these out. could you do a 22mm version as well? I noticed there are various cheap watch straps on ebay that range from 14 - 22mm

  • Nice @MaBe. Share the files!

    Edit: I should have scanned up the thread a bit - they are there!

  • Puck.js watch is now on thingiverse for 18mm and 22mm straps

  • I think the user interface needs work.... I can't tell if that mean sunset or sunrise ;-)

  • Great @MaBe : I can see we read the same things.
    I get a few more pucks soon from Gordons web shop and the 12 and 24 neopixels should be coming soon so all that is left is some small problems with neopixels support

  • Hi!

    I am currenly developing an app where a Puck.js is acting as a host for receiving data from nearby ruuvitags.

    https://github.com/pleft/puckjs_ruuvitag­_scanner

  • Nice! Thanks for posting up!

    Just so you know, you can now link directly so it auto-loads in the Web IDE: https://www.espruino.com/ide/#https://ra­w.githubusercontent.com/pleft/puckjs_ruu­vitag_scanner/master/PuckjsRuuvitagScann­er.js

  • Just so you know, you can now link directly so it auto-loads in the Web IDE

    Wow cool feature! Thanks!

  • Just a little project I did to get familiar with the Puck, but maybe it's interesting to someone nonetheless. A self-calibrating volume control knob using the magnetometer and bluetooth hid.

    To use it, upload the script, lay the Puck flat on the table, spin it slowly one or two times to calibrate the magnetometer readings. Then press the Puck once and spin it to control the volume of the devices it is connected to via bluetooth (if it is supported). There are some problems with detecting overflow, but it works ok.

    Beware, this is polling the magnetometer with 10 Hz, so it might drain the battery if you keep it running.

  • Im trying to connect to a MI FlowerCare sensor. Im having a issue thoe.

    function getData() {
       var gatt;
       NRF.connect("C4:7C:8D:61:FB:E0").then(fu­nction(g) {
     gatt = g;
     return gatt.getPrimaryService("00001204-0000-10­00-8000-00805f9b34fb");
     }).then(function(service) {
     return service.getCharacteristic("00001a01-0000­-1000-8000-00805f9b34fb");
     }).then(function(characteristic) {
     return characteristic.readValue();
     }).then(function(value) {
     console.log(value);
     gatt.disconnect();
     console.log("Done!");
     }).catch(function(error){
     console.log("error", error);
     });
    }
    
    setWatch(function() {
     getData();
    }, 
     BTN, { repeat:true, edge:"rising", debounce:50 });
    

    I get error disconnected it seems that the flower sensor gets disconnected (I get error disconnected) :) in order to save battery there is a automatic disconnect after like 2 secs. Is there something I can do? Is my code correct ? I got the values using the gatttool on a raspberry Pi. I also found some clues here: https://github.com/open-homeautomation/m­iflora/blob/master/miflora/miflora_polle­r.py, Any sudgestions?

    (Update)

    function getDevices() {
    var devices;
    NRF.findDevices(function(d) {
      devices = d;
      console.log(devices);
    }, 1000);
    }
    
    setWatch(function() {
      getDevices();
    }, 
      BTN, { repeat:true, edge:"rising",    debounce:50 });
    

    Outputs :::::::

    Before watering

    BluetoothDevice {
      "id": "c4:7c:8d:61:fb:e0 public",
      "rssi": -50,
        "services": [
        "fe95"
       ],
      "data": new ArrayBuffer([2, 1, 6, 3, 2, 149, 254, 21, 22, 149, 254, 113, 2, 152, 0, 183, 224, 251, 97, 141, 124, 196, 13, 7, 16, 3, 0, 0, 0])
     }
    

    After watering

    BluetoothDevice {
    "id": "c4:7c:8d:61:fb:e0 public",
    "rssi": -52,
    "services": [
      "fe95"
     ],
    "data": new ArrayBuffer([2, 1, 6, 3, 2, 149, 254, 19, 22, 149, 254, 113, 2, 152, 0, 129, 224, 251, 97, 141, 124, 196, 13, 8,  16, 1, 67])
    }
    

    So now I'm wondering if I can get the moister value from the data ArrayBuffer?

  • @cryptobias thanks! That's really cool! I had always wanted to try something like that. Thanks for using the IDE link too :)

    @furuskog odd about the disconnect. I'll try and release 1v92 some time this week, and it may fix those. Maybe just see if the value from data changes with different moisture levels, as you might be able to notice if one or two array elements keep changing?

    If you have other problems, please could you post in a new thread though? It makes it easier to help you out properly without also responding to everyone else in this conversation :)

  • Hello everybody,

    I create connected a cheap ground moisture sensor to a puck.js and created a node-red flow to notify me when the plant get dry. You can read the whole thing here . I also created a guide how to run EspruinoHub using systemd which is here .

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

Please post what you're working on!

Posted by Avatar for Gordon @Gordon

Actions