Rasberry Pi and other electronic things

That's why I think the Pi is a waste of time and money for the vast majority. Everyone can afford a PC, or already has one. And Pi emulators are available at zero cost. If you can't program the emulator, the Pi is completely useless.

That's a crazy argument. That's like saying no one should take flying lessons without trying Flight Simulator, because if you can't do that, you won't be able to fly the real thing.

Sure, install an emulator - why not? But the Pi has I/O ready to go (though the pins are bizarrely numbered) and - in the end - most people want to learn an environment and stick with it. All of the control section of our Computing GCSE at school at which I teach is taught through Raspberry Pi's, not because you can't make lights blink any other way - of course you can - but we want to build for the future and allow kids the chance to program in an environment that's cheap enough to build for specific projects, and get them to feel confident in a specific system so that they can transfer their skills in ways we hadn't foreseen.
 
That's why I think the Pi is a waste of time and money for the vast majority. Everyone can afford a PC, or already has one. And Pi emulators are available at zero cost. If you can't program the emulator, the Pi is completely useless.

On the whole I agree. The two exception are (a) if you really need something portable or (b) if you really don't have a PC available. Even then I would go for a BeagleBone Black which is far more powerful and only a fiver more

The real fallacy, though, was the idea that schools would soon have classrooms full of Pis for teaching programming. It's a nonsense; the cost of the hardware is such a small part of the cost of running a computing suite in a school that saving even a few hundred pounds per seat at the expense of performance, compatibility and so on is pointless. As with the OLPC fiaso, this is what happens when well-meaning computer types with luttle knowledge of education decide that they know how it is to be done.

Mind you, I think even the RPF may have given up flogging that horse. the "education" version of the Pi is now 15 months late ...
 
