Eben Upton Talks About the Raspberry Pi USB Computer 82
An anonymous reader writes "I contacted the Director of the Raspberry Pi Foundation, Eben Upton, and he graciously gave an interview pertaining to his foundation, the Raspberry Pi device, and how the device relates to robotics. The Raspberry Pi device is basically a $25 Linux PC on a credit card sized board! This microcomputer looks perfectly suited as a low cost, micro form factor, low power, PC performance robot brain."
Re: (Score:1)
Which part of "This microcomputer looks perfectly suited as a low cost, micro form factor, low power, PC performance robot brain." didn't you understand?
dumb question but... (Score:2)
...doesn't using a multipurpose OS kernel with non-optional subroutines that aren't specifically directed toward running the robot or whatever other machine this thing will be stuck in kind of waste resources? I always thought that if one was writing the operating code for a single-purpose machine, one would write it in a language capable of being directly loaded after POST in the manner of an OS without any overhead of another OS, or else one would make it load in the manner of a BIOS at power-on. Or, ma
Re: (Score:3)
Depends on your volume. If you're only making one or two robots, the $25 for the board is the least of your problems. With Linux you get free drivers for USB and Ethernet, plus all the protocol stacks and journaling file systems.
Re: (Score:1)
Re: (Score:2)
Because everybody hooks their robot up to their TV. It's like a safety tether to prevent it from wandering too far away.
Re: (Score:2)
Works with my son.
Re: (Score:1)
You do know Child Services frowns on tethering your child to anything, even a TV...
Re: (Score:2)
You don't actually need a leash. Pokemon takes care of that.
Re: (Score:2)
This thing has 128MiB or 256MiB of RAM. It should be able to handle Linux without sweating, and there are a lot of problems that can work well in that space.
The reason these kinds of devices are becoming popular is because you get a familiar, full-featured environment to play with. It doesn't distract from your problem by forcing you to write a boot loader, and you don't need to be a genius to get some code running on it.
Re:dumb question but... (Score:4, Interesting)
Embedded OS's offer a lot of features that would be very difficult to implement individually - often allowing for more efficient multi-task based software to be created. You may not realize it, but the most used OS in the world is an embedded OS call iTRON: http://en.wikipedia.org/wiki/ITRON_Project [wikipedia.org] . It allows for loadable modules, abstracted storage access, thread-like operation, robust event handling, asynchronous processing, even TTL based communication between controllers all in a very small very efficient package. iTRON is also what allowed Japanese cell phones to be so much more sophisticated for such a long time, and it's probably the OS that the controllers in your car runs. Certainly there is a cost and some overhead, but the advantages (like multiple soft processes and loading/unloading) and a much more streamlined debug process can actually lead to greater efficiency with fewer bugs.
Re: (Score:2)
iTRON sounds like a special-purpose embedded device OS, so that would make sense if it is already stripped to minimal. Linux, on the other hand, isn't meant to be that way, as it's meant to run general-purpose.
That was the argument I was trying to make anyway.
Re: (Score:2)
Linux can be stripped down, and on cores like ARM it can provide some impressive functionality. On top of that there's already a lot of software and many libraries available under Linux. For example, robotics could require voice processing or computer vision capabilities - both of which have libraries available under Linux which would be very difficult to port.
Certainly the Linux kernel is a big, bulky monolithic chunk of code - but on capable cores with just a little bit of memory the resource cost is negl
Re:dumb question but... (Score:5, Insightful)
When a computer that could display 320x200 video cost $3000+, weighed 30 pounds, and covered a typical desk, your assumption was correct. Now you can (obviously) get a compact, lightweight, and inexpensive general purpose computer instead.
If you run a special-purpose system with no OS, you have to write code to handle everything (communications, interrupt handling, etc.). When you can get enough computing power in a small enough package, it cuts development and maintenance time significantly because you can use a general purpose OS to handle all the normal stuff, develop on a standard system, use standard libraries, etc. If there's a bug in your home-grown, hand developed USB device manager, you could spend days trying to track it down. Odds are, there aren't many bugs in the basic I/O parts of the Linux kernel, but if there are, somebody else has probably found them and you can "yum update" to get the fix.
Why do so many home/small business routers/firewalls run Linux, rather than develop a custom networking OS? Because the CPU and RAM needed to run Linux is cheaper than the development time to write and maintain a custom OS. The same is true of this: if you can get a fast-enough Linux-on-a-stick system for $25, why would you waste time writing your own whole system? "Because you can" is only a valid answer if you are only going to make one device (and even then it probably isn't valid).
Re: (Score:2)
why would you waste time writing your own whole system?
1) The writing is cheap. The debugging is expensive.
2) Nothing is easier to debug than a desktop/pc class machine. Nothing harder to debug than an embedded machine.
3) Security support is easy if you let Debian or others do it for you. Hard if you have to do it by yourself.
Re: (Score:2)
hardware is cheaper then software. adding a bit of ram to support a mildly wasteful OS (and doing their best to prune the linux features which are useless in this scenario) is a lot cheaper than developing, debugging, supporting, documenting, training... from scratch a new OS.
Slackware 2.0 - July, 1994 (Score:1)
At that time the fastest available Intel processor was the P100 - 100MHz. While technically it could address 4GB of RAM, in that day that much RAM might cost $64,000 - and of course there was no platform that offered nearly so much.
Now we're talking about platforms that are very different. For CES in January, which is probably the optimistic launch window for this product, we expect quad-core 1.5GHz ARM processors with 1GB of RAM and up to 64GB of storage in a cellular phone package at tens of millions o
Re: (Score:2)
I remember many years ago, the same complaint was made about using Z80 chips in embedded applications. Why use a multipurpose processor with all kinds of non-optimal features that aren't specifically directed toward running whatever other machine this thing will be stuck in?
Honestly, this is just the same kind of evolution. A base environment to make it easier to work with. Actually, the price point for this is where Z80s were well after that argument ended. It was kind of goofy when network ports were
Re: (Score:1)
...doesn't using a multipurpose OS kernel [ ... ] waste resources?
Most OSes tend to use a very small fraction of the total CPU cycles. Re memory; sure a custom OS might be more efficient than a general purpose OS. But, this device has 128 MB of memory. The first desktop I used to run Dell UNIX SysVR4 and later Linux had only 8 MB. In other words, the Linux OS is only needs a small percentage of this device's memory. And the advantages of using a well known and "good enough" and flexible OS cannot be underestimated -- it's similar to how the availability of UNIX
$25 (Score:5, Informative)
A heck of a lot cheaper than the Gumstix [gumstix.com] board I bought a few years ago! and about 1/6 the price of the Beagle Board [beagleboard.org] I bought last year. Looks interesting.
Re: (Score:3)
I purchased a BeagleBoard myself... that was a terrible purchase. Not only are they overpriced but the hardware is crap (compare to FreeScale iMX series, etc.) , and TI's general disinterest in putting out anything usable just makes it pointless. I was warned in advance to avoid TI boards, the BeagleBoard taught me why.
Re: (Score:2)
Can you elaborate? I am doing a fair amount of arm dev and would appreciate any pointers on chips to avoid and why of course.
Thanks!
Re: (Score:3)
Well all ARM cores will operate the same, it's how the cores are connected to the other SOC or on board components. The system TI made has these weird inter-component bottlenecks so you get mud-through-a-straw performance. On top of that they use weird non-standard hardware for some components like video - if I remember correctly they were running DVI signals through that DMI port, so plugging it into newer devices without DVI (like TV's) meant no video. On top of that the community was fragmented and TI wa
Re: (Score:2)
HDMI and DVI are the same protocol, with different connector standards, and with audio support added on HDMI.
Re: (Score:2)
Actually there are a variety of extensions in HDMI that do not exist in DVI. The BeagleBoard does not work with many pure HDMI devices. I don't know the specifics of why and to tell you the truth I don't care. I just know that we had a project we considered using BeagleBoards for but they didn't work with ANY newer television unless we actually used an HDMI to DVI adapter. That and the fact the board was slow as mud compared to the FreeScale platform with the same core (which had working HDMI!) struck the T
Re: (Score:2)
The TI99/4A taught me all I needed to know about TI bottlenecks. Great chips wired in the most stupid way possible.
http://en.wikipedia.org/wiki/Texas_Instruments_TI-99/4A [wikipedia.org]
Re: (Score:2)
Oh, as for boards are you developing a device yourself? If so it just comes down to finding SOCs or boards that offer specifically the features you want and getting samples. You'll need to compare. Some companies will offer you a lot of development support or provide extensive tools (Renesas or Atmel for example). FreeScale has fairly good, streamlined hardware but a lot of times their tools are worthless or pointless. Seriously though, if you aren't developing the device yourself then don't worry about it,
Re: (Score:1)
Call me when you can actually buy it for $25...for now it is vapor.
Re: (Score:2)
Sounds like they're pricing it close to actual cost.
Wait a minute... (Score:1)
The main processor is an ARM-based application processor with ... 128 MB of Ram ...
There is a picture of Firefox running (along with console, Inkscape or whatever that is). I am currently running Linux, and when I look at the Firefox process, it shows 186MB used. So.... 128MB of RAM, really?
Re: (Score:2)
On a lot of this ARM hardware, though, the memory controllers aren't designed to handle DIMMs - too much power consumption for that, and too much variability in the RAM quality. Far cheaper, too, to leave all that off.
Re: (Score:2, Informative)
Maybe it's an old version of Firefox, from before it became crap.
Re: (Score:1)
Re: (Score:2)
While in the past, Firefox had the occasional (and quickly fixed) memory leak issue, most of the complaining seems to come from people who have installed 4gb of ram into their box and then complain if any programs ever actually use any of it.
Re: (Score:2)
I used Firefox 3.whatever on a pentium II 400 with 128MB of RAM. I used IceWM on top of a base install of ubuntu 9.04. It ran fine with a few windows open as it only used about 70 megs, at a standstill the machine used 26mb ram. So there was plenty for FF.
Re: (Score:1)
There will be a $30-35 version with 256 megs of RAM and an Ethernet port. I think the slight price increase is well worth it just for the RAM - 256 megs makes a big difference in the amount of OS and application tweaking necessary.
competition? (Score:2)
[blockquote]Our obvious competitors are devices like Beagleboard and Arduino. We're cheaper than Beagleboard, and offer better processing and multimedia capabilities than either. Our interfacing is weaker than Arduino, but we'll be addressing this through add-on boards.[/blockquote]
So feature vs feature, how different will this be from the Arduino?
Re: (Score:2)
It'll be harder to program.
has digital i/O (Score:3)
I was doubting the "robotics" claim because all I could see in any of the descriptions was that it has USB and Ethernet. Usually to control motors one needs more low-level I/O than that.
I was wondering if they would consider having analog inputs or PWM outputs, but I don't think it's the case. Having to use a tx/rx to shell out these services to a small microcontroller would be a crappy, inefficient solution.
However, I found in one of the comments [raspberrypi.org] that one of the developers claims they have "roughly 16 3.3V GPIO lines, 2 3.3V I2C and a 3.3V SPI." So you'll need to add your own driver chips, which makes sense, but at least high-speed interchip communication will be available.
Re: (Score:2)
All connectivity will have to be via USB.
Mini Server? (Score:4, Interesting)
I know that they're targeting robot makers but, if they built a version with two quality NICs, this would make a great competitor to the high-end prosumer routers such as the ASUS RT-N16, which costs about $65. Getting Moonwall on there would be great.
Re: (Score:1)
Half the cost of the RT-N16 is presumably the WiFi. And that's what I buy them for.
Shrink the connectors to free some realestate (Score:3)
The board is dominated by the connectors. It looks like 80% of realestate is USB, HDMI etc. They should at least go with small connectors for these features. There are common and small connectors and cables available.
Re: (Score:3, Insightful)
Shrunk connectors have been discussed on the forums. Basically you want to keep normal sized USB ports so that you can plug in USB flash memory sticks directly. There is no alternative for the RJ45 Ethernet socket. Mini-HDMI may be on the table, but it is not much smaller than the much more common HDMI. The headers for the GPIOs and the graphics port are already small at 1.27mm pitch. Power should come in through a sturdy port, so no shrinking there either.
Video server? (Score:1)
I wonder how this would do as a Mythtv frontend (and possibly backend as well, recording DVB-T, would it be fast enough?). It sounds like a great project, not just for students, but for all kinds of hobbyists.
Full blown Linux as an entry level? (Score:4, Interesting)
Mr. Upton's goal of a cheap easy to program PC is missed on this device. I realize it's hard to get the kids excited about assembly language, but that's really what made those 8-bit PCs great for training kids. The 8 bit computers were anything but cheap (several hundred dollars, if not over a grand for an Apple ][ is not cheap in the 1980s), but they were mostly easy to program. Sure, you can bash BASIC all you want for teaching sloppy habits, but the commands were fairly easy to remember and most anyone could get lines on the screen. Later on you could start to read/write directly to memory on some machines and have lots of interesting things happen.
While I'm not a programmer today (other than Excel, Access and the occasional batch file), I do have a much better understanding than most of how computers work because of the 8 bits. If I were introduced to computers and programming using a full-blown Linux distro, no matter how inexpensive, I'd not know much more than any MCSE who got certified at the community college. To me the Arduino platform is much better suited to teaching programming skills to people who are new to the process.
Re: (Score:2)
Just c/c++ actually, unless you're patching the optional Arduino IDE itself, which is written in Java. :-)
(Technically, you can skip all the Arduino-isms entirely and program the board in assembler using the avr-gcc + avrdude included with the IDE, but there aren't tutorials for this on their site.)
Teaching? (Score:2)
" To me the Arduino platform is much better suited to teaching programming skills to people who are new to the process."
This is a robotic platform, more powerful than Arduino, and its goal isn't teaching.
Re: (Score:1)
You are totally wrong, robotics are mention as sort of a "wow, great teaching tool, bet we could use that in our robotics"
From the foundation website:
The Raspberry Pi Foundation is a UK registered charity (Registration Number 1129409) which exists to promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing.
We plan to develop, manufacture and distribute an ultra-low-cost computer, for use in teaching computer programming to children. We expect this computer to have many other applications both in the developed and the developing world.
http://www.raspberrypi.org/?page_id=2 [raspberrypi.org]
Economies of scale (Score:1)
180 million units per year for Linux based Android platforms does funny things to pricepoints and toolchains. You can get a full-blown Linux that supports programming in C, C++, Objective-C, Fortran, Java, Ada, and Go through the GNU Compiler Collection - and drivers to support all of these for almost any imaginable peripheral in a generation one platform. A great many other languages are available for free that plug into this. Students can build and test on a Linux PC and migrate to the ARM product or u
Re: (Score:2)
For instance? (Score:1)
.55M units per day x 365 = 198 million units per year. For instance. The trend is up so the given number was discounted.
wah? the rest of your post has unresolveable issues. Try again when you sober up. I'll wait here. I want to help you but you have to not be drooling on yourself.
And the point is? (Score:4, Interesting)
Sorry to be an Eyore here but I'm not seeing the point. The stated goal is improving the future crop of CS students but by giving them what is essentially a small PC with HDMI and Linux you aren't going to get that. They will approach it like a PC and quickly all development will be very high level languages, LAMP stacks, etc. While they admit that it CAN be used for robotics, even though they don't expose any embedded interfaces, that doesn't seem to be their focus since it is aimed to be operated via the USB port from a 'real PC' or hung from (and powered from?) the HDMI port on a flat panel display.
If you want kids exploring hardware give em a board with USB on one end and hardware interfaces on the other. Then they can hook it up to a PC or smartphone and get busy. Oh wait, that already exists. And if they show aptitude introduce them to Arduino or real AVR programming. If you can get a machine that still has a parallel port you can buy an AVR programmer for $5 and have a simple AVR based circuit up and going on a breadboard for $25, cost of breadboard, programmer, everything included. Yes, for $25 per kid total bill of materials you can put kids in front of an embedded programming environment except for an old laptop with a parallel port. Who can't find somebody with a stack of old laptops willing to donate? Windows 95/98 machines are overkill for running an AVR development environment.
Re: (Score:2)
Yep. What's the point in giving them a crippled Linux for learning?
For learning you want something small that gives direct results without having to learn huge operating systems and APIs.
Arduino is about perfect - you type in a few lines of code and see the light flashing. It's real, it's direct. I wish I'd had one way back then.
Re: (Score:2)
If you read the interview, it mentions powerful multimedia as one of the design goals. The Arduino doesn't have that.
Re: (Score:2)
The way I read it the design goal is to get kids excited about computing and get them to want to program it.
How will this excite them more than a normal PC would?
Better to give them a Gameduino (or something like that).
Re: (Score:2)
If a school does a test on 30 kids, they've spend just $750.
Sure...apart from all the monitors, keyboard, mice, USB hubs, USB cables, extra SD cards, etc. which you'll need to make 30 usable workstations. Add another $150 each - that's another $4500 for the 30 kids.
If there's a price win for public use it's that it's easy/cheap to swap in spare ones when people fill them with malware and/or trash the OS. Send the bad one away to be reformatted.
Re: (Score:1)
It is cheap and easily available new by bulk if you want, the same can not be said for hardware which is both old and well enough looked after to be useful, you need a chases worth. But they have more than one goal, the other is that there are many houses where new TVs are common but computers are not even considered, this would have given a home computer to the 1-2/3 of the less well off in my class at school, at cheep enough to buy from pocket money, and will to the younger generation today. With a sup
Re: (Score:2)
> You have any idea how much that costs in a bureaucracy? You could buy 20 of these
> boards for one laptop.
If that is the problem spring $25 for a USB based AVR programmer. I was simply making the point that for the same $25 they are hoping to sell this vaporware at (expect $50) you can buy, right now, everything you need to get an AVR up and blinking some leds so long as you can get yerself a parallel port for the really cheap interface to plug into.
Ready for Prime Time? (Score:2)
USB Hub with 8+ ports with the following devices plugged in to it
Keyboard,
Mouse
DisplayLink(2+)
1T+ Disk
Eithernet
Printer
32-bit machines with Arduno form factor (Score:2)
32-bit machines with an Arduno form factor [eetimes.com] look promising. The usual Arduno ATmega 128 is rather limiting.
Putting a bloated non-realtime OS like Linux on a board that directly controls hardware may not be the right answer, if you want, say, to do vision, balance, and motor control on the same CPU. But there aren't many alternatives. QNX no longer encourages hobbyist use, nobody likes Windows CE, and LinxOS costs too much. Most Linux-based robots have additional, smaller CPUs running the motors. Robots t
Re: (Score:3)
You could use a realtime (RTAI) kernel and still have a 'normal' Linux box. This is the approach EMC2 [linuxcnc.org] uses to run CNC systems (down to individual motor step pulses from a parallel port) realtime from a standard Ubuntu distribution.
Eben Upton? (Score:2)
I read that as "Ben Elton"...
Re: (Score:1)
â"we wonâ(TM)t
Re: (Score:1)
Le sigh. L2preview nub
—we won’t