bask185
Posts: 119
Joined: Thu Mar 09, 2017 11:39 am
Location: Netherlands

Suitable replacement for the Rpi?

Thu May 18, 2017 9:57 am

I am currently using a Rpi 3 with a Qt application as a HMI. The application runs fine to a certain point and it can do about everything. There is however one menu in which the machine will send a lot of bytes to let the HMI display text on the monitor. And it is simply too much for the Rpi to handle it. I might be able to fix this in software but in worst case scenario I'd have to update the hardware.

So I have been doing a little bit of research and I have found the following boards.
- Asus tinkerboard
- Banana Pi
- Odroid C2
- Odroid XU4

The first 3 are buffed Raspberry Pi clones and the 4th appears to be the strongest, and you get to use a eMMC module which appears to be much faster than an SD card.

I'd prefer to be able to simply swap the Sd-card without losing functionality like you do when you from from Pi2 to Pi3. What is an absolute must is that I can run a Qt application on it whether it is cross-compiled on my Pc or native compiled.

The Odroid XU4 looks like very powerfull hardware to me, but I doubt if I can simply swap the Raspian Sd card. Can anybody share experience or give advice?

scotty101
Posts: 4010
Joined: Fri Jun 08, 2012 6:03 pm

Re: Suitable replacement for the Rpi?

Thu May 18, 2017 10:24 am

Don't expect many responses about non-Pi boards on this forum.

Perhaps if you'd like to fix your existing application to perform better on a Pi, people might be willing to help you.
Electronic and Computer Engineer
Pi Interests: Home Automation, IOT, Python and Tkinter

jahboater
Posts: 5932
Joined: Wed Feb 04, 2015 6:38 pm
Location: West Dorset

Re: Suitable replacement for the Rpi?

Thu May 18, 2017 10:40 am

Could you explain the problem in more detail?
What do you think is the limiting factor?

You cant just swap SD cards around and expect it to work.

hippy
Posts: 8079
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

Re: Suitable replacement for the Rpi?

Thu May 18, 2017 11:53 am

bask185 wrote:There is however one menu in which the machine will send a lot of bytes to let the HMI display text on the monitor. And it is simply too much for the Rpi to handle it.
Unless you detail exactly what the problem is, what 'too much' amounts to, it is impossible to say whether any other solution will have the same problem or not.

It seems to me the first and best course would be to try and resolve the issue with what you have than rushing to jump ship for something else.

bask185
Posts: 119
Joined: Thu Mar 09, 2017 11:39 am
Location: Netherlands

Re: Suitable replacement for the Rpi?

Thu May 18, 2017 11:56 am

scotty101 wrote:Don't expect many responses about non-Pi boards on this forum.

Perhaps if you'd like to fix your existing application to perform better on a Pi, people might be willing to help you.
Well I thought that I cannot be the only Rpi user who has ever bumped his head against the ceiling right? And I am just asking is somebody can tell me something about these boards, I am not asking for support or anything.
jahboater wrote:Could you explain the problem in more detail?
What do you think is the limiting factor?

You cant just swap SD cards around and expect it to work.
Swapping SD cards worked when I went from Pi2 to Pi3 :P and I thought it would work on an orange Pi as well :P

But the problem. I have serial connection (usb - rs232 cable) with a machine (bicycle wheel trueing machine). I have a Qt app with buttons and a display, pushing a button will send one byte to the machine. The machine sends alot of bytes which (among other functions) print letters on the display. The machine is sending at 115200bps but it has a 2ms delay between 2 following bytes.

When I navigate to a certain page, the machine will continously send data from it's sensors. At this point the app is almost not responsive, hitting the menu button (to escape that page) takes like 1 minute instead of 1 second

I personally suspect that my Qt function responsible for the byte processing is running slower than this 2ms. Or the used serial function is not acting like I think it is. I will use code to measure the time between the start and the end of the function and I will use other methods to capture the serial data. I understand I can synch the Qt app with the Pi's hardware for reading in data when it arrives.