I speak as an ex-Head of ICT and now an Assistant Principal - the hardware cost of the Pi in terms of the cost to the school was never the issue. The point of the cheapness was that it was therefore something that parents could afford, not schools. The cost of the Pi (and I'n not knocking other similar devices - not that they were around at the point we had to make decision) is less than an Xbox game; that's a persuasive argument for parents.
 
I speak as an ex-Head of ICT and now an Assistant Principal - the hardware cost of the Pi in terms of the cost to the school was never the issue. The point of the cheapness was that it was therefore something that parents could afford, not schools. The cost of the Pi (and I'n not knocking other similar devices - not that they were around at the point we had to make decision) is less than an Xbox game; that's a persuasive argument for parents.

Here here. The pi is so cheap we give them away to the student groups we sponsor. It's an excellent platform, conceived and designed and now built in the UK.
 
That's a crazy argument. That's like saying no one should take flying lessons without trying Flight Simulator, because if you can't do that, you won't be able to fly the real thing.

Sure, install an emulator - why not? But the Pi has I/O ready to go (though the pins are bizarrely numbered) and - in the end - most people want to learn an environment and stick with it. All of the control section of our Computing GCSE at school at which I teach is taught through Raspberry Pi's, not because you can't make lights blink any other way - of course you can - but we want to build for the future and allow kids the chance to program in an environment that's cheap enough to build for specific projects, and get them to feel confident in a specific system so that they can transfer their skills in ways we hadn't foreseen.
I don't think I'm addressing many schoolchildren on this forum. Hard to believe at times, admittedly.

I've met many ostensibly intelligent adults, who've been totally incapable of grasping the basics of programming. They could save themselves 30 quid by downloading an emulator.
 
A Raspberry Pi is a small, simple and slow computer which will just about replace a bottom end netbook.

An Arduino is a control system which will let you programme outputs to do stuff as a result of inputs.

Sorry RD but I think you have misunderstood everything about these things. There is technically no difference between the Pi and the Arduino or even a programmable microprocessor. Yes, they have differing levels of processing ability but they are all essentially capable of the same tasks with differing timeframes. The Arduino is much more powerful than my first computer and can be made to more advanced things or have an OS developed for it. The Pi could just as easily be made to do simple on/off tasks albeit very poor on power consumption.
 
Sorry RD but I think you have misunderstood everything about these things. There is technically no difference between the Pi and the Arduino or even a programmable microprocessor. Yes, they have differing levels of processing ability but they are all essentially capable of the same tasks with differing timeframes. The Arduino is much more powerful than my first computer and can be made to more advanced things or have an OS developed for it. The Pi could just as easily be made to do simple on/off tasks albeit very poor on power consumption.

I stand by what I wrote, in all respects. Of course the microcontrollers in Arduino systems are small computers and of course ARM systems like the Pi can be used to carry out trivial tasks. Nonetheless, Arduinos are generally used for control/automation/mechatronics/measurement systems and Pis are generally used when a full multitasking operating system is desirable.

To claim that there is "technically no difference" between them is like claiming that there is "technically no difference" between a Sinclair ZX81 and Deep Thought or between a Vivacity 20 and an AC72.
 
We're getting into a "discussion" between the already well informed here. What the OP, and me, would like is more info on what these boards can do that has some use. I've dabbled in basic electronics for a while and know a number of ways to get an LED to blink; I'd like the Arduino to do something more interesting than that. I had a peer at a few sites that list programmes for Arduino but not found anything with a function that I needed or even understood. Can anybody give me a pointer to stuff that makes weird noises or controls motors please.
In my limited understanding, one big advantage of these wee boards is to download an existing programme that will do what you want and Bob's your uncle. The problem then is that the board is tied up doing that and I would have to buy another for a further project.
 
What the OP, and me, would like is more info on what these boards can do that has some use.

I think there is a bit of a reversed approach in this thread which is because people are mostly coming from a PC/tablet/smartphone way of thinking, i.e. buy the hardware, then find out all the things you can do with it. With small systems that do one task, it's generally the other way round. You first decide what you want to do, and then you choose appropriate hardware. So for example if you wanted to implement any YAPP-like projects you look at what it needs to do and get an appropriate Arduino/PIC/Atmel/8051/ARM 7/etc. If you wanted to get OpenCPN up and running on your own hardware or write a complex ocean race routing application, you would choose a RPi.

However, if all you want to do is learn then an Arduino is a good place to start for low level embedded stuff in a resource constrained environment (like the YAPPs), and a RPi is good for applications that run in a GUI environment with a file system, threads, networking, USB hosting, and all the other stuff an OS provides without having to concern yourself with drivers and registers.
 
Last edited:
Or you could buy an arduino yun and have both a microcontroller and an ARM :)

The ARM used in the R-Pi is significantly more powerful than the microcontroller in the arduino.The beauty of the arduino system is that is is tailored to interact with the world - it has lots of input/output (I/O in tech speak) which lets it measure things and control things. The other huge plus is that it has a software environment set up to enable this.

The Pi is a linux pc, so can do almost anything if you are prepared to wait long enough. It too has I/O but is not optimised for measuring and controlling stuff.

If you wanted to make a traffic light controller, you'd knock one up in no time with arduino. You'd need to do a bit more work with the Pi to achieve the same.

Whereas if you wanted to write a game, the Pi would be more suited.
 
IHowever, if all you want to do is learn then an Arduino is a good place to start for low level embedded stuff in a resource constrained environment ...

I bypassed the Arduino and went direct to PIC microcontrollers, in some ways that was a mistake as the learning-curve is much steeper. I therefore endorse this recommendation, especially now there are many Arduino boards available.

Even so, I suggest the OP begins with a starter kit: http://www.amazon.co.uk/exec/obidos/ASIN/B00BWL1744/dolcetto-21
and perhaps a book: http://www.amazon.co.uk/exec/obidos/ASIN/1118446372/dolcetto-21
 
Last edited:
I bypassed the Arduino and went direct to PIC microcontrollers, in some ways that was a mistake as the learning-curve is much steeper. I therefore endorse this recommendation, especially now there are many Arduino boards available.

Even so, I suggest the OP begins with a starter kit: http://www.amazon.co.uk/exec/obidos/ASIN/B00BWL1744/dolcetto-21
and perhaps a book: http://www.amazon.co.uk/exec/obidos/ASIN/1118446372/dolcetto-21

The Open University has a rather nice Arduino-based i/o board called the "Sense Board" which is used on the introductory course "TU100 My Digital Life" and programmed using Sense, a derivative of Scratch. The downside is that it cannot run independently and must always be connected to a suitable computer to work. That computer can be a Raspberry Pi.

At the moment I believe you have to take TU100 to get hold of a Sense Board, but I'm told they will be available from Amazon in due course, and they come up on eBay from time to time.
 
The Open University has a rather nice Arduino-based i/o board called the "Sense Board" which is used on the introductory course "TU100 My Digital Life" ...

It's been a while since I was involved with the OU, but for some years I kept trying to get them to run a course with a similar board. Good to see they have finally got the message, although about 10 years late.

Note: TU100 is not an introductory course, it is a full Level 1 course.

http://www3.open.ac.uk/study/undergraduate/course/tu100.htm
 
Last edited:
It's been a while since I was involved with the OU, but for some years I kept trying to get them to run a course with a similar board. Good to see they have finally got the message, although about 10 years late.

Note: TU100 is not an introductory course, it is a full Level 1 course.

Technically it's an "introductory level one course" which means that it is intended to be taken as the first course in a degree. There are other level one courses which are designed to be taken later on.
 
The Open University has a rather nice Arduino-based i/o board called the "Sense Board" which is used on the introductory course "TU100 My Digital Life" and programmed using Sense, a derivative of Scratch. The downside is that it cannot run independently and must always be connected to a suitable computer to work. That computer can be a Raspberry Pi.

At the moment I believe you have to take TU100 to get hold of a Sense Board, but I'm told they will be available from Amazon in due course, and they come up on eBay from time to time.

Sorry to follow up to myself, but if anyone wants to get hold of one of these for a play, I've just been told that they are available from OU Worldwide (the OU's marketing arm) at a slightly eye-watering £130 (inc VAT). Mind you that also gets you a set of sensors and a stepper motor, so it's not too bad if you'd like a complete kit for Making Stuff Happen.

