RPi 3 B+ not working with Arduberry

Hey!

I have a Raspberry Pi 3 B+ running the latest version of raspbian. I just tried connecting and using the Arduberry shield v7.0 and it wont work. Specifically, it powers on and i have cloned to repository into the desktop folder and all of that, however when I open the IDE and try to upload the Blink sketch it presents me with an error “avrdude: Can’t find programmer id “gpio””. I have tried all sorts of things online and none seem to work. If its important, during the install.sh script, the first few lines were telling me that permissions were being denied and directories wernt being found. I followed to instructions online directly, but it seems as though youve updated the script since then, as the interface looks very different and my pi didnt automatically reboot. I’m not to excited on the idea of reflashing my SD with the custom image just to use the arduberry, so if there is another fix you can help me with, id really appreciate that.

P.S. Everytime I tested the upload of the sketch it was with ctrl + shift + U

Kind regards,
Fox

Hi @Fox,

Thank you for letting us know of your issue. We looked over Arduberry and indeed it seems like there are some issues with it. We’ll have a fix for it ASAP.

Also, can you tell us what steps have you followed when installing the Arduberry?

Thank you!

Of course!

  1. Ran “sudo apt-get update”
  2. Then “sudo apt-get upgrade -y”
  3. Navigated to the Desktop directory (cd Desktop
  4. Cloned the git repo with the command on your website
  5. Navigated to cd ArduBerry/Script (script has a capital S now, typo on the tutorial)
  6. Ran sudo chmod +x install.sh
  7. Then sudo ./install.sh
  8. Once that was done I rebooted the pi
  9. Ran update and upgrade again
  10. Opened Arduino IDE
  11. Selected Arduino UNO, and raspberry pi GPIO
  12. Opened example sketch “blink”
    13, verified (with tick)
  13. Ctrl + shift +U and “upload with programmer” both give the same error

I hope this helps
Regards,
Fox

Hi Robert

Any news? Havn’t heard anything for a bit haha

regards,
Ethan

Hi @Fox,

Thank you for your detailed steps.

We’ve fixed a couple of issues caused by the migration to Stretch distribution, but now we found an ugly bug with Arduino IDE itself that makes it not work on Stretch distributions.

Since there doesn’t seem to be an easy fix for this, we’ll probably have to change the version/source of Arduino IDE.

Since this seems to be new on Stretch, we guess this still works on older distributions like Jessie, so I encourage you to use that until we get to an ending with this bug we’re fighting. And also, let us know if it works for you.
In order to do that, you’ll have to clone a specific branch from my repo and then run the usual installs:

git clone -b hotfix/install-script https://github.com/RobertLucian/ArduBerry

For other users who might see this in the future, when the link will no longer be accessible, that means the issue has been fixed.

Thank you!

Hi Robert

Nothing ever comes easy, it would be nice if everything just worked, alas, that’s why we have you!
Thank you for the update and the link, i’ll give it a shot. To be clear, am I required to downgrade to Jessie?

Regards,
Fox

I ran sudo apt-get purge --auto-remove arduino to get rid of the arduino install I had, then cloned your repo to the desktop after rebooting and updating+upgrading.
I ran the install script and rebooted again, however this time when I tried to open the ardiuno IDE, nothing happened. graphically, I ran it from the programs list and nothing happened, but when i ran sudo arduino from the command line I get:

Exception in thread "SocketListener(raspi-0-gateway.local.)" java.lang.AbstractMethodError: processing.app.zeroconf.jmdns.ArduinoDNSTaskStarter$1.startResponder(Ljavax/jmdns/impl/DNSIncoming;Ljava/net/InetAddress;I)V
	at javax.jmdns.impl.JmDNSImpl.startResponder(JmDNSImpl.java:1671)
	at javax.jmdns.impl.JmDNSImpl.handleQuery(JmDNSImpl.java:1461)
	at javax.jmdns.impl.SocketListener.run(SocketListener.java:59)
Exception in thread "SocketListener(fe80:0:0:0:759e:7168:a869:cb9a%wlan0.local.)" java.lang.AbstractMethodError: processing.app.zeroconf.jmdns.ArduinoDNSTaskStarter$1.startResponder(Ljavax/jmdns/impl/DNSIncoming;Ljava/net/InetAddress;I)V
	at javax.jmdns.impl.JmDNSImpl.startResponder(JmDNSImpl.java:1671)
	at javax.jmdns.impl.JmDNSImpl.handleQuery(JmDNSImpl.java:1461)
	at javax.jmdns.impl.SocketListener.run(SocketListener.java:59)
No protocol specified
Exception in thread "main" java.awt.AWTError: Can't connect to X11 window server using ':10' as the value of the DISPLAY variable.
	at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
	at sun.awt.X11GraphicsEnvironment.access$200(X11GraphicsEnvironment.java:65)
	at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:115)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:74)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:264)
	at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:103)
	at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82)
	at sun.awt.X11.XToolkit.<clinit>(XToolkit.java:126)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:264)
	at java.awt.Toolkit$2.run(Toolkit.java:860)
	at java.awt.Toolkit$2.run(Toolkit.java:855)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:854)
	at java.awt.SystemColor.updateSystemColors(SystemColor.java:473)
	at java.awt.SystemColor.<clinit>(SystemColor.java:465)
	at processing.app.Theme.init(Theme.java:55)
	at processing.app.Base.main(Base.java:148)

I am still running stretch and am also running my pi over a remote desktop connection in headless, not sure if that makes a difference but I hope it helps.

Regards,
Fox

Hi @Fox,

I think we found ourselves on the good side of the fence. We fixed the bug we had on Stretch and right now Arduino IDE can be launched and used for uploading programs to the Arduberry.

In order to do this I suggest you burn a new image of Stretch and then run the following command:

curl -kL dexterindustries.com/update_arduberry | bash

This will get everything installed for you in /home/pi/Dexter directory.

After this, reboot the Raspberry Pi, and then try out the Arduino IDE.

In case the serial doesn’t work with the built-in monitor, you can still access it by opening a line in the terminal this way:

sudo minicom -b <<BAUDRATE>> -D /dev/serial0

Where <<BAUDRATE>> is a number specifying the baud rate of your Arduberry.

Thank you and let us know if it now works for you!

Robert you genius, it works like a charm.
I reflashed my SD and ran the command above and after setting the board/serial port/programmer I was up and running!
The only gripe I have is that the serial monitor doesnt work and minicom is buggy. I get strange output from minicom, for example, in the exmaple sketch “blink” I added a Serial.println(“LED is on!”); after the LED is turned HIGH and the output ranges from “LED is on!” to just “o” or “LED is o!”. also sometimes it isnt left, it indents off the right side of the screen.
I set Serial.begin(9600); in the setup of the sketch as well and used to command “sudo mincom -b 9600 -D /dev/serial0” to start minicom

Again, super good work! very much appreciated, the arduberry now works with the Raspberry Pi 3 B+
Regards,
Fox

Hi @Fox,

I’m really glad to hear it works for you. Really happy seeing a happy customer!

Regarding minicom, I wouldn’t say it’s buggy, but I’d say it’s not properly configured. I’ve noticed that myself too and I think it can be fixed by configuring the monitor (with that CTRL-A + Z option) - though I haven’t played much enough with it to actually know.

On another side of things, you might want to check these other solutions to minicom:

screen, putty and tip look very interesting. Beware that you first need to install them. And for each command, you still need to use the sudo.

Thank you!

Hi Robert

I’d say you’re right, ill play around with things and get it all configured the way I need. Thanks for the help, really appreciated it, the world of Arduino is definitely not something I want to miss out on :wink:

Regards,
Fox