Avatar for Stev


Member since Mar 2014 • Last active Feb 2023
  • 19 conversations

C64, HP48, Espruino.

Most recent activity

  • in Projects
    Avatar for Stev

    That looks great! So the keyboard itself has a digital interface rather than needing scanning?

    Yes, it comes with its own 2040 that does does the USB HID and a I2C node that provides config, keystroke (down/held/up), touchpad delta-since-last-poll, backlight control and several raw access registers, including managing an interupt pin (which I'm not using right now).

    Pretty neat for using with a mini-Linux machine or in a embedded setup.

    The i2C interface can provide ascii with direct modification (shift/alt) or provide just the keycodes. Might also be a good candidate for an espruino module.

    I also implemented a nice dimming effect, which unfortunately makes the little power bank shut down due to low power consumption :) Mapped the dim-down onto a key combo now and use it as an off switch until I might replace the battery with something simpler.

    Works great for now with that singe-file Espruino solution.

    The vertical opportunity would have been doing everthing with just the keyboard module and a 1.8V nRF. But that would have meant a new board, casing, flow soldering instead of just soldering four cables. But it might run well on a 3V coin cell instead of the "bone".

    and is that one of those special buttons at the top where you can rub your thumb over it and scroll around?

    Yes. Great addition to the keyboard.

  • in Interfacing
    Avatar for Stev

    The closure minifier was inlining a function and had added a label/break-to-label

    Cool. That explains the "jump" I spotted in the minification. Didn't think of a label in js.

    Best bet is https://www.espruino.com/BLE+Security#di­sable-the-ble-uart

    Ah. nice. The perfect page for my all questions above (that I could have found myself :)) Thanks.

  • in Porting to new Devices
    Avatar for Stev

    BTW, interest in this port is not really overwhelming ;-)

    Just got a few Pico Ws and got burned by MicroPython right away. So... very interested in a port. Given the wireless support of the new chip, there might be quite some potential.

    Everything without an event model/loop will have to rely on archaic multi/dual core distribution approach and the RasPico's GPIO features. Not really a replacement for a neatly generalized run loop.

  • in Interfacing
    Avatar for Stev

    Hey Gordon,

    Thanks. I'll try these settings and will report (I guess I should drill a hole for the (reset)button as the first measure).

    For the combo.js (yes, the one you linked) I got errors with a simple require (that the IDE would fetch) but things would work fine if I used the full URL to the unminified version and let the IDE do the minification. Great that this works that easy.
    So I suspected the minified version to have a problem, and looking at a few points inside the minified code it looks like there were some jumps or repetitions that make the code invalid. Though you never know what magical obfuscation might be at work.

    What's the current recommended way to disable the UART? Since I still need to update the code now and then: To get it back I would have to implement my own switch, or would flashing new code still work and just the interactive console would be disabled? If so, can I disable reflashing-without-DFU in the end?

    Nice to just pick up Espruino after a few years and it just works. An important point for the whole concept of Espruino. I know other frameworks that would need you to either keep up with their development the whole time (which is the opposite of tinkering) or relive the whole toolchain learning curve every time.


  • in Projects
    Avatar for Stev


    I recently bought a few of these


    which is a light blackberry keyboard with touchpad, that connects via usb c to a host or can be used as a i2c device via multiple connectors.

    I added a MDBT breakout module that fits pretty neatly into the free space inside the enclosure.

    Used the Web IDE to connect wirelessly to the breakout board, which works seamlessly, if you remember or implement a few tricks to switch pairing once you start the BLE HID mode. The Espruino module connects to the great I2C interface of the original keyboard and does its own keyboard mapping etc.

    There is enough IO left to actually connect the keyboard matrix directly to the MDBT breakout, but you would need to provide your own level converters etc., so this is a neat compromise for now.

    I'll try to polish the pairing and security functions, but for general use, it's working quite well already.

    Pretty happy with Espruino's incremental tinkering experience that lead to a viable solution for the problem.

    I'll promise to re-do the ugly soldering next time I need to open the case...

  • in Interfacing
    Avatar for Stev


    I'm working on making an existing keyboard mouse combo (https://www.tindie.com/products/arturo18­2/bb-q20-keyboard-with-trackpad-usbi2cpm­od/) available via bluetooth using the MDBT breakout board. It's working quite well so far, and it was easy and fun to implement right inside the IDE, which always keeps me coming back to Espruino. It's the original promise well served.

    (the combo minified module might be broken, not sure though, I now use the non-minified one)

    Now, I wonder though, what security setting I should use to have a professional and secure solution.
    I saw the encryption settings, mitm etc, but the default seems to be "off" and I wonder why that is and what I should use. Bit lost here.

    Also I found that the device is not recognised as a potential keyboard when it comes to the icon displayed by the host (generic BT icon instead of a keyboard). Anything I can do about that?

    Thanks in advance

  • in News
    Avatar for Stev

    Long way well travelled. Congrats.