Raspberry Pi, what nifty little specs!

Deciding to get me one of these little beauties - https://www.amazon.co.uk/Raspberry-Pi-Model-Quad-Motherboard/dp/B01CCOXV34

1.2Ghz and 1GB RAM in the palm of your hand. To me that seems brilliant. I think my first machine was a 1.2Ghz Celeron with 256Mb and I was chuffed with that. I'm probably one of the younger members here in my early 20's yet still it makes me smile to see how far it's all come.

I'm wondering what I can realisticly get out of a Raspberry Pi in itself. Could I turn the thing into a console and interface a bunch of emulators on it and use the original controllers through USB. Maybe go as far as to playing AoE2HD through wine. I would be interested in writing my own code for it to boot off but the documentation isn't something I've looked into.

The main thing I wanted it for was a remote compilation server, I send it files and it spits me back compiled code. Would be nice and handy to have.

So yeah, are they practical or are they a gimmick? Open to all thoughts and usage ideas.

Edit: I've gotten down to a single typo I think I've gotten good at this. :)
Last edited on
The main thing I wanted it for was a remote compilation server, I send it files and it spits me back compiled code.
That sounds pretty awful, honestly. Any desktop computer from the last 5-10 years would just mop the floor with it.

Raspberry Pis are practical, but only in very specific circumstances. They're practical if you need a low power fully featured OS in a small package. For example, I don't know, you want to give a solar-powered drone the capacity to record data into an off-the-shelf portable HDD.
If you're not in a power- or space-constrained situation, or if you need lots of compute power (e.g. to compile code) then there's probably a better solution.
As a retro console it would probably be alright. Personally, I'm perfectly comfortable sitting in front of a PC, but some people prefer a TV.
Last edited on
Well damn. I posted, went to edit a single typo and I accidentaly delete it. What a great start to the morning!

Thanks for the reply Helios. I'm already running a little late so I'll have to keep it breifer than before.

1.) If a Pi is too slow for a compilation server (For small/assigment code btw, not compiling the Linux source :) What would you suggest that is portable, quicker and won't break my electricity bill if it's on 24/7?

2.) You sound like you ahve Pi experience, what have you used one for personally?

Thanks again and I will check after work tonight for a reply


An edit without breaking anything this time:

The other point I made with the compilation server is to somewhat give back to trusted members of the community with a shell account that people could use from a say a tablet if they don't necessarily have a computer at home.

Again would be a fun project for me. But with the rise of cloud storage and online compilers it might not see any use. It would for me as online compilers only somewhat emulates the code, it's doesn't give you the actual compiled binary to download.

I can't speak for other online compilers only this one - http://cpp.sh/

Quickly tried ideone too, got my hopes up with a download button but alas, it's the source not the compiled binary.

Don't know whether there is a reason for this or it's just my luck the only 2 I know of doesn't give you the option to download the binary!
Last edited on
2. No, I've never used a Pi myself, but I have a general idea of its capabilities.

1. A few months ago I built a Haswell Celeron desktop for my aunt using only solid state components. When idling it uses only around 10 W (measured using the indicator on the UPS), which is comparable to the consumption of a home CFL. It could probably be even more lightweight (and cheaper, obviously) if you use a USB drive instead of an SSD. In terms of cost it's not comparable to a Pi, but it's really powerful.

That said, I'm not sure what you're trying to solve. In what circumstances are all of these conditions going to be met simultaneously?
* You're in front of a computer.
* You can't run a compiler on it.
* You can SSH into a different computer from it.
* The local computer is binary-compatible with the remote computer.
This might make some sense if the program was complex, since downloading development libraries can take some time. But then again, complex Linux executables don't really like to be moved around systems.
Moving any C++ program pretty much requires that both systems are the same distribution and version, otherwise you're going to get run time linking errors to glibc++.
If you were talking about Windows, MacOS, or BSD, it would be a different story. Linux is a PITA to distribute binaries.
Thank you for the reply again Helios! Again sorry for late relply (again) been busy IRL. About to make a new lounge post after answering this.


As for what I'm trying to "solve" -

I am not really trying to solve anything or to think of problems that could be fixed with a RasPi. I am just looking for creative projects I could do to keep my brain active shall we say.

However after your replies I don't think I shall buy one as perhaps I had an exaggerated opinion of them I thought they would be a nice little thing to play about with an experiment with.

You raise a very valid point about Linux distribution of compiled sources I've been using Windows again for a while now I completely forgot about the incompatability!

