Eben Upton Talks About the Raspberry Pi USB Computer
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."
A heck of a lot cheaper than the Gumstix board I bought a few years ago! and about 1/6 the price of the Beagle Board I bought last year. Looks interesting.
"I bless every day that I continue to live, for every day is pure profit."
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.
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 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.
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.
A NYC lawyer blogs. http://www.chuangblog.com/
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 . 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.
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.
don't cut it off www.mgmbill.org
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).
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.
"Well, good luck finding a judge that doesn't run a bestiality site."
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.
Democrat delenda est
Because everybody hooks their robot up to their TV. It's like a safety tether to prevent it from wandering too far away.
Sleep your way to a whiter smile...date a dentist!
You could use a realtime (RTAI) kernel and still have a 'normal' Linux box. This is the approach EMC2 uses to run CNC systems (down to individual motor step pulses from a parallel port) realtime from a standard Ubuntu distribution.
Caveat Emptor is not a business model.