scotty101
Posts: 4010
Joined: Fri Jun 08, 2012 6:03 pm

Re: Suitable replacement for the Rpi?

Thu May 18, 2017 12:15 pm

Sounds like you need a buffer.

Have a function that reads the serial data and populates a buffer with the data
Then have another function that reads from the buffer and displays data on screen periodically.

The pi should be more than powerful enough to deal with this if you refactor your code.
Electronic and Computer Engineer
Pi Interests: Home Automation, IOT, Python and Tkinter

hippy
Posts: 8079
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

Re: Suitable replacement for the Rpi?

Thu May 18, 2017 12:32 pm

bask185 wrote:The machine is sending at 115200bps but it has a 2ms delay between 2 following bytes.
2ms is 'an eternity' between bytes allowing for other things to run so it may be the way Qt works ( I have never used it ) or the way you have written your code.

I have seen similar problems with other systems where a scheduler only execute an app, say every 10mS or 20ms, and when it does execute the receive handler always immediately sees data and ends up locking out other parts of the app, slowing them to a crawl.

Even without a scheduler things may become less responsive when data is arriving quicker than it can be processed. Reading data and updating displays and other things may be a cause for that. It is probably better to read and process data so you are only updating on last data received, rather than updating on everything received.

I would have thought the Pi entirely capable of handling 115200 baud bytes 2ms apart, if that is the case here, so would guess it is an issue more related to something other than Pi hardware.

W. H. Heydt
Posts: 12972
Joined: Fri Mar 09, 2012 7:36 pm
Location: Vallejo, CA (US)

Re: Suitable replacement for the Rpi?

Thu May 18, 2017 1:29 pm

bask185 wrote: The first 3 are buffed Raspberry Pi clones and the 4th appears to be the strongest, and you get to use a eMMC module which appears to be much faster than an SD card.
*None* of those boards is a "Raspberry Pi clone". There has only *ever* been one actual clone (the Odroid-W, a clone of the Model B, aka Pi1B) and there were only 5K of them built before it was withdrawn from sale. All of those boards use different S0Cs than the Pi does.

And, by the way, the Odroid C2 also permits the use of an eMMC flash storage module.

runboy93
Posts: 352
Joined: Tue Feb 28, 2017 1:17 pm
Location: Finland
Contact: Website

Re: Suitable replacement for the Rpi?

Thu May 18, 2017 1:37 pm

You can use USB drives / flash storages with RPi 3, faster than eMMC (mSATA, etc via USB 3 connection case, 480MB/s limited)

bask185
Posts: 119
Joined: Thu Mar 09, 2017 11:39 am
Location: Netherlands

Re: Suitable replacement for the Rpi?

Thu May 18, 2017 1:43 pm

I have solved the slowness issue but I don't know what causes it. I'll put this on my list of top 10 weirdest bugs. I was testing with my arduino board, this arduino sends some instructions and fills the entire display full of text, one time with and one time without the 2ms delay, with this I could test the speed of the app.

The app gets started automatically by a shellscript called BOOT.sh which I put in the .bashrc files. My Pi boots to the CLI instead of pixel. But it has never been particullary fast. And that page I mentioned... total cow muck. I happened to notice that when I would open a SSH from PC (which triggers .bashrc and thus the app) the app would launch without any lag. And with the arduino I saw all lag... vanished. Then I connected to the machine... and everything was fast like never before. But as soon as I typed in ./BOOT.sh.. cowmuck

I solved the problem by letting my Pi boot to PIXEL instead of the CLI. Every time when I start the app in PIXEL, all lag is gone.

I am curious to why my app is so incredibly slow without pixel. I am just.... soo happy right now.

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 26852
Joined: Sat Jul 30, 2011 7:41 pm

Re: Suitable replacement for the Rpi?

Thu May 18, 2017 1:53 pm