Thank you for your responses on the matter, very much appreciated.
However after your replies I don't think I shall buy one as perhaps I had an exaggerated opinion of them I thought they would be a nice little thing to play about with an experiment with.
Well, hang on, now. Just because a Raspberry Pi would be a lousy compilation server doesn't it can't be used for other tasks. Your idea of the retro console isn't bad, and in fact other people have done it. For example:
https://www.youtube.com/watch?v=j6nFIrqBob0 (Incidentally, check out this guy's other videos. His channel is criminally under-subbed.)
Like I said before, the Pi is meant for embedded applications that benefit from a full-fledged OS. If you're interested in embedded, you can also take a look at Arduino. I used one to make a GPS logger for my bike. The result was kind of awful because a) my soldering skills are absolutely dreaful, and b) I underestimated the kind of vibrations a piece of poorly soldered circuitry inside a stem bag would be subjected to when mounted on a road bike. But it was still a fun project.
Sorry for any confusion, I get that the Pi can be very practical, I can't see a project in sight that would actually be useful/entertaining for me. The retro console would have been a secondary option for my niece and nephew to use when they come over sometimes (We are of the same mind when it comes to gaming on a PC :). The Pi itself was just for learning/experimentation, but it seems like all the software is premade? The OS, the applications etc.

I was picturing it as some kind of fully featured ATMega chip which I could program and have a play about with. I've wrote C code for the ATMega32 writing text to an LCD screen using 8 pins as command bus. The other thing I tried with an AT was using a PWM pin connected to the base of a transistor for radio wave transmission. It actually somewhat worked, however using the onboard clock and not using a dipole meant my transmissions were very weak with only 100milliamps of power.


you can also take a look at Arduino


This was going to be the second thing I looked at, I was going with the Pi because I heard great things about them. I've seen the Arduino development boards and they look pretty neat.

Decisions, decisions. The Pi or the Arduino? It seems my taste and learning entertainment would draw me to the Arduino, but they don't have a 1.2Ghz quad core and 2Gb of RAM. Maybe I should keep OS dev to a virtual machine, but then I can't help feel like a cheat for it no running on real hardware and learning the problems that can arise in embedded programming.


Can't say for sure if what I'm saying makes any sense. I'm just looking for a cool little project I can play about with and work on to keep me occupied. Programming for embedded systems seemed like a cool option!

p.S - That GPS tracker for your bike is the exact kind of thing I'm going for. Neat little gizmo's like that. Does the Arduino come with GPS or an add on module you can buy? Was programming it difficult?
You can buy good GPS modules for pretty cheap. The one I bought was a u-Blox 6, and it could sample the position at 15 Hz or something like that and was very accurate even in between tall buildings. The ceramic antenna they include is way better anything you can find on any phone.
I also added an SD module with a 1 GB SD card I had lying around and was going to add a backlit LCD screen to make a speed readout, but I burnt it trying to solder it. I also used a regular portable phone charger, IIRC with 300 mAh, which I estimated gave me an autonomy of 24 hours or something. I don't remember the exact value but I do remember it blew anything from Garmin right out of the water.
The SD card also gave it way more memory than nearly any consumer GPS out there.

Programming was somewhat tricky because it's difficult to debug something that only works outside. Had to grab my laptop and go up to the roof just to see if I was using the right protocol to communicate with the GPS chip.
Another interesting issue was that the SD card was actually too slow to write the data when the GPS was set at its maximum sampling speed, so the readings could get truncated part-way through writing, basically every time the output buffer in the library ended; I only found that out after my first ride.
Still, reading the programming manual for the GPS and figuring out the protocol was fun.

I've uploaded the source, in case you'd like to see it: https://gist.github.com/Helios-vmg/1d98f29b1979bd87ed2253c9c466ed9b
You can also take a look at a track I made: https://drive.google.com/open?id=0B0RA3x3xMSnKTmhBTWNwaXdfekk
You can open NMEA files in Google Earth and view a speed and altitude graph. NMEA is a pseudo-standard of output for GPS devices.
Last edited on
Now that sounds like my kind of thing. Are the modules for the Arduino GPIO only? I'm sure the Arduino runs off an ATMega32 which I already have, so surely I could just connect a GPS module to a port on the chip? Looks like the Arduino comes with it's own headers for communicating with stuff, I use I think it's called "AVRDude" for programming my ATMega.

I have gotta agree how fun it is to play and experiment to see how all this stuff works. For me to get the LCD to print a string I had to find out the LCD driver chip (HD44780 in my case) go through the manual to find out the modes and commands you can send it and play around with it till it worked hehe: http://pastebin.com/g0PTum34


I think the Arduino is what I will go for after all.

