Replacing Arduino Yun with other microprocessors

Hi Yun people

I’m having difficulties with the Arduino Yun because for a project I’m working on, it’s 32u4 doesn’t have sufficiant flash memory and SRAM and the openWRT/linino on the AR9331 isn’t all up to date for managing images (lacking php 5.5).

Now I’m looking at other ATMEGA-Linux-Combinations. Paul Stoffregen has ported the bridge library (32u4-side) to other boards GitHub - PaulStoffregen/Bridge: Communicate between Teensy & Raspberry Pi - similar to Arduino Yun - now I’m looking if there is a way to port the linux-part of the bridge to for example a Raspberry Pi or a Banana Pi or alike.

Where would I have to start looking?
Who would I have to start asking?
Has it been done before?
Thank you for a start, Dani

Pro's, is there a way that bridgeclient.py and it co-programs would be able to use a TCP connection e.g. an ethernet connection instead of the slow UART connection from the 32u4 to the AR9331?

Paul Stoffregens Bridge library (Arduino-side) would be able to communicate over it. So it would be possible to establish a very fast connection. Unfortunately, the linux side of the bridge is something I hardly understand.

Does anyone see a possibility?

Best regards, Dani

Arduino Tre or BeagleBone Black (if you don't plan to use shield, the 2 PRUs will be easily outperformance typical arduino you could find):

It has 2 PRUs (The Programmable Real-time Units), which directly connect with bus ( super fast connection)

  • The PRU has dual 32-bit RISC cores, shared data and instruction memories and an interrupt controller (INTC).
  • 8KB data memory and 8KB instruction memory
  • 12KB shared RAM
  • A small, deterministic instruction set

TI has recently released a version of Code Composer Studio that gives the option to compile C code for the PRU.

Python:

http://hipstercircuits.com/pypruss-a-simple-pru-python-binding-for-beaglebone/

sonnyyu:
Arduino Tre:

Well, just to bad you can't get one. And if they are indeed selling them (once they become more than a mythical unicorn) at the same price as those preview samples, you can get 2 BeagleBone Blacks + 2 Leonardos for less than one Arduino Tre...

Ralf

Ok, I got your point.

I add "BeagleBone Black (if you don't plan to use shield, the 2 PRUs will be easily outperformance typical arduino you could find)"

sonnyyu:
Ok, I got your point.

I add "BeagleBone Black (if you don't plan to use shield, the 2 PRUs will be easily outperformance typical arduino you could find)"

Well, the BBB is also a different concept than the typical Arduino, running a full Linux (Debian in the Rev.C), with the possibility of a full graphical interface, so a lot of the alleged processing power is used for that overhead...

Ralf

I have run into the same issue as the OP in the fact that the Yun does not have enough resources to hold all the code required for my project.

My solution has been to purchase a Dragino "Yun Shield" - http://www.dragino.com/products/yunshield/item/86-yun-shield.html

I plan on plugging this into a Mega which has more than enough space for my requirements.

The Yun Shield has not arrived yet so I can not give you my own opinion on it's worth but when it does I will provide an update.

Regards

Andy Hodges

I use the ATMega2560 with the Dragino-Yun-Shield. Works very well, lots of space and works like the Yun.

I've managed to use a teensy 3.1 with a yun. However, that leaves you with the very slow UART-bridge. I wish there were a bridge possible over Ethernet or USB.

The heart of Yún is CPU - AR9331, here is the market position of it

http://forum.arduino.cc/index.php?topic=187766.msg1711221#msg1711221

Well, but has anyone tried to port the bridge to any of these other linux-systems that can be connected to Arduino-like microprocessors? http://www.linino.org/forums/topic/porting-the-bridge-linux-side-to-other-linuxes/?

Hi all. I know this is an old post but I hope somebody got this working from a Raspberry Pi.

I need a powerful microprocessor that will connect to the Arduino Mega. I am using the Yun now but the on-board wifi and processing power is to limiting. So I am trying to get the Pi working with the Mega using the bridgle library because then I do not have to rewrite my current Yun code.

Did anybody get it working. I followed the steps. I can see the Arduino rx and tx lights flash but the bridge is not started up when the Arduino connects.

I never got it to work. I finally used an ethernet shield on the teensy to connect to the RPi. That however worked well. The downside was that you can't use the nice routines from the bridge library.

Good luck!

Dani

PS: The problem has to do with rights that are granted to an USB device (https://forum.pjrc.com/threads/26919-Combining-teensies-with-the-Arduino-Yun) - please let me know if you get any further.

I must be missing something small. If I run the sketch on the Uno / Mega I can see in the serial monitor that the code is working. The Arduino is sending the handshake code all the time. I can also see on the Pi side that when I plug the Ardiono in it will run "run-bridge-udev" to set-up getty as root on that port. But that is where it stops. It does not start the bridge.py code. So I am not shure if the Ardiono is loggin in on the port. How can I check to see if there is activity on the port as I can see the Arduino is sending data all the time. It my be a baud rate problem.

Mmmm ok I can see that the USB port is also logged in as root op the ttyACM0 port

who
root ttyACM0 2016-03-09 21:34

So now I just need to see what is going on on that port

OK so I can see that the Arduino is sending data to the Pi.

If I do a cat /dev/ttyACM0 I see all of this

run-bridge
▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒q▒XX100▒

So it seems that root is not running the "run-bridge" to start bridge.py program.

@jfourie,
Start a new thread. run-bridge does not work the way you think.
Please start over with what you are trying to accomplish.

Jesse

Dear jessemonroy650. I am afraid you are wrong. That is the way the bridge is working. All the posts I have read states it works like that. If it does not work like this please explain how does it work ?

If we have a look at the Yun we will see under /dev/ there is a serial device ttyATH0. if I do a cat of that device while we are sending values I get this.

root@Arduino1:/dev# cat /dev/ttyATH0
▒               DT1▒25.08<▒▒            DT1▒25.08<▒▒            DT1▒25.08<▒▒            DT1▒25.08<▒▒            DT1▒25.08<▒▒            DT1▒25.08<▒▒            DT1▒25.08<▒▒            DT1▒25.08<▒▒    ▒     DT1▒25.08<▒▒             DT1▒25.08<▒▒            DT1▒25.08<▒▒            DT1▒25.08<▒▒            DT1▒25.08<▒▒            DT1▒25.08<▒▒            DT1▒25.08<▒▒            DT1▒25.08<▒▒            DT1▒25.08<▒▒  DT1▒25.08<▒▒             DT1▒25.08<▒▒            DT1▒25.08<▒▒            DT1▒25.08<▒▒            DT1▒25.08<▒▒            DT1▒25.08<▒▒    ▒               DT1▒25.08<▒▒            DT1▒25.08<▒▒            DT1▒25.08<▒▒           DT1▒25.08<▒▒            DT1▒25.08<▒▒            DT1▒25.08<▒▒            DT1▒25.08<▒▒            DT1▒25.08<▒▒            DT1▒25.08<▒▒            DT1▒25.08<▒▒            DT1▒25.08<▒▒          DT1▒25.08<▒▒             DT1▒25.08<▒▒            DT1▒25.08<▒▒            DT1▒25.08<▒▒            DT1▒25.08<▒▒            DT1▒25.08<▒▒

run-bridge ▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTY▒XX100▒qPuTTYXX100▒qPuTTY▒XXXX▒PuTTY

run-bridge

So as we can see the bridge.py code is communicating with the sketch on the ardiono via stdin / stdout logged in as root on the serial device ttyATH0. It sends all the values until it asks for the next batch. Because I did a cat I have routed the stdin / stdout to another device and it can no longer communicate. Then it assumes that the bridge.py code has died, it sends a XXXXX which acording to the scetch is toe shutdown the bridge.py script and it tries to start it again by calling run-bridge. This is what I see on the Raspberry Pie side all the time. So it seems there is something wrong with the stdin / stdout side of things. If I had a serial terminal I would log in on that serial port to see what is going on. It seems that we get the root terminal and I can see that we get a bash shell. But no input from the sketch is reaching the shell on that terminal.

jfourie:
Dear jessemonroy650. I am afraid you are wrong. That is the way the bridge is working. All the posts I have read states it works like that. If it does not work like this please explain how does it work ?
::::SNIP::::

@jfourie,
I'll be back in a few days - when you feel like listening. Please start a new thread. You are now offf topic.
Jesse

@Jesse.

Why are you nasty with me? I want to solve a problem. It is not off topic. Why do you say so and why do you have a nasty attitude towards me? If this is what Arduino stands for then it is not very plesant. If I start a new Thread where should I post it?

Regards.