Is the Arduino shield adapter causing interference?

Posted on
  • My goal is to get the Espruino Arduino shield adapter to communicate via Serial with the Intel Edison Arduino breakout board correctly. Currently, it seems like there is interference as if there wasn't a common ground between the arduino shield adapter and the Intel Edison Arduino breakout. I have the Espruino Arduino shield connected into the Intel Eidson Arduino breakout sockets. I'm getting garbage data:

    I then disconnect the Arduino shield adapter from the Intel Edison Arduino breakout and connect the grounds using breadboard jumper wires and the garbage characters stop.

    I'm not understanding why when I connect the adapter directly to the intel edison breakout sockets I get the garbage characters and when I use jumper wires I don't receive the garbage characters.

    Are both the ground pins of the Espruino Arduino adapter socket not connected to the Espruino pico GND pin?


    1 Attachment

    • 2015-11-10 13_53_51-Intel® XDK IoT Edition.png
  • Which Arduino adaptor are you using? I'm afraid the picture isn't displaying...

    GND should be connected up just fine though.

    The Arduino adaptor is meant to turn Espruino into an Arduino board, not to turn it into a shield.

    That means that Espruino's TX is connected to the shield's TX (not RX), and vice versa. If you just plug the two boards together, the edison's TX will be connected to Espruino's TX, and same for RX - which could well mean garbage characters.

    To get it to work properly you'd need to swap over the TX and RX pins - I'd try with the shields disconnected and patch wires first, and then if you really want to, you'd have to cut traces on the adaptor board and re-wire it.

  • @Gordon I am using this board: https://github.com/espruino/EspruinoBoar­d/blob/master/Pico/Adaptors/eagle/arduin­o.png

    And doh, I feel stupid now. I assumed the board was a shield :/ I will do what you suggested and cut the traces after I test out the connections with connecting jumper wires. Any tips on how to cut the traces?

  • I'm not exactly sure what you really want to achieve. Both Espruino and Intel Edison 'Arduino' boards are brakout boards for respective platform and thus act both as masters and kind of emulating Arduino boards to accept Arduino shields ('slaves').

    To connect Espruino to Edison serially, you need 3 wires: GND to GND, TX to RX, and RX to TX.

    Stacking the breakouts 'can' make partially sense, if you want to monitor with one with the other one, for example for testing... but even then, a one-to-one connection of both the pin mappings of Espruino and Intel Edison to Arduino board pinouts may leed to conflicts, as TX to TX and RX to RX show. Rather than cut (all) traces and rewire (all of) them, you need a switchboard on which you make the connection as required by the application you have in mind. Which of course starts with making both boards talking to each other... over on of their USARTs. You cold think also using SPI or I2C, but that has other caveats... such as who can be a slave... afaik, Espruino is master only for both I2C an SPI.

  • @Gordon Yep, TX and RX need to be swapped :-) I attached two pictures to show what I did to get this to work :) Seems like the TX1 and RX0 are connected to the pico console . I'll need to check the pico's ref page to figure out which pins are serial2 rx and tx also check the cad file to figure out the pin mappings to serial2(if there is such a thing on the shield).


    2 Attachments

    • side.jpg
    • top.jpg
  • @allObjects what I'm doing may sound silly and still confuses me at times lol. The reason for what I am trying to accomplish is more of an "instantaneous " feel during the boot up time that the Edison takes. The Pico controls my sensors(i2c), touch screen, and 7 segment displays(i2c). The Edison takes care of the webserver, network and encryption. The Pico and the Edison will communicate back and forth between the picos serial2 and the Edisons pins 1 and 0. The Pico will send over the data once it's calculated via serial2 to the edison. The Edison will then take care of plotting the sensors data to a graph.

  • Just nothing in IoT is silly... looks great.... and makes sense... my edison is my mac (or win / linux) host and my pico is my connector to hardware. I worked the IDE a bit and it became the SW glue between my OS X/win/linux host and Espruino. The testing function of Espruino IDE works in a similar way. I can run any js in that scope that can write to OS X file system and on the other side easily communicate with Espruino over the USB / console connection.

    I assume you use linux on Edison... but I do not know what display ports - if any - Edison has.... that's why for something like your setup I can see RaspberryPi being able to do about the same thing... may be a bit less powerful, but with more graphical display options right oob - out-of-box - out-of-bard.

  • Glad you got it going! Not quite sure I can see what you've done there... did you bend the original pins out of the way?

    I would have:

    • cut the tracks from TX and RX with a stanley knife (if you cut in two places 1mm apart, you can peel out the 1mm bit of copper and make a nice clean break)
    • added two wires from the Pico (B6 and B7 are the default Serial1 pins) back to TX and RX

    Are all the Edison's pins Open Circuit to start off with? It's quite a nice idea stacking them as I guess you can then choose which pins are controlled from which board... you just need to be careful that the Pico doesn't end up driving the same ones as the Edison :)

  • @allObjects I used the Raspberry in the past but I ran into SD card issues where they would get corrupted if the PI was shutdown down incorrectly. The Edison doesnt have any display ports so I opted to use a Nextion 4.3" touch screen from itead studios.

    @Gordon I just cut the pins, but come to think of it, I should of bent the pins for the reusability factor. I don't believe the Edisons GPIOs are open circuit to begin with. I think I had to edit the pin table file in order to use the serial pins and I believe that goes for the i2C also. I configured the Edison a while ago and set it to the side for a couple of months until I had a reason to use it, so I don't quite remember .
    Hrmm, I wonder if I can edit the pin table and swap the Edisons pin 1 and 0. That would remove the hassle of having to cut traces or running wires. I'll research that and see what I can do, but for now, I connected the leads from the Edisons 1 and 0 port to the picos A3 and A4 pins for the Serial2 communication.

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

Is the Arduino shield adapter causing interference?

Posted by Avatar for d0773d @d0773d

Actions