http://www.ouw.co.uk/My-Digital-Life-SenseBoard-Kit/dp/178007395X
 
Sorry to follow up to myself, but if anyone wants to get hold of one of these for a play, I've just been told that they are available from OU Worldwide (the OU's marketing arm) at a slightly eye-watering £130 (inc VAT)...

I was going to suggest enrolling on the course, but when did OU courses get so expensive? Perhaps I should sign up as a tutor again ...
 
I was going to suggest enrolling on the course, but when did OU courses get so expensive?

When the government cut funding for undergraduate courses as they did for conventional universities, so yes, it's now £2,500 for 30 pts (1/4 year FT equivalent) in England. Still roughly a quarter of that in Scotland, Wales and Ireland ...
 
Can someone tell me in dummy terms (I've Googled and still don't understand) what:
Rasberry Pi things are?
Arduino things are?

Cheers


Raspberry pi:

it's a low cost mini computer that runs a free operating system. if you are interested in learning about programming (or running other people's programs/finding out how things work) it's a cheap introduction. You can do most of the same things using a virtual machine (cf. virtualbox.org), but you will be limiited if you want to attach 'stuff' and it probably won't be so portable.

A major advantage of the Pi is its low power consumption, a boon if you want to try playing with 'stuff' on your boat.

I'm not convinced about the notion of using the Pi for teaching programmaning to youngsters; I was involved with introducing BBC computers to schools in the 1980s, but nowadays I think they would be better served in learning how to create 'apps' for mobile devices ... similar skills, but different environment and more pertinent to today's usage.

On the boat, I mainly use a raspberry pi for openCPN and WEFAX. If a wifi connection is available then Zygrib, email, web browsing and similar usual stuff is available; a laptop would do the same and faster, and a laptop running Debian would run pretty much run the same binaries albeit with a greater power consumption.