bask185 wrote:I have solved the slowness issue but I don't know what causes it. I'll put this on my list of top 10 weirdest bugs. I was testing with my arduino board, this arduino sends some instructions and fills the entire display full of text, one time with and one time without the 2ms delay, with this I could test the speed of the app.

The app gets started automatically by a shellscript called BOOT.sh which I put in the .bashrc files. My Pi boots to the CLI instead of pixel. But it has never been particullary fast. And that page I mentioned... total cow muck. I happened to notice that when I would open a SSH from PC (which triggers .bashrc and thus the app) the app would launch without any lag. And with the arduino I saw all lag... vanished. Then I connected to the machine... and everything was fast like never before. But as soon as I typed in ./BOOT.sh.. cowmuck

I solved the problem by letting my Pi boot to PIXEL instead of the CLI. Every time when I start the app in PIXEL, all lag is gone.

I am curious to why my app is so incredibly slow without pixel. I am just.... soo happy right now.
If anything, things will run slightly more slowly when the desktop is running since there is a lot more stuff going on. There's clearly some bad code hogging the CPU somewhere. You can check with `top` to see what is using the CPU, and then dig a little deeper with performance analysis tools.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed.
I've been saying "Mucho" to my Spanish friend a lot more lately. It means a lot to him.

jahboater
Posts: 5932
Joined: Wed Feb 04, 2015 6:38 pm
Location: West Dorset

Re: Suitable replacement for the Rpi?

Thu May 18, 2017 2:38 pm

W. H. Heydt wrote:*None* of those boards is a "Raspberry Pi clone". There has only *ever* been one actual clone (the Odroid-W, a clone of the Model B, aka Pi1B) and there were only 5K of them built before it was withdrawn from sale. All of those boards use different S0Cs than the Pi does.

And, by the way, the Odroid C2 also permits the use of an eMMC flash storage module.
The Odroid C2 is physically similar to the Pi, the board size, mounting hole positions, GPIO, USB, Ethernet are all in the same place. Its not a clone of course, but obviously "inspired" by the Pi.

W. H. Heydt
Posts: 12972
Joined: Fri Mar 09, 2012 7:36 pm
Location: Vallejo, CA (US)

Re: Suitable replacement for the Rpi?

Thu May 18, 2017 3:31 pm

jahboater wrote:
W. H. Heydt wrote:*None* of those boards is a "Raspberry Pi clone". There has only *ever* been one actual clone (the Odroid-W, a clone of the Model B, aka Pi1B) and there were only 5K of them built before it was withdrawn from sale. All of those boards use different S0Cs than the Pi does.

And, by the way, the Odroid C2 also permits the use of an eMMC flash storage module.
The Odroid C2 is physically similar to the Pi, the board size, mounting hole positions, GPIO, USB, Ethernet are all in the same place. Its not a clone of course, but obviously "inspired" by the Pi.
Unless they rearranged more that I think they did (from the C1), the C2 is NOT that close. I just took a look on Ameridroid and I can see several differences... The serial console port, the IR receiver, the default power connector (located where the Pi has the analog audoi/video), no CSI, no DSI. On the bottom, the microSD connector is nowhere near the same spot and it has an eMMC connector in the middle.

I have no idea where you get the idea that the Odroid-C2 even approaches a physical clone of a Pi. You just try putting one in a Pi case and see how far you get.

The one thing that *has* happened is that many SBC makers duplicate--or nearly so--the Pi GPIO block. Indeed, they tend to advertise that their GPIO lock is Pi-compatible. Probably in hopes of siphoning off some Pi sales.

jahboater
Posts: 5932
Joined: Wed Feb 04, 2015 6:38 pm
Location: West Dorset

Re: Suitable replacement for the Rpi?

Thu May 18, 2017 5:17 pm

