Neat stuff
January 1, 2013 6:39 PM Subscribe
10 Raspberry Pi creations that show how amazing the tiny PC can be "The Raspberry Pi, the $35 credit card-sized computer, has lived an interesting life despite being less than a year old. It has been used to teach programming and host servers, but above all it has provided a near-perfect platform for some of the most fun and interesting hobbyist projects in the computing world. Arcade cabinets, computing clusters housed in LEGOs, musical instruments, robots, and wearable computers are just some of the uses Pi owners have found. It turns out you can do a lot with an ARM processor, GPU, a few ports and GPIO pins, and an operating system (typically Linux-based) loaded onto an SD card. Here are 10 of the coolest Raspberry Pi creations we've been able to find."
Is there a distro that lets you use one as a remote-access Wifi seedbox for torrents?
posted by dunkadunc at 7:03 PM on January 1, 2013 [1 favorite]
posted by dunkadunc at 7:03 PM on January 1, 2013 [1 favorite]
I just configured a new Raspberry Pi and was getting it ready for my new project. Everything worked so I decided to take a little break and look at MetaFilter to clear my head before continuing. This was the latest post...?
posted by cacophony at 7:04 PM on January 1, 2013 [3 favorites]
posted by cacophony at 7:04 PM on January 1, 2013 [3 favorites]
We're selling these things like hotcakes at SparkFun. They come in small lots and we don't get a single penny's worth of discount, so we're forced to sell 'em at five bucks over the usual retail price, and they still disappear within hours when we get a shipment in.
I'm not quite sure I understand the dynamic, but you can tell they really hit a nerve. I'm tempted myself - there are projects where it'd be nice to leverage the Linux environment I already know best and write a high-level language instead of dorking around being bad at C on an Arduino.
posted by brennen at 7:18 PM on January 1, 2013 [5 favorites]
I'm not quite sure I understand the dynamic, but you can tell they really hit a nerve. I'm tempted myself - there are projects where it'd be nice to leverage the Linux environment I already know best and write a high-level language instead of dorking around being bad at C on an Arduino.
posted by brennen at 7:18 PM on January 1, 2013 [5 favorites]
I'm not quite sure I understand the dynamicA fun computer for about the price of a curry.
posted by fullerine at 7:22 PM on January 1, 2013 [3 favorites]
A fun computer for about the price of a curry.
You pay $35 for a curry? Damn...
posted by smoke at 7:23 PM on January 1, 2013 [11 favorites]
You pay $35 for a curry? Damn...
posted by smoke at 7:23 PM on January 1, 2013 [11 favorites]
Is there a distro that lets you use one as a remote-access Wifi seedbox for torrents?
I have not tested this, but I'd presume you'd use a raspbian image and then apt-get install rtorrent-gui.
posted by pompomtom at 7:23 PM on January 1, 2013 [3 favorites]
I have not tested this, but I'd presume you'd use a raspbian image and then apt-get install rtorrent-gui.
posted by pompomtom at 7:23 PM on January 1, 2013 [3 favorites]
Welp, a Raspberry Pi MAME/Commodore 64 emulator just went onto my "pet projects I won't get around to for years" list.
posted by usonian at 7:24 PM on January 1, 2013 [3 favorites]
posted by usonian at 7:24 PM on January 1, 2013 [3 favorites]
That micro MAME cabinet looks like a fantastic stocking filler/office toy. I really prefer the cute micro design over the similar KickStarter project.
posted by rh at 7:26 PM on January 1, 2013 [3 favorites]
posted by rh at 7:26 PM on January 1, 2013 [3 favorites]
These things are way neat. I have my own little RPi project a-brewin'... shoot I even have an open AskMe about it so there's another example of the kinds of things people want to do with tiny cheap computers.
posted by Doleful Creature at 7:26 PM on January 1, 2013 [1 favorite]
posted by Doleful Creature at 7:26 PM on January 1, 2013 [1 favorite]
Can someone tell me how/where to go to so I can place an order and receive one of these in the United States in a timely manner without being gouged?
I went the eBay route, it was about $20 more. Yeah, it's kind of supporting scalpers, but it was convenient and efficient.
posted by formless at 7:26 PM on January 1, 2013
I went the eBay route, it was about $20 more. Yeah, it's kind of supporting scalpers, but it was convenient and efficient.
posted by formless at 7:26 PM on January 1, 2013
MCM has them instock for $35 (I just ordered 2).
The tipping point for me was easy support of 'high level' peripherals. I needed wifi input and serial TTY output. The Pi lets me do this trivially in the linux OS (via PnP USB), whereas with Arduino the wifi shield was pricey and I didn't feel like writing a TTY driver for output.
posted by jpeacock at 7:31 PM on January 1, 2013 [6 favorites]
The tipping point for me was easy support of 'high level' peripherals. I needed wifi input and serial TTY output. The Pi lets me do this trivially in the linux OS (via PnP USB), whereas with Arduino the wifi shield was pricey and I didn't feel like writing a TTY driver for output.
posted by jpeacock at 7:31 PM on January 1, 2013 [6 favorites]
MCM has them instock for $35 (I just ordered 2).
Thank you so much!
posted by Talez at 7:36 PM on January 1, 2013 [1 favorite]
Thank you so much!
posted by Talez at 7:36 PM on January 1, 2013 [1 favorite]
Instead of eBay, try Newark. They've been great for all of my orders.
I've got four at home doing various things. One's a general purpose PC, hooked up to the TV. Another's a headless music server. Yet another is controlling the lights via X10. The last is on my electronics bench, acting as a smarter Arduino. I love 'em to bits. It's like being back in home computer days.
posted by scruss at 7:38 PM on January 1, 2013 [2 favorites]
I've got four at home doing various things. One's a general purpose PC, hooked up to the TV. Another's a headless music server. Yet another is controlling the lights via X10. The last is on my electronics bench, acting as a smarter Arduino. I love 'em to bits. It's like being back in home computer days.
posted by scruss at 7:38 PM on January 1, 2013 [2 favorites]
I've got one on order. My goal is to try and replicate my Scangauge but allow for A. a better display and B. better performance tracking.
If that doesn't work, I'll make it beep randomly and hide it somewhere in the house. It will drive my wife nuts.
posted by Pogo_Fuzzybutt at 7:49 PM on January 1, 2013 [1 favorite]
I think the Raspberry Pi is interesting because it's the final link in a powerful chain between really simple physical devices and larger networks. You can aggregate numerous basic sensors using things like the PICAXE, which can talk to Arduino via I2C/etc which can talk to Raspberry Pi via HTTP, which can be running whatever software you want. Using these 3 you can have a really powerful platform for under $60. You can plug a tremendously wide range of devices into it and make it do some pretty interesting things.
posted by feloniousmonk at 7:58 PM on January 1, 2013 [4 favorites]
posted by feloniousmonk at 7:58 PM on January 1, 2013 [4 favorites]
I got mine from adafruit. The model B (512 MB RAM, 2 USB ports, etc.) goes for $39.95.
posted by hwestiii at 8:11 PM on January 1, 2013
posted by hwestiii at 8:11 PM on January 1, 2013
My Raspberry Pi spits out my MetaFilter favorites count to an arduino controlled LED matrix.
posted by clearly at 8:24 PM on January 1, 2013 [52 favorites]
posted by clearly at 8:24 PM on January 1, 2013 [52 favorites]
Equal parts awesome and tragic.... Favorite added!
posted by pompomtom at 8:32 PM on January 1, 2013 [2 favorites]
posted by pompomtom at 8:32 PM on January 1, 2013 [2 favorites]
tragic.
It's more of a proof of concept project than anything... I mean it's not like I absolutely need to know how many favorites I have in real-time, like they're my internet life blood.
posted by clearly at 8:42 PM on January 1, 2013 [7 favorites]
It's more of a proof of concept project than anything... I mean it's not like I absolutely need to know how many favorites I have in real-time, like they're my internet life blood.
posted by clearly at 8:42 PM on January 1, 2013 [7 favorites]
I know what you mean. I can give up any time I want.
posted by pompomtom at 8:45 PM on January 1, 2013 [7 favorites]
posted by pompomtom at 8:45 PM on January 1, 2013 [7 favorites]
What's the update rate like? Can you see me twiddling it up and down?
posted by Pyry at 8:47 PM on January 1, 2013 [2 favorites]
posted by Pyry at 8:47 PM on January 1, 2013 [2 favorites]
What's the update rate like?
A ruby script scrapes the number from my User page. I didn't want to to hit the MetaFilter servers too often, so right now, it's set to update every 30 seconds.
There's probably a way to update it when the count changes, but I don't know how I'd go about that.
Ideally I want to be able to parse a box score, and put all the hardware in a shadowbox picture frame like a low definition ESPN Gamecast on the wall.
posted by clearly at 8:52 PM on January 1, 2013 [2 favorites]
A ruby script scrapes the number from my User page. I didn't want to to hit the MetaFilter servers too often, so right now, it's set to update every 30 seconds.
There's probably a way to update it when the count changes, but I don't know how I'd go about that.
Ideally I want to be able to parse a box score, and put all the hardware in a shadowbox picture frame like a low definition ESPN Gamecast on the wall.
posted by clearly at 8:52 PM on January 1, 2013 [2 favorites]
Surely that project isn't complete until it rings a bell for every new favorite (and sounds a gameshow buzzer when the count goes down).
posted by ceribus peribus at 8:55 PM on January 1, 2013 [9 favorites]
posted by ceribus peribus at 8:55 PM on January 1, 2013 [9 favorites]
There's probably a way to update it when the count changes, but I don't know how I'd go about that.
Eh idk if that'd be feasible unless you had access to mefi's backend. You'd need a signal from the server in real time every time you got a favorite. I think that pinging mefi every 30 seconds is probably the best way to do this.
posted by thsmchnekllsfascists at 9:13 PM on January 1, 2013
Eh idk if that'd be feasible unless you had access to mefi's backend. You'd need a signal from the server in real time every time you got a favorite. I think that pinging mefi every 30 seconds is probably the best way to do this.
posted by thsmchnekllsfascists at 9:13 PM on January 1, 2013
Surely that project isn't complete until it rings a bell for every new favorite (and sounds a gameshow buzzer when the count goes down).
If a favorite is lost: this sound.
posted by Mister Fabulous at 9:28 PM on January 1, 2013 [3 favorites]
If a favorite is lost: this sound.
posted by Mister Fabulous at 9:28 PM on January 1, 2013 [3 favorites]
"You can aggregate numerous basic sensors using things like the PICAXE, which can talk to Arduino via I2C/etc which can talk to Raspberry Pi via HTTP, which can be running whatever software you want. Using these 3 you can have a really powerful platform for under $60."While I kind of like to see software nerd and 'maker'/'hacker' types getting closer to hardware, I get annoyed at the LEGO-ification that usually entails, and comments like this make me a little sad (no offense, feloniousmonk).
Because this old hardware hacker immediately thinks "you've got at least 1, if not 2, extraneous devices in there…"
posted by Pinback at 9:48 PM on January 1, 2013 [2 favorites]
How do you define extraneous without knowing what is being built? If you really do like to see people get closer to the hardware, you should get over being annoyed by things like this, because regardless of whether or not you mean offense, it comes across pretty poorly.
posted by feloniousmonk at 9:59 PM on January 1, 2013 [2 favorites]
posted by feloniousmonk at 9:59 PM on January 1, 2013 [2 favorites]
I ordered one for Mr. Sunny from MCM before Christmas, and they shipped promptly. (YMMV, but I always like to let people know if they are thinking of ordering from someone new.) Actually, got him a kit. I had no idea at the time they were selling so fast.
posted by annsunny at 10:09 PM on January 1, 2013
posted by annsunny at 10:09 PM on January 1, 2013
feloniousmonk, you seem to be inordinately annoyed at things I clearly identified as my own emotions, thoughts, and opinions, and which I specifically indicated were not meant to cause personal offense.
posted by Pinback at 10:59 PM on January 1, 2013
posted by Pinback at 10:59 PM on January 1, 2013
Surely that project isn't complete until it rings a bell for every new favorite (and sounds a gameshow buzzer when the count goes down).
Food pellet and electric shock, perhaps.
posted by sebastienbailard at 11:02 PM on January 1, 2013 [5 favorites]
Food pellet and electric shock, perhaps.
posted by sebastienbailard at 11:02 PM on January 1, 2013 [5 favorites]
Felonious & Pinback:
GET A ROOM
posted by armoir from antproof case at 11:08 PM on January 1, 2013 [5 favorites]
GET A ROOM
posted by armoir from antproof case at 11:08 PM on January 1, 2013 [5 favorites]
Sorry, the constant sniping that typifies online tech discussoin has been grating on my last nerve lately.
Anyway, there are really interesting things possible with this that go beyond just blinking LEDs or doing these sorts of trivial things that are coming up in lists like this. I think it's going to be really interesting to see where this leads as it inspires the next generation of connected devices. I am sure we will continue to see trivial gadgetry, but what sorts of things can people build when it's cheap to collect data from multiple inexpensive sensors located throughout your house and run the data through machine learning analysis systems? I think there is a tremendous amount of potential here.
posted by feloniousmonk at 11:14 PM on January 1, 2013 [3 favorites]
Anyway, there are really interesting things possible with this that go beyond just blinking LEDs or doing these sorts of trivial things that are coming up in lists like this. I think it's going to be really interesting to see where this leads as it inspires the next generation of connected devices. I am sure we will continue to see trivial gadgetry, but what sorts of things can people build when it's cheap to collect data from multiple inexpensive sensors located throughout your house and run the data through machine learning analysis systems? I think there is a tremendous amount of potential here.
posted by feloniousmonk at 11:14 PM on January 1, 2013 [3 favorites]
Why the frag do I NOT post this stuff when I see it elsewhere first?
I would love to get one of these with an external USB driver and use it as a headless/remote controlled server for my craptacular little LAN. It would beat the hell out of my old Mac G4 400.
posted by Samizdata at 11:17 PM on January 1, 2013
I would love to get one of these with an external USB driver and use it as a headless/remote controlled server for my craptacular little LAN. It would beat the hell out of my old Mac G4 400.
posted by Samizdata at 11:17 PM on January 1, 2013
I've been thinking about cheapish ways to build a case for my pi (and the five or so that we're sending out for projects soon) and facepalmed when I saw the lego enclosures. Takin' a trip to the toy store!
posted by kaibutsu at 11:27 PM on January 1, 2013 [1 favorite]
posted by kaibutsu at 11:27 PM on January 1, 2013 [1 favorite]
If a favorite is lost: this sound.
Haha! I was going to say exactly that, but as you've already said it I will stand behind you, a loyal member of your team. What now boss?
posted by Meatbomb at 11:29 PM on January 1, 2013
Haha! I was going to say exactly that, but as you've already said it I will stand behind you, a loyal member of your team. What now boss?
posted by Meatbomb at 11:29 PM on January 1, 2013
Oh yeah I almost forgot I'm also going to do this eventually, too, for my smoker.
posted by Doleful Creature at 11:56 PM on January 1, 2013 [2 favorites]
posted by Doleful Creature at 11:56 PM on January 1, 2013 [2 favorites]
I dread to think how big the Author's wallet is. Someone should tell them you can now get a credit card less thick than an RJ45 socket!
posted by davemee at 12:50 AM on January 2, 2013 [2 favorites]
posted by davemee at 12:50 AM on January 2, 2013 [2 favorites]
The Pi is one of the worst possible choices for emulation, because emulation is very CPU-intensive, and that's the one thing the Pi really isn't good at. It's been described as a video accelerator with a P2-300 class CPU slapped on the side. Most of the transistors on the Pi are devoted to that video card, but you have very little control over that part, because it's driven by a binary blob without source. There's no reasonable way to improve or update the video drivers to suit new standards, or to add functionality the company didn't think of. The ARM CPU on that chip is almost an afterthought, yet that's what you're mostly stuck with.
Now, you can do an awful lot with a chip of 1998-class power, and having such a tiny/cheap one is convenient. But it's a damn shame that the vast majority of the transistors on that machine aren't really under your control. I would find it so much more interesting if the drivers were truly open source.
There was some noise awhile back about 'the open sourcing of the Pi drivers', but that wasn't real, it was basically just releasing the binary blob in a format that was more compatible with Linux.
You can get tiny computers like the Pi that are about five times faster for like $90, which would be good for many emulation uses. But the only ones I've seen so far can only run Android, rather than a true Linux system with a free software stack, and the video chip is still out of reach. Sigh.
Linux is making great strides on unifying the ARM architecture internally so that the same kernel can boot on many different ARM devices, but this is a very hard problem, because there's no unified standard like there is on x86. Every board out there does things a little differently, and if the kernel twiddles bits looking for Board A, and it's on Board B, it can potentially blow up the system. Like, permanently. So coming up with a unified kernel image is not going to happen soon, and it may need to be driven by newer generations of hardware that start to standardize themselves around certain interfaces.
So, on that basis, the Pi is pretty amazing... a $35 ARM chip that you can easily boot Linux on is no small feat. But it just sucks so bad that there's no source for the video driver.
posted by Malor at 2:05 AM on January 2, 2013 [8 favorites]
Now, you can do an awful lot with a chip of 1998-class power, and having such a tiny/cheap one is convenient. But it's a damn shame that the vast majority of the transistors on that machine aren't really under your control. I would find it so much more interesting if the drivers were truly open source.
There was some noise awhile back about 'the open sourcing of the Pi drivers', but that wasn't real, it was basically just releasing the binary blob in a format that was more compatible with Linux.
You can get tiny computers like the Pi that are about five times faster for like $90, which would be good for many emulation uses. But the only ones I've seen so far can only run Android, rather than a true Linux system with a free software stack, and the video chip is still out of reach. Sigh.
Linux is making great strides on unifying the ARM architecture internally so that the same kernel can boot on many different ARM devices, but this is a very hard problem, because there's no unified standard like there is on x86. Every board out there does things a little differently, and if the kernel twiddles bits looking for Board A, and it's on Board B, it can potentially blow up the system. Like, permanently. So coming up with a unified kernel image is not going to happen soon, and it may need to be driven by newer generations of hardware that start to standardize themselves around certain interfaces.
So, on that basis, the Pi is pretty amazing... a $35 ARM chip that you can easily boot Linux on is no small feat. But it just sucks so bad that there's no source for the video driver.
posted by Malor at 2:05 AM on January 2, 2013 [8 favorites]
See also the RasPiLapse a Pi controlled time lapse photography dolly which I'm tempted to build, though currently my RaspBMC is my TV so I might have to go and get another one.
posted by brilliantmistake at 2:27 AM on January 2, 2013 [1 favorite]
posted by brilliantmistake at 2:27 AM on January 2, 2013 [1 favorite]
If you're interested in the Raspberry Pi, don't be intimidated thinking that you need to be some sort of seasoned hacker to build something cool, or that you need to use it to build anything at all. It is an awesome Linux board which is incredibly well supported.
If you have no idea what a Raspberry Pi actually is, probably start with the Raspberry Pi wiki.
If you're thinking, "well, it might be $35 for the board, but peripherals are going to cost a small fortune", see the Raspberry Pi verified peripherals page. If you already have a computer, you probably have many peripherals that have been verified to work with the Pi. Having solely used a Macbook for the last 6 years or so, I had zero peripherals when I received mine in the mail. Using the verified peripherals page as a buying guide, I was able to get a keyboard, mouse, powered USB hub, WiFi dongle, Micro USB cable, an SD card, and an HDMI cable for ~$75 from Amazon, and used my TV as my monitor.
For questions about getting the computer up and running, Linux for beginners, or any other questions that might be keeping you from jumping in, there are tutorials, official forums, and a great deal of support and documentation from the Linux community available by simply googling an error message or a process you would like to get up and running.
For more projects like those in the original post, check out the Adafruit blog, Hackaday, and /r/raspberry_pi.
posted by clearly at 2:44 AM on January 2, 2013 [15 favorites]
If you have no idea what a Raspberry Pi actually is, probably start with the Raspberry Pi wiki.
If you're thinking, "well, it might be $35 for the board, but peripherals are going to cost a small fortune", see the Raspberry Pi verified peripherals page. If you already have a computer, you probably have many peripherals that have been verified to work with the Pi. Having solely used a Macbook for the last 6 years or so, I had zero peripherals when I received mine in the mail. Using the verified peripherals page as a buying guide, I was able to get a keyboard, mouse, powered USB hub, WiFi dongle, Micro USB cable, an SD card, and an HDMI cable for ~$75 from Amazon, and used my TV as my monitor.
For questions about getting the computer up and running, Linux for beginners, or any other questions that might be keeping you from jumping in, there are tutorials, official forums, and a great deal of support and documentation from the Linux community available by simply googling an error message or a process you would like to get up and running.
For more projects like those in the original post, check out the Adafruit blog, Hackaday, and /r/raspberry_pi.
posted by clearly at 2:44 AM on January 2, 2013 [15 favorites]
Instead of eBay, try Newark.
Just to add my voice to that, I had pretty good luck with them. They didn't have any in stock when I wanted to order one for my brother's birthday, so I signed up for email notification, and ended up being able to order one just a couple weeks later, so he still got it in time.
posted by solotoro at 2:53 AM on January 2, 2013
Just to add my voice to that, I had pretty good luck with them. They didn't have any in stock when I wanted to order one for my brother's birthday, so I signed up for email notification, and ended up being able to order one just a couple weeks later, so he still got it in time.
posted by solotoro at 2:53 AM on January 2, 2013
@Malor Isn't the GPU programmable, like with shaders and stuff? Or with CUDA? That seems like control enough for me if so.
posted by jonbro at 3:27 AM on January 2, 2013
posted by jonbro at 3:27 AM on January 2, 2013
Also, I sent said brother this link before having finished reading it, and after seeing the bit about wearable computing, I was very glad I did - pretty much since the moment it came in I've been trying to convince him to use his Pi to make a HUD for his Boba Fett mask.
posted by solotoro at 3:38 AM on January 2, 2013
posted by solotoro at 3:38 AM on January 2, 2013
Barracude Drive seems like a pretty cool guy. Use your Pi as a lil webservy, cloudy, VPN thing. I bought one to put in my brothers house just so I can watch the BBC when I'm overseas.
posted by Damienmce at 6:23 AM on January 2, 2013
posted by Damienmce at 6:23 AM on January 2, 2013
While I kind of like to see software nerd and 'maker'/'hacker' types getting closer to hardware, I get annoyed at the LEGO-ification that usually entails, and comments like this make me a little sad (no offense, feloniousmonk).
The lego-ification is a feature, not a bug, if the goal is to create systems that prototype quickly and easily. One-off projects are ideal for "lego-like" platforms. Knuckling down and designing a top-to-bottom one-off system is massively inefficient waste of development resources for very little gain in the end design. If you're going to mass-produce the thing, if you have the time and manpower to engineer the thing, fine. Otherwise, cheap and programmable device A that connects in a predictable and tested way to cheap and programmable device controller B that connects in a predictable and tested way to cheap and reliable control console/logging server C is a revolution in electronics automation, and will result in breakthroughs in science and manufacturing technology.
posted by Slap*Happy at 7:02 AM on January 2, 2013 [4 favorites]
The lego-ification is a feature, not a bug, if the goal is to create systems that prototype quickly and easily. One-off projects are ideal for "lego-like" platforms. Knuckling down and designing a top-to-bottom one-off system is massively inefficient waste of development resources for very little gain in the end design. If you're going to mass-produce the thing, if you have the time and manpower to engineer the thing, fine. Otherwise, cheap and programmable device A that connects in a predictable and tested way to cheap and programmable device controller B that connects in a predictable and tested way to cheap and reliable control console/logging server C is a revolution in electronics automation, and will result in breakthroughs in science and manufacturing technology.
posted by Slap*Happy at 7:02 AM on January 2, 2013 [4 favorites]
feloniousmonk: " If you really do like to see people get closer to the hardware, you should get over being annoyed by things like this, because regardless of whether or not you mean offense, it comes across pretty poorly."
I think Pinback's making a sideways reference to the Arduino ecosystem, which indeed does seem to be guilty of encouraging "Lego-fication," while encouraging its users to eschew some fairly basic electronics knowledge.
Yes, there's a whole lot to love about the Arduino, and its "Lego-like" modularity does indeed seem to make rapid prototyping a breeze. It's a far cry better than any budget-friendly microcontroller/prototyping system that we've had before. However, I've also noticed that everything in the Arduino-verse seems crazy expensive, and encourages hobbyists to rely on complicated pre-built widgets rather than building their own, when the task at hand doesn't call for anything particularly complicated.
I'm not saying that hobbyists should be encouraged to build complicated logic circuits entirely out of NAND gates, but they should probably be encouraged to learn about them at some point. Ditto for soldering.
In many ways, I feel like the Raspberry Pi is a step in the right direction, given that it's got some very capable IO functionality built right into the (very cheap) base package. It's hard to complain about redundancy or excess when everything's being provided by a single, very cheap SoC. All of the difficult engineering work has already been done, and the Pi basically gives you USB, Ethernet, GPIO, video, audio, and a storage controller for "free." It's hard to argue with that.
To draw a software analogy, I feel that the Raspberry Pi and Arduino are the jQuery of the hardware world. jQuery is pretty powerful, the pros use it, and it abstracts quite a few tricky/complicated tasks that let you build complete applications without fussing around in JavaScript or the DOM. There's also a vast ecosystem of libraries and plugins available to extend the core. These are all very good things, but developers do eventually need to take the time to sit down, learn JavaScript properly, and judge when it's appropriate to use a library or not. Unfortunately, jQuery is powerful enough, and JavaScript is difficult enough that many developers get caught in a trap.
It's silly to fault the guys behind Arduino and Raspberry Pi for any of this stuff, but I really do think that we're going to need to come up with some better (free/open) training and education materials for novice electronics hobbyists. Arduino/Pi are appealing because they can provide a great gateway into hardware hacking for novices that will allow them to build useful gadgets from Day 1. They're also useful to seasoned hackers, because they make it really easy to accomplish some tasks that would otherwise be too complicated to implement with simple circuits (or without a team of seasoned electrical engineers).
However, I've always noticed that the educational materials for electronics hobbyists tend to have a huge gap between the introductory topics and the more advanced stuff (not to mention often being hopelessly dated). This is even true for a lot of Electrical Engineering curricula that I've seen. It's great that we're allowing more and more people to get involved with hardware hacking, but there's a whole lot more that needs to be done.
posted by schmod at 7:18 AM on January 2, 2013 [4 favorites]
I think Pinback's making a sideways reference to the Arduino ecosystem, which indeed does seem to be guilty of encouraging "Lego-fication," while encouraging its users to eschew some fairly basic electronics knowledge.
Yes, there's a whole lot to love about the Arduino, and its "Lego-like" modularity does indeed seem to make rapid prototyping a breeze. It's a far cry better than any budget-friendly microcontroller/prototyping system that we've had before. However, I've also noticed that everything in the Arduino-verse seems crazy expensive, and encourages hobbyists to rely on complicated pre-built widgets rather than building their own, when the task at hand doesn't call for anything particularly complicated.
I'm not saying that hobbyists should be encouraged to build complicated logic circuits entirely out of NAND gates, but they should probably be encouraged to learn about them at some point. Ditto for soldering.
In many ways, I feel like the Raspberry Pi is a step in the right direction, given that it's got some very capable IO functionality built right into the (very cheap) base package. It's hard to complain about redundancy or excess when everything's being provided by a single, very cheap SoC. All of the difficult engineering work has already been done, and the Pi basically gives you USB, Ethernet, GPIO, video, audio, and a storage controller for "free." It's hard to argue with that.
To draw a software analogy, I feel that the Raspberry Pi and Arduino are the jQuery of the hardware world. jQuery is pretty powerful, the pros use it, and it abstracts quite a few tricky/complicated tasks that let you build complete applications without fussing around in JavaScript or the DOM. There's also a vast ecosystem of libraries and plugins available to extend the core. These are all very good things, but developers do eventually need to take the time to sit down, learn JavaScript properly, and judge when it's appropriate to use a library or not. Unfortunately, jQuery is powerful enough, and JavaScript is difficult enough that many developers get caught in a trap.
It's silly to fault the guys behind Arduino and Raspberry Pi for any of this stuff, but I really do think that we're going to need to come up with some better (free/open) training and education materials for novice electronics hobbyists. Arduino/Pi are appealing because they can provide a great gateway into hardware hacking for novices that will allow them to build useful gadgets from Day 1. They're also useful to seasoned hackers, because they make it really easy to accomplish some tasks that would otherwise be too complicated to implement with simple circuits (or without a team of seasoned electrical engineers).
However, I've always noticed that the educational materials for electronics hobbyists tend to have a huge gap between the introductory topics and the more advanced stuff (not to mention often being hopelessly dated). This is even true for a lot of Electrical Engineering curricula that I've seen. It's great that we're allowing more and more people to get involved with hardware hacking, but there's a whole lot more that needs to be done.
posted by schmod at 7:18 AM on January 2, 2013 [4 favorites]
clearly: My Raspberry Pi spits out my MetaFilter favorites count to an arduino controlled LED matrix..
Oh my. That is a really really bad Idea. I have a spare LCD at home and a PI on the way. It is such a bad idea, I might have to do it....
On the 30s refresh thing, if you wanted to be really kind to the servers, I'd think an adaptive algorithm would be in order. If there hasn't been a favorite in a while, let the refresh interval stretch out to some maximum, maybe 10 min or an hour. If the rate is going, increase the refresh rate so you can track it in more 'real-time'. Unless you are commenting 24x7, this would get the refresh rate to follow the ebb and flow your your commenting, and thread dynamics. Of course, if lots of people did that, and a thread exploded, this would actually possibly punish the servers on top of the extra load of an exploding thread.
posted by Bovine Love at 7:40 AM on January 2, 2013 [3 favorites]
Oh my. That is a really really bad Idea. I have a spare LCD at home and a PI on the way. It is such a bad idea, I might have to do it....
On the 30s refresh thing, if you wanted to be really kind to the servers, I'd think an adaptive algorithm would be in order. If there hasn't been a favorite in a while, let the refresh interval stretch out to some maximum, maybe 10 min or an hour. If the rate is going, increase the refresh rate so you can track it in more 'real-time'. Unless you are commenting 24x7, this would get the refresh rate to follow the ebb and flow your your commenting, and thread dynamics. Of course, if lots of people did that, and a thread exploded, this would actually possibly punish the servers on top of the extra load of an exploding thread.
posted by Bovine Love at 7:40 AM on January 2, 2013 [3 favorites]
I'd think an adaptive algorithm would be in order.
That's a brilliant way to approach it.
I might have to do it...
It has been really strange being able to watch the feedback display on a project from posting the project to the site that the project is dedicated to... Or something like that.
But yea, dive in! For a simple project, I've really learned a lot.
posted by clearly at 8:03 AM on January 2, 2013 [2 favorites]
That's a brilliant way to approach it.
I might have to do it...
It has been really strange being able to watch the feedback display on a project from posting the project to the site that the project is dedicated to... Or something like that.
But yea, dive in! For a simple project, I've really learned a lot.
posted by clearly at 8:03 AM on January 2, 2013 [2 favorites]
I've been working on a combination RPi/Arduino project to integrate my empeg-car MP3 player with my new car's factory stereo system, using the Arduino to read the CAN bus to monitor the CAN bus, and the RPi to pull the screen buffer from the empeg-car display and show it on the factory stereo/navigation screen. Progress has been a bit slow on the control side (reverse-engineering messages on a busy CAN bus can be time-consuming) but the RPi development has been easy as... well, you know.
Here's a short clip of the RPi hooked up to my TV (the empeg itself is in the bottom right corner.) It'll get a lot more interesting when I can control it in the car, though.
posted by tonycpsu at 8:14 AM on January 2, 2013
Here's a short clip of the RPi hooked up to my TV (the empeg itself is in the bottom right corner.) It'll get a lot more interesting when I can control it in the car, though.
posted by tonycpsu at 8:14 AM on January 2, 2013
Oh, and here's someone who's using an RPi to drive a... much larger screen.
posted by tonycpsu at 8:18 AM on January 2, 2013
posted by tonycpsu at 8:18 AM on January 2, 2013
I think an interesting thing about about Arduino/etc components coming pre-packaged is how they open up the space. You can have someone who has never even thought about how a battery works sit down and after a few trivial steps they could wire a distance sensor into their Arduino and have it spitting back data to their PC. If this inspires a genuine interest, more of the same or similar can be had for pennies if you're willing to assemble them yourself. I think it's good from the perspective of giving you things to emulate in your own work.
Myself, I spent ~$6 on an Arduino-ready soil moisture sensor, even though it was basically just a nicely packaged voltage divider, just because I wanted to have a reference for building my own. I've built several basic sensors and actuators using this model and it's worked out really well.
posted by feloniousmonk at 8:51 AM on January 2, 2013 [2 favorites]
Myself, I spent ~$6 on an Arduino-ready soil moisture sensor, even though it was basically just a nicely packaged voltage divider, just because I wanted to have a reference for building my own. I've built several basic sensors and actuators using this model and it's worked out really well.
posted by feloniousmonk at 8:51 AM on January 2, 2013 [2 favorites]
I've been heavily involved in the RP for quite a few months now.
If any of you are interested, I'm working on an open-source art programming system called echomesh which is going up for a show in July in Sweden...
posted by lupus_yonderboy at 8:56 AM on January 2, 2013 [1 favorite]
If any of you are interested, I'm working on an open-source art programming system called echomesh which is going up for a show in July in Sweden...
posted by lupus_yonderboy at 8:56 AM on January 2, 2013 [1 favorite]
Pogo_Fuzzybutt: "I've got one on order. My goal is to try and replicate my Scangauge but allow for A. a better display and B. better performance tracking.
If that doesn't work, I'll make it beep randomly and hide it somewhere in the house. It will drive my wife nuts."
If you really want to drive her nuts, you can have it randomly turns the lights and TV on and off.
How my wife has been able to resist murdering me in my sleep over the last 20 years is truly a mystery.
posted by double block and bleed at 9:02 AM on January 2, 2013
If that doesn't work, I'll make it beep randomly and hide it somewhere in the house. It will drive my wife nuts."
If you really want to drive her nuts, you can have it randomly turns the lights and TV on and off.
How my wife has been able to resist murdering me in my sleep over the last 20 years is truly a mystery.
posted by double block and bleed at 9:02 AM on January 2, 2013
While I kind of like to see software nerd and 'maker'/'hacker' types getting closer to hardware, I get annoyed at the LEGO-ification that usually entails, and comments like this make me a little sad (no offense, feloniousmonk).
That idea is simply baffling to me. Where do you stop? Should we be designing our own chips and putting together our own resistors and capacitors?
I've used the Arduino - but it's got a tiny memory, and it's its own ecosystem, which means you simply can't use standard packages. For example, for the echomesh project, I'll be needing time synchronization between two RP's that's precise to less than a millisecond. I was anticipating months of development time to get this - but it turns out I was able to compile ptpd for the system in about an hour, which does exactly what I want, but much better than if I'd written my own. And most packages simply install the first time using apt-get, no need even to port them.
Must we reinvent the wheel over and over again? Surely we want to keep moving forward and doing bigger and better things - and this means re-use of other people's hardware and software designs?
posted by lupus_yonderboy at 9:03 AM on January 2, 2013 [2 favorites]
That idea is simply baffling to me. Where do you stop? Should we be designing our own chips and putting together our own resistors and capacitors?
I've used the Arduino - but it's got a tiny memory, and it's its own ecosystem, which means you simply can't use standard packages. For example, for the echomesh project, I'll be needing time synchronization between two RP's that's precise to less than a millisecond. I was anticipating months of development time to get this - but it turns out I was able to compile ptpd for the system in about an hour, which does exactly what I want, but much better than if I'd written my own. And most packages simply install the first time using apt-get, no need even to port them.
Must we reinvent the wheel over and over again? Surely we want to keep moving forward and doing bigger and better things - and this means re-use of other people's hardware and software designs?
posted by lupus_yonderboy at 9:03 AM on January 2, 2013 [2 favorites]
I think it's worth mentioning also that in a lot of cases, the Arduino fancy shields you can buy that'll give you feature XYZ with a few pins plus power are actually themselves open source hardware, meaning you could manufacture them yourselves if you wanted to download the diagrams and learn how to etch a PCB at home.
posted by feloniousmonk at 9:07 AM on January 2, 2013
posted by feloniousmonk at 9:07 AM on January 2, 2013
I'm thinking of gluing mine to the back of a Kinect and making a handheld 3d-scanning thing. I've managed to get depth information out of the kinect under linux, but I suspect that joining the various point clouds together as you move around isn't a trivial problem, even if you have access to a rotation sensor.
posted by a dangerous ruin at 9:41 AM on January 2, 2013
posted by a dangerous ruin at 9:41 AM on January 2, 2013
As someone who is stepping out of Minecraft Redstone shennanigans and into the Arduino/Raspberry Pi world, I find the motor controller shields to be worth the money. I know I could solder together my own coil relay, and I've used the Sparkfun Invetors Kit to actuate a server when I bent a resistor. But a shield with 14 readymade servor ports and 2 dc motor controllers was worth the 15 bucks. With a RPi on top of that, spiderbot will come to life...
posted by The Power Nap at 10:56 AM on January 2, 2013
posted by The Power Nap at 10:56 AM on January 2, 2013
jonbro: @Malor Isn't the GPU programmable, like with shaders and stuff? Or with CUDA? That seems like control enough for me if so.
Well, I don't own one, so I'm not clear on what services the binary blob offers. But if there are problems or missing features in that blob, it will only get fixed if the manufacturer cares about it, and especially in the mobile phone market, they leave behind old hardware very quickly.
And that blob is basically a contract of what you're allowed to do with the hardware, no matter what it's actually capable of, and that kind of sucks.
It's not the end of the world, but in a machine that's supposed to be uber-hackable, it's pretty unfortunate. I don't think the RPi people had really any other options to reach the price and feature level they wanted, but it's a shame.
If it's binary blob or nothing, I'll take binary blob, but it could have been even better.
posted by Malor at 11:49 AM on January 2, 2013
Well, I don't own one, so I'm not clear on what services the binary blob offers. But if there are problems or missing features in that blob, it will only get fixed if the manufacturer cares about it, and especially in the mobile phone market, they leave behind old hardware very quickly.
And that blob is basically a contract of what you're allowed to do with the hardware, no matter what it's actually capable of, and that kind of sucks.
It's not the end of the world, but in a machine that's supposed to be uber-hackable, it's pretty unfortunate. I don't think the RPi people had really any other options to reach the price and feature level they wanted, but it's a shame.
If it's binary blob or nothing, I'll take binary blob, but it could have been even better.
posted by Malor at 11:49 AM on January 2, 2013
The GPU definitely not just a binary blob. It's is very versatile and I'm heavily implicated in another Raspberry Pi project that runs OpenGL ES from within Python. Download the demos to get an idea of what's possible (or wait for the new version I'm working on in "the other window" right now that's due in a few weeks - it'll be even more gosh-wow).
posted by lupus_yonderboy at 12:15 PM on January 2, 2013 [3 favorites]
posted by lupus_yonderboy at 12:15 PM on January 2, 2013 [3 favorites]
The GPU definitely not just a binary blob.
Well, yes and no.
The driver is open sourced, but the driver itself is just a shim: it takes OpenGL calls and passes data to and from the GPU. That's useful in case you want to port the RPi to other operating systems, but it's also not what a video driver usually looks like -- those actually have the OpenGL implementation, not just expose the API.
As such, you can't do things like change the shader compiler and it's really functionally not terribly different from a binary blob.
posted by ReadEvalPost at 1:11 PM on January 2, 2013 [2 favorites]
Well, yes and no.
The driver is open sourced, but the driver itself is just a shim: it takes OpenGL calls and passes data to and from the GPU. That's useful in case you want to port the RPi to other operating systems, but it's also not what a video driver usually looks like -- those actually have the OpenGL implementation, not just expose the API.
As such, you can't do things like change the shader compiler and it's really functionally not terribly different from a binary blob.
posted by ReadEvalPost at 1:11 PM on January 2, 2013 [2 favorites]
I'm working on an open-source art programming system called echomesh
Ha! Way back in the early days of Napster I thought to myself, "this is stupid, the content mafia is obviously just going to sue the people running the servers" and set out to write a truly decentralized filesharing network. I called it "echomesh", since it echoed data through a mesh network. It ran beautifully on my test network, then I thought to myself "this is stupid, they're obviously just going to sue the people providing the software." They'd have had no case but I'd have been bankrupt for years by the time it ever went to trial.
None of which is relevant to this discussion, but I'm simultaneously delighted and a little wistful to see the name "echomesh" showing up.
posted by Mars Saxman at 1:14 PM on January 2, 2013 [3 favorites]
Ha! Way back in the early days of Napster I thought to myself, "this is stupid, the content mafia is obviously just going to sue the people running the servers" and set out to write a truly decentralized filesharing network. I called it "echomesh", since it echoed data through a mesh network. It ran beautifully on my test network, then I thought to myself "this is stupid, they're obviously just going to sue the people providing the software." They'd have had no case but I'd have been bankrupt for years by the time it ever went to trial.
None of which is relevant to this discussion, but I'm simultaneously delighted and a little wistful to see the name "echomesh" showing up.
posted by Mars Saxman at 1:14 PM on January 2, 2013 [3 favorites]
If it's binary blob or nothing, I'll take binary blob, but it could have been even better.
The Pi is still a pretty good deal if you think of it as a straight-up ARM core with no GPU. I wouldn't choose it if I actually wanted to use any of its video-out stuff, since I don't trust the blob, but if you think of it as an arduino that runs linux it's a pretty decent machine.
posted by Mars Saxman at 1:18 PM on January 2, 2013
The Pi is still a pretty good deal if you think of it as a straight-up ARM core with no GPU. I wouldn't choose it if I actually wanted to use any of its video-out stuff, since I don't trust the blob, but if you think of it as an arduino that runs linux it's a pretty decent machine.
posted by Mars Saxman at 1:18 PM on January 2, 2013
ReadEvalPost: you're absolutely right - you have no real access below the OpenGL implementation and that's kind of annoying.
I'm not sure who owns it; if it's the RP foundation then it's a good chance it'll be open-sourced eventually as they're not-for-profit.
Mars Saxman: I was sure that name echomesh was going to be in use when I first thought of the project, but it wasn't. In particular, the fact that we're using sound delays to do spacial and time location means that the "echo" part was pretty important to me.
However, the video on the RP is pretty darned impressive - which is why I've gotten partly diverted onto the pi3d project...!
posted by lupus_yonderboy at 1:50 PM on January 2, 2013
I'm not sure who owns it; if it's the RP foundation then it's a good chance it'll be open-sourced eventually as they're not-for-profit.
Mars Saxman: I was sure that name echomesh was going to be in use when I first thought of the project, but it wasn't. In particular, the fact that we're using sound delays to do spacial and time location means that the "echo" part was pretty important to me.
However, the video on the RP is pretty darned impressive - which is why I've gotten partly diverted onto the pi3d project...!
posted by lupus_yonderboy at 1:50 PM on January 2, 2013
I'm not sure who owns it; if it's the RP foundation then it's a good chance it'll be open-sourced eventually as they're not-for-profit.
The OpenGL implementation is part of the GPU's firmware and as such won't see the light of day.
I wouldn't choose it if I actually wanted to use any of its video-out stuff, since I don't trust the blob
If you don't trust the blob you might want to avoid it altogether: the GPU bootstraps the ARM core.
posted by ReadEvalPost at 2:10 PM on January 2, 2013
The OpenGL implementation is part of the GPU's firmware and as such won't see the light of day.
I wouldn't choose it if I actually wanted to use any of its video-out stuff, since I don't trust the blob
If you don't trust the blob you might want to avoid it altogether: the GPU bootstraps the ARM core.
posted by ReadEvalPost at 2:10 PM on January 2, 2013
HeaterMeter. A temp controller for your bbq. Originally piggybacking / stuffed in a cheap router as the LinkMeter, now running on Pi.
My Pi has been sitting in its box for months. I have to find a power supply, SD card, HDMI cable, remote thingy #firstworldproblems
posted by obiwanwasabi at 3:52 PM on January 2, 2013
My Pi has been sitting in its box for months. I have to find a power supply, SD card, HDMI cable, remote thingy #firstworldproblems
posted by obiwanwasabi at 3:52 PM on January 2, 2013
Alas, the Motorola Atrix lapdocks have now climbed spectacularly in price.
I bought a Raspberry Pi recently and, having only a VGA monitor at home, picked up a Lilliput 7" HDMI monitor. This works OK, though getting the various OSes to initialise the display properly (i.e., not leave a black border around the usable screen, or display at a high resolution the monitor downsamples to its native 800x480) often requires fiddling with the CONFIG.INI file on the SD card, and there isn't a 1:1 correspondence between screen pixels and output pixels. I suspect the monitor doesn't quite send back useful identification information to the Pi.
posted by acb at 4:18 PM on January 2, 2013
I bought a Raspberry Pi recently and, having only a VGA monitor at home, picked up a Lilliput 7" HDMI monitor. This works OK, though getting the various OSes to initialise the display properly (i.e., not leave a black border around the usable screen, or display at a high resolution the monitor downsamples to its native 800x480) often requires fiddling with the CONFIG.INI file on the SD card, and there isn't a 1:1 correspondence between screen pixels and output pixels. I suspect the monitor doesn't quite send back useful identification information to the Pi.
posted by acb at 4:18 PM on January 2, 2013
If you don't trust the blob you might want to avoid it altogether: the GPU bootstraps the ARM core.
Well, crap, I didn't know that. Now I'm a lot less excited.
posted by Mars Saxman at 4:24 PM on January 2, 2013
Well, crap, I didn't know that. Now I'm a lot less excited.
posted by Mars Saxman at 4:24 PM on January 2, 2013
> in a machine that's supposed to be uber-hackable, it's pretty unfortunate.
Actually, that's not the Raspberry Pi's primary aim. It was designed to be a cheap computer that's powerful enough to have some fun with while learning how to program. Many people want it to be the open-source panacea, but that wasn't why it was made.
Eben's comment on the Open Source ARM userland is pretty clear that opening the ARM code was a big deal. At his talk in Toronto, Rob Bishop of the Raspberry Pi Foundation noted that if Broadcom were to open up all of their SOC code, the resulting attacks from patent trolls would likely sink them, or at the very least, dissuade them from being involved in open source projects ever again.
I'd be very surprised if there's any computer out there that's completely open source at all levels. Is the POST code of your machine's BIOS open? How about the firmware in the hard drives you boot from? Unless you know the microcode in your processor intimately, everything that you're running is just userland talking to a binary blob.
Mad props to lupus_yonderboy for the Pi3D link. Install it (it may need a few more libraries than the README says, like python-imaging-tk), and unglue your jaw from the carpet.
posted by scruss at 6:25 PM on January 2, 2013 [1 favorite]
Actually, that's not the Raspberry Pi's primary aim. It was designed to be a cheap computer that's powerful enough to have some fun with while learning how to program. Many people want it to be the open-source panacea, but that wasn't why it was made.
Eben's comment on the Open Source ARM userland is pretty clear that opening the ARM code was a big deal. At his talk in Toronto, Rob Bishop of the Raspberry Pi Foundation noted that if Broadcom were to open up all of their SOC code, the resulting attacks from patent trolls would likely sink them, or at the very least, dissuade them from being involved in open source projects ever again.
I'd be very surprised if there's any computer out there that's completely open source at all levels. Is the POST code of your machine's BIOS open? How about the firmware in the hard drives you boot from? Unless you know the microcode in your processor intimately, everything that you're running is just userland talking to a binary blob.
Mad props to lupus_yonderboy for the Pi3D link. Install it (it may need a few more libraries than the README says, like python-imaging-tk), and unglue your jaw from the carpet.
posted by scruss at 6:25 PM on January 2, 2013 [1 favorite]
ReadEvalPost: "If you don't trust the blob you might want to avoid it altogether: the GPU bootstraps the ARM core."
I'm not that familiar with embedded firmware, but isn't that pretty unusual?
posted by dunkadunc at 6:31 PM on January 2, 2013
I'm not that familiar with embedded firmware, but isn't that pretty unusual?
posted by dunkadunc at 6:31 PM on January 2, 2013
davemee: "less thick"
Or "thinner", as some people call it.
posted by Joakim Ziegler at 6:40 PM on January 2, 2013
Or "thinner", as some people call it.
posted by Joakim Ziegler at 6:40 PM on January 2, 2013
« Older The All-Star NY Knicks Logo That Should Have Been | Amid democratic reform, ethnic cleansing Newer »
This thread has been archived and is closed to new comments
Every time I read about how the Raspberry Pi is going to cure cancer it only infuriates me further that it has the world's shittiest supply chain and distribution network.
posted by Talez at 6:55 PM on January 1, 2013 [10 favorites]