A Pi is like a barebones PC, in that you'll need a display and input device (but .. if you've a home network, you can connect using SSH, and use your PC's display and keyboard .. which is part of the learning curve .. ask questions before spending money!)

The Pi on its own is interesting, but it is the access to open source applications that gives it its greatest value; no matter your interests there's something freely available (and free doesn't necessarily mean dodgy/poor/inept). Once you've come to terms with what's available you can adapt to suit yourself .. and if successfull you can always add to the common pool.

I've documented a few odds'n'sods here: http://agurney.com/raspberry-pi

Feel free to give me a shout (PM) if you want more information.



Alisdair
 
And to not add much but simply +1 what others have been saying but in the "multitasking operating systems 101" style which is possibly a bit lower brow than some of the preceding...

Arduino is a collection of boards with a variety of controllers which you program directly for specific tasks. You write your programs on your personal computer (mac/windows/linux) then download them to the arduino board (e.g. via a usb cable) which then runs them. Different arduino boards and add-ons have different controllers/hardware and capabilities.

The pi is a full-blown computer with a modern operating system. An operating system (like Windows, MacOS or, as in this case, Linux) is a big complicated program which runs continually on a computer and controls the hardware. You can use the pi for many of the things you might use a normal PC for. It differs from a PC in being super-cheap and not very powerful, but also in having a bunch of easily accessible control pins ("general purpose I/O" or GPIO pins): ie exposed bits of metal across which voltage can be sensed or set. The educational objective of this was to allow (supposedly young, but more often middle aged :-) people to write programs which allowed interaction with the real world via other electronics which could be attached to those pins. In that respect, arduino and the pi are similar. I believe the "wiring" library which facilitates access to the control pins is available for both pi and arduino (though I've never used it)

On the pi (running Linux) you don't (usually) write a program on another computer and upload it for execution. You write it on the pi itself (e.g. using a text editor to "write" the program, then a compiler to turn it into executable code or an interpreter to turn it into executable code "on the fly"). When you "run" your program it doesn't have exclusive control of the pi's hardware. The Operating System (which is always running) executes the code for you a bit at a time whilst seeing to all its other tasks (like updating the screen, getting input from the keyboard etc.) but so fast that it normally looks like your program is running non-stop. This is the same deal as Windows etc. running Word, a browser, a music app, updating the screen and allowing mouse/keyboard apparently all at the same time.

The downside of that is that where precise timing is important things get complicated with the pi. Your program running on the arduino (which is the only thing running on that hardware) can respond almost the moment the voltage changes across a pair of pins. On the pi, that change may occur when the operating system (which really runs the show) is doing other things, so you can't say exactly when your pi program will respond (it's usually after a few milliseconds but exactly when is not certain). You can do things like writing device drivers to control hardware directly or running your program in real time but this is starting to get far more complex than joe newbie generally wants to get. If writing time-critical stuff like writing to a seatalk bus (ie performing correct collision avoidance) then arduino is the way to go rather than pi. Doing a whole load of things other than the single task you want it for, means there's more possible things to go wrong with the pi, and although I haven't seen the figures, I would imagine the pi would be more power hungry.

On the upside, there is a bunch of software that can just be installed on the pi without any programming knowledge. You can use it for anything you might use a particularly rubbish laptop for. Alisdair has documented several things and has got OpenCPN running on it (though IMHO it's not exactly snappy on the pi). My "thing" is using it as an NMEA-0183 multiplexer and super-cheap wireless access point:
http://www.stripydog.com/kplex
It's so versatile you can do more things with it than a lot of dedicated (and expensive) hardware.
Other people have looked at things like using it as an AIS receiver using a software defined radio (ie tv receiver dongle tuned to receive AIS) though with current software implementations that's pushing the limits of the oomph the little thing has available for signal processing.
 
Thanks very much for those detailed descriptions; I understand a lot more now and am in a position to delve in.
Happy Christmas.
 
Top