W. H. Heydt wrote: The serial console port, the IR receiver, the default power connector (located where the Pi has the analog audoi/video), no CSI, no DSI. On the bottom, the microSD connector is nowhere near the same spot and it has an eMMC connector in the middle.
All that is true, and if you re-read my post you will see I never mentioned those components. The ones I did mention (e.g. board size, mounting hole locations, USB ports, ethernet port, are the same as far as I can see) and I have a C2 currently adjacent to a Pi3 in front of me - the C2 is mounted where a Pi3 used to be, on the Pi3's piller's.
Close enough to be more than a coincidence! (enough to justify the phrase "inspired by" perhaps?).
I have no idea where you get the idea that the Odroid-C2 even approaches a physical clone of a Pi.
Well I have two of them and many Pi's.
You just try putting one in a Pi case and see how far you get.
That I cant do because the C2 has mounting holes either side of the SoC enabling very large heat sinks to be mounted - which I do (42mm x 40mm x 35mm!), so mine will never fit in a Pi case, the heat sink sticks out too much.

The GPIO block is in the same place probably with the same number of pins, but it is not compatible. The C2 GPIO has two ADC inputs.

Of course its not a physical clone, but if you gave them both to a non-technical person they would probably first point out that the C2 board is black and the Pi board is green at a quick glance anyway! The big heat sink on the C2 is the other very obvious difference. But they are the same size and the large silver raised ports look the same.

mikerr
Posts: 2826
Joined: Thu Jan 12, 2012 12:46 pm
Location: UK
Contact: Website

Re: Suitable replacement for the Rpi?

Thu May 18, 2017 10:42 pm

The disadvantage of these other boards is the software support - the hardware may be good and exceed Rpi specs, but the manufacturer's OS are often poor and unstable.