You've been a great help Helios, and thanks for the read, it's nice to hear of others going up on the roof in the name of science. :)
Are the modules for the Arduino GPIO only? I'm sure the Arduino runs off an ATMega32 which I already have, so surely I could just connect a GPS module to a port on the chip?
The schematics of the Uno indicate that the digital IO pins connect directly to pins on the ATMEGA328P-PU, so I guess you should be able to do that. The code says I used pin 3 to send commands to the GPS and pin 2 to receive data from it.
1.2Ghz and 1GB RAM in the palm of your hand. To me that seems brilliant. I think my first machine was a 1.2Ghz Celeron with 256Mb and I was chuffed with that

My first PC was an AT&T 6300: 8MHz 8086 processor and 256KB or RAM. I think I had the 20MB hard drive. Even so, I *think* it carried me through grad school where I used it for word processing, and developing LISP and Pascal programs. I even had a C compiler.

Hmm. I know I upgraded to the 6300+ at some point. That had an 80286 processor. But I think that was after grad school
closed account (48T7M4Gy)
https://learn.adafruit.com/adafruit-ultimate-gps/arduino-wiring
http://playground.arduino.cc/Tutorials/GPS
https://www.youtube.com/watch?v=dy2iygCZTIM
Last edited on
@Helios - Makes sense would have seemed weird if I couldn't use it. If only using one pin to receive or send data on is probably why you have that SPI header I'll have to start work on my own serial interface, that should give me something to do. I've still got my hand written manual so I can get cracking on that when I have time.

@kemort - Thanks for the links! Haven't got around to researching yet still very busy IRL but I'm getting there, still trying to get my finances sorted out for uni.

@dhayden - I hope you still have that beast! Was your hard drive revolving drum memory?
Was your hard drive revolving drum memory?

LOL. I think it was the venerable Seagate ST-225. That PC is long gone.
So for a semi-autonomous drone Arduino is better (and economical) than a raspberry pi? What about a totally autonomous drone?
It all depends on how much memory you need for your control software. You should use the cheapest hardware that meets your performance requirements.
Lets just assume I need to make a minimal drone (mobile app controlled) with camera, gps support and a ultrasound detector to detect obstacles, would I need raspberry pi or ardunio will work?
Would love 2 write (& compile C/C++ code on my Pi 2b !
-- bought it last year ( or 2015) and haven't booted it yet Expecting to run a VM, but haven't had the time (yet)

First machine was an IMSAI 8080 for Computer Animation, and VAX 8 for work, oh &&, learned @school on HP 2000! ( 1st @ university to use email ! )

- Would love to hear more from this group on getting the Pi running for C++ !!
Last edited on
@Gresham > Raspbian has many things that any Linux Distro would have, and this includes support for C++ and Java. Just some of the IDE's are a little glitchy, QTCreator in particular was giving me trouble last year to the point that I abandoned it for geany and intelijay. (I generally code in vim with an auto-completion plugin anyway...)

Opengl is in beta last I heard, there is a simple process to get it working on pi2, but that was about a year ago that I read about it, it might be further along by now.

@Shadder > hmm, with a drone, the key consideration is weight and battery wattage. The pi-3 would probably be too much of a power-hog at ~ 1.2-1.5 watts on idle. However, the pi-zero-W just came out, it has built-in bluetooth and wifi. I haven't seen the specs as far as wattage, but it is probably the lightest and most energy efficient option with that wifi dongle no longer needed.
https://www.raspberrypi.org/blog/raspberry-pi-zero-w-joins-family/

https://en.wikipedia.org/wiki/Raspberry_Pi - shows the weight of b+ at 45 grams, pi-zero at 9 grams. The wattage shown here seems to be max-draw, pi3=4W, pizero=.8W; (both specs are based on earlier models of pizero, but should expect similar draw and weight)

https://www.adafruit.com/product/1086 - the arduino micro does not have built-in wifi and it's clocked at 16Mhz where pizero is 1Ghz. It does beat pizero on powerconsumption and weight.
Edit: here's a better comparison of arduinos: https://tlextrait.svbtle.com/arduino-power-consumption-compared.
If you can afford an amazing quality battery for the weight, the pi3 might actually be the way to go: with the four cores it would be able to handle all those different running threads and still be able to fly smoothly, I doubt the 16MHz arduino could keep everything running smoothly with four individual motors, gps, camera, and ultrasound detector(asuming you need ultrasound detectors on all six sides for multidimensional flight)
Last edited on
@newbieg
wow! raspberry pi zero is awesome. Will definitely check it out. Although can I use arduino for semi-autonomous drone?
Topic archived. No new replies allowed.