Avatar for gendor


Member since Jun 2018 • Last active Sep 2022
  • 7 conversations

Most recent activity

  • in Puck.js, Pixl.js and MDBT42
    Avatar for gendor

    OK, I think I figured it out. I'm using pins D9 & D10 to talk to a I2C device, and according to this thread I needed to disable NFC first. Now it appears to work just fine, and I can even retrieve values from the I2C device (an SHT40 temperature/humidity sensor for which I wrote an Espruino library)

    I would still like to know what the best way is to solder these modules? My steps are as follows:

    1. Tape the module to the PCB
    2. Add lots of flux
    3. Put some solder on soldering iron and drag it across the pins
    4. Continue doing this until it looks like all connections have been made
    5. Use solder wick to clean up any bridges
    6. Clean up the flux with some IPA

    I skipped step 6 last night and this morning my second board stopped working. After cleaning the board it works again, which made me realise that my water-soluble flux is not no-clean flux and should be cleaned.

  • in Puck.js, Pixl.js and MDBT42
    Avatar for gendor

    If I reset the module (pressing button for 5 seconds on startup) I can connect to the board again, but trying to upload a program to RAM or flash causes the same issue again.

  • in Puck.js, Pixl.js and MDBT42
    Avatar for gendor

    Hi there!

    I bought 10 pre-flashed MDBT42Q modules to solder onto my own boards that I designed. I've hand-soldered two of them, but can't connect to them reliably over BLE. I can only see the first board's module every now and again when I scan for it from the Espruino Web IDE, and it fails to connect to it. I'm suspecting it could be an issue with the soldering - is there a guide somewhere on how to properly hand-solder these modules?

    With the second board I can at least see it every time I scan for it (which is why I'm suspecting bad soldering with the first board), but it's still not connecting reliably. Here is the output from the console log:

    >>> Connecting...
    Set Slow Write = true
    BT> Pre-paired Web Bluetooth device already found
    >>> Connecting to MDBT42Q 5ebb
    BT>  Device Name:       MDBT42Q 5ebb
    BT>  Device ID:         uqDPqM8TCHh0fht7a3w0tg==
    >>> Connected to BLE
    BT> Connected
    >>> Configuring BLE...
    BT> Got service
    >>> Configuring BLE....
    BT> RX characteristic:{}
    >>> Configuring BLE....
    >>> Configuring BLE.....
    BT> TX characteristic:{}
    >>> Configuring BLE.....
    Set Slow Write = false
    >>> BLE configured. Receiving data...
    Connected {portName: "MDBT42Q 5ebb"}
    Got ""
    No Prompt found, got undefined - issuing Ctrl-C to try and break out
    Splitting for Ctrl-C, delay 250
    Still no prompt - issuing another Ctrl-C
    Splitting for Ctrl-C, delay 250
    >>> Sending...
    ---> "\u0010print(\"<\",\"<<\",JSON.stringify­(process.env),\">>\",\">\")\n"
    >>> Sent
    >>> Receiving...
    No result found for "process.env" - just got ""
    [notify_error] Unable to retrieve board information.
    Connection Error?
    Device found {"portName":"MDBT42Q 5ebb"}
    [success] Connected to MDBT42Q 5ebb (No response from board)
    >>> Connected to MDBT42Q 5ebb (No response from board)

    Any ideas on how can I debug this further?

  • in Porting to new Devices
    Avatar for gendor

    @fanoush Converting the full hex file to UF2 and just copying that over to the board was very easy and appears to be working, thanks so much!

  • in Porting to new Devices
    Avatar for gendor

    I was hoping to be able to use the nRF52840 port on the Adafruit nRF52840 Feather (that uses the MDBT50Q module). I managed to successfully compile the .hex file using the attached board file that I based on a combination of the NRF52840DK.py and MDBT42Q.py files.

    I don't have the tiny SWD cable on hand, so I was hoping to just use Adafruit's bootloader. I generated a DFU package using

    adafruit-nrfutil dfu genpkg --dev-type 0x0052 --application espruino_2v09.134_nrf52840.hex dfu-package.zip

    and then successfully flashed it using

    adafruit-nrfutil --verbose dfu serial --package dfu-package.zip --port /dev/ttyACM0 -b 115200 --singlebank

    Unfortunately I can't connect to the board over BLE afterwards, and it also doesn't mount over USB. Any chance that this could work, or should I just bite the bullet and get a J-Link with the right cable?

  • in Projects
    Avatar for gendor

    Thanks Gordon! I'll put SWD pins on my PCB, but will be ordering the modules from you in the near future.

  • in Projects
    Avatar for gendor

    I've designed a PCB that uses the MDBT42Q module and want to do a small production run of 10 boards. I wanted to support Gordon by buying the MDBT42Q modules directly from the Espruino shop, but it seems that there's only 1 available?

    I see I can also buy them from Verical, but how would I flash the Espruino firmware myself? Would I need to use SWD pins on my PCB, or is there a programming jig like with the Puck.js?