I have to say armbian (https://armbian.com) and dietpi (http://dietpi.com) are doing a fantastic job of bringing a solid common base across differing hardware - most of the time better than the manufacturer's OS.
They do have raspberry pi versions.

I've tried a few but these two non-raspberries I recommend and buy in multiples for various business/home use:

Orange Pi Zero - pi3 speed in model a+ form factor with ethernet and single USB / headless no hdmi (£12)

Asus Tinker board - 2× pi3 speed, and gigabit ethernet which isn't shared with USB.
Very fast accelerated android performance too ( £54)

The pi3 is still unbeatable for all round software support as we know - but others have their use cases.
Android app - Raspi Card Imager - download and image SD cards - No PC required !

MarkR
Posts: 156
Joined: Fri Jan 25, 2013 1:55 pm

Re: Suitable replacement for the Rpi?

Fri May 19, 2017 10:24 am

It is not clear exactly what you're trying to do, but if it's simply a digital signage or IO (keyboard / monitor / mouse) application, and you don't need GPIO ports or low level control, perhaps it's better to use an Intel-based "Stick PC" - there are *loads* available.

These have the big advantage of running a "normal" Linux distribution (such as Ubuntu) and being a "normal" PC (albeit in small form factor).

Remember that Raspberry pi is intended for hackers to do cool stuff with the GPIO pins, run on batteries, be in a robot etc. It's not suitable for every application.

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 26852
Joined: Sat Jul 30, 2011 7:41 pm

Re: Suitable replacement for the Rpi?

Fri May 19, 2017 12:41 pm

MarkR wrote: Remember that Raspberry pi is intended for hackers to do cool stuff with the GPIO pins, run on batteries, be in a robot etc. It's not suitable for every application.
It's intended for education, everything else is a happy coincidence/benefit.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed.
I've been saying "Mucho" to my Spanish friend a lot more lately. It means a lot to him.

User avatar
Ronaldlees
Posts: 294
Joined: Sat Apr 16, 2016 4:28 pm
Location: North Carolina, US
Contact: Website

Re: Suitable replacement for the Rpi?

Mon May 22, 2017 2:43 pm

As has been said, the Pi serves many purposes, and probably serves yours if you refactor the code. That said, I do use some of the other boards when the application demands it. The XU4 has (easily) the most processing power, but I only have a few apps that need it. The Pi2 harem that I have here does quite well for most things. The big downside of the XU4 is that it is not very reasonable to run it from portable batteries, cause all that consumed power has to come from somewhere. So, most of my battery powered "tablets" use Pi2 boards, and for my purposes they do fine. Other downsides to the XU4 are the 1.8 volt (GPIO) interfaces, which are not that common in SoC/SBC boards, and require level shifters for many common peripherals. This comes from the Samsung Exynos lineage. It's easier not to make a mistake using the Pis. I do like my XU4 though! :-)

This is not advice for you, but if it were me, I'd fix the code before I'd change hardware.

I'm amazed at how tolerant the admins here are WRT competing products being discussed. Although I think it's beneficial many times, to have happy campers all the way around, when there is legit comparison made with the Pi. That is beneficial to the Pi community, and reduces unrealistic expectations. Some other forums would say "not made here" and close/delete the thread.
I am the Umbrella man

W. H. Heydt
Posts: 12972
Joined: Fri Mar 09, 2012 7:36 pm
Location: Vallejo, CA (US)

Re: Suitable replacement for the Rpi?

Mon May 22, 2017 3:38 pm

Ronaldlees wrote:That said, I do use some of the other boards when the application demands it.
YEs...so do I, though I'm moving away from two of them this Summer as I get the necessary bits together. I've been using a Cubieboard 2 (Allwinner A20) and Cubieboard 1 (A10) to run the backend of a convention registration system. The advantage the Cuibieboads have is a SATA II connector, which gives significantly faster mass storage I/O than any Pi. Even so, I'm going over to a pair of CM3L modules mounted in WD SATA adapters. So I go from 2 (or 1) A9 cores to 4 A53 cores, and a 20% boost (1GHz to 1.2GHz) in clock speed. If and when there is a Pi CM with USB 3 and a WD SATA Adapter to go with, you can imagine how fast I'll switch the that, regardless of other specs.

User avatar
Ronaldlees
Posts: 294
Joined: Sat Apr 16, 2016 4:28 pm
Location: North Carolina, US
Contact: Website

Re: Suitable replacement for the Rpi?

Mon May 22, 2017 3:55 pm

W. H. Heydt wrote:
Ronaldlees wrote:That said, I do use some of the other boards when the application demands it.
YEs...so do I, though I'm moving away from two of them this Summer as I get the necessary bits together. I've been using a Cubieboard 2 (Allwinner A20) and Cubieboard 1 (A10) to run the backend of a convention registration system. The advantage the Cuibieboads have is a SATA II connector, which gives significantly faster mass storage I/O than any Pi. Even so, I'm going over to a pair of CM3L modules mounted in WD SATA adapters. So I go from 2 (or 1) A9 cores to 4 A53 cores, and a 20% boost (1GHz to 1.2GHz) in clock speed. If and when there is a Pi CM with USB 3 and a WD SATA Adapter to go with, you can imagine how fast I'll switch the that, regardless of other specs.
I looked at the Cubieboard 2, for exactly the same reason. But, ultimately I went with the XU4 using an USB3/SATAIII SSD, and get about 160 mb/sec. The Cubie* documentation/language-barrier situation was too much for me. When you get your new setup going, give us some benchmarks!

BTW: In my previous post, I didn't consider the ASUS in the lineup. I don't know where it lands, performance-wise.

And yeah, I'm looking for that Pi USB3 lineup myself!
I am the Umbrella man

fruitoftheloom
Posts: 23869
Joined: Tue Mar 25, 2014 12:40 pm
Location: Delightful Dorset

Re: Suitable replacement for the Rpi?

Mon May 22, 2017 4:51 pm

Ronaldlees wrote:
W. H. Heydt wrote:
Ronaldlees wrote:That said, I do use some of the other boards when the application demands it.
YEs...so do I, though I'm moving away from two of them this Summer as I get the necessary bits together. I've been using a Cubieboard 2 (Allwinner A20) and Cubieboard 1 (A10) to run the backend of a convention registration system. The advantage the Cuibieboads have is a SATA II connector, which gives significantly faster mass storage I/O than any Pi. Even so, I'm going over to a pair of CM3L modules mounted in WD SATA adapters. So I go from 2 (or 1) A9 cores to 4 A53 cores, and a 20% boost (1GHz to 1.2GHz) in clock speed. If and when there is a Pi CM with USB 3 and a WD SATA Adapter to go with, you can imagine how fast I'll switch the that, regardless of other specs.
I looked at the Cubieboard 2, for exactly the same reason. But, ultimately I went with the XU4 using an USB3/SATAIII SSD, and get about 160 mb/sec. The Cubie* documentation/language-barrier situation was too much for me. When you get your new setup going, give us some benchmarks!

BTW: In my previous post, I didn't consider the ASUS in the lineup. I don't know where it lands, performance-wise.

And yeah, I'm looking for that Pi USB3 lineup myself!

The Asus Tinker viewtopic.php?f=62&t=172226 unfortunately it is in terms of SoC quite old, as I pointed out in the thread it is the same SoC as their ChromeBit / Box / Book.

Ooodroid and Asus do appear to have better support than most of the other ARM SBC's in the up to $100 market...

Over $100 it may be worth looking at a x86-64 UP SBC.....
Rather than negativity think outside the box !
RPi 4B 4GB (SSD Boot) RaspiOS64 ARM64
Asus ChromeBox 3 Celeron is my other computer...

boyoh
Posts: 1487
Joined: Fri Nov 23, 2012 3:30 pm
Location: Selby. North Yorkshire .UK

Re: Suitable replacement for the Rpi?

Mon May 22, 2017 7:31 pm

The problem might be ,lack of clock synchronization, and signal level, .
BoyOh ( Selby, North Yorkshire.UK)
Some Times Right Some Times Wrong

jahboater
Posts: 5932
Joined: Wed Feb 04, 2015 6:38 pm
Location: West Dorset

Re: Suitable replacement for the Rpi?

Wed May 24, 2017 9:19 am

Ronaldlees wrote:That said, I do use some of the other boards when the application demands it. The XU4 has (easily) the most processing power, but I only have a few apps that need it.
I prefer the C2 as it has the same armv8 Cortex-A53 processor as the Pi3/new Pi2 and the OS is 64-bit. The XU4 is armv7 which is the same as the old Pi2 (and 32-bit only).

User avatar
DavidS
Posts: 4334
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: Suitable replacement for the Rpi?

Wed May 24, 2017 4:17 pm

The speed of the RPi is not the issue. A much slower machine 512 times slower could keep up with your data, with tonnes of processing time to spare.

It sounds like you hit your head on Qt. It is difficult to do things in decent time usign Qt for an UI, try something like FLTK, or just use X11 through XCB. There are many other possible solutions, these are just a couple off of the top of my head.

It is possible that the algorithm you are using is poorly designed as well. If this is the case it is easy to look at what is being done and create a more optimal algorithm to accomplish the goal.

Basic algorithmic optimization should always be the starting point in cases where things seem to be running to slow.
RPi = The best ARM based RISC OS computer around
More than 95% of posts made from RISC OS on RPi 1B/1B+ computers. Most of the rest from RISC OS on RPi 2B/3B/3B+ computers

Heater
Posts: 16314
Joined: Tue Jul 17, 2012 3:02 pm

Re: Suitable replacement for the Rpi?

Wed May 24, 2017 7:33 pm

DavidS,
It sounds like you hit your head on Qt. It is difficult to do things in decent time usign Qt for an UI,
Could expand on that a bit?

Qt is a very fine way to create a UI. It's very simple to use. I would be very surprised to find that it is noticeably slower than other toolkits that do a similar job.

What were you doing in Qt that was horribly slow?
Memory in C++ is a leaky abstraction .

Return to “Off topic discussion”