Hacker News new | comments | show | ask | jobs | submit login
Things I Do With My Raspberry Pi (magnatecha.com)
85 points by autotravis 1606 days ago | hide | past | web | 51 comments | favorite

One thing that doesn't often get mentioned is that a Pi is a pretty decent way to play around with Risc Os. Probably better than digging up some old Archimedes/RiscPC or the overpriced replacement machines.

Risc OS is seriously underrated. It's so lightweight. Makes it super easy to play around with low level hardware stuff. It was made at a time when a couple of megabytes of RAM was huge and processor speeds were measured in low double digit MHz so it absolutely flies on the Pi.

It's not that it's underrated, it's mostly unknown.

I think the licence would make a lot of people skip over it; it seems to have far fewer features than Linux as well. I'm not saying it isn't cool, but reading their site and Wikipedia nothing is jumping out at me.

If you're going to use the raspberry pi to do file sharing type things, i highly recommend checking out bittorrent sync.

it allows you to turn the pi into your own cloud server.

I better check again, but the ARM build of btsync was very unstable, even to the level of causing a kernel panic on one of my Pi boards.

For me, I've never had any serious issues like that. BT Sync has been a little finicky in some cases and it looks like some files don't get synced over, but it does work relatively well.

I never had problems with the ARM build personally.

I just finished setting up my raspberry pi as a personal router / firewall, to redirect my internet traffic over a VPN to a server i set up in europe. I'm building a chrome extension, and matching node.js app to allow to me toggle the routing on the raspberry pi from within my browser.

I got sick of fighting my isp's throttling rules, which kicked in at the most frustrating and inopportune times, like halfway through downloading linux ISO's to play with on my raspberry pi.

> I just finished setting up my raspberry pi as a personal router / firewall, to redirect my internet traffic over a VPN to a server i set up in europe

That's very interesting and something I'm inclined to do, too. Do you have any resources about that?

But you're still throttled when you try to bring the data home...

I read that as his ISP uses traffic shaping - so bittorrent connections are uniformly throttled (when when the content is completely legal) yet VPN is not. So he tunnels his torrents through VPN.

I have the same annoying problems - particularly as I like to offer up my bandwidth for Linux ISOs and creative commons works (I don't always contribute money to these projects (wife+kids usually see my wages before I do) so it's nice to contribute something even if the net effect is minute). Yet HTTP/HTTPS is completely unthrottled.

i hear Pi isn't very good for routers/firewalls as it's a USB NIC. i was hoping to pfSense it up, too!

it really depends on how much you want to be pushing through it.

considering my ADSL only syncs at 6MB, and not 200MB or whatever, it's fine for my purposes. Most of my machines are also still connected with 802.11g, so locally is not really a big problem either.

I would think twice about using it as a straight fileserver though, because the ethernet and usb ports share bandwidth.

I use it successfully for a subset of my networking needs (VPN server, VPN client, secondary wifi network, failover 3G/4G routing, security cameras, etc.). Of course the throughput is just 15 Mbps (VPN) to 50 Mbps (routing), but that's enough for these tasks.

Of course I can't route my primary internet connection (about 330-340 Mbps typical throughput) over it, but Asus RT-N56U does that just fine.

Fileserver is not an issue, because there's about 300 Mbps total USB bandwidth and the NIC is just 100 Mbps. IRQs are a bit of an issue, full 100 Mbit bandwidth generates 2k IRQ/s, USB disk will probably take it to 8k IRQ/s, consuming a significant portion of CPU (maybe about 20%?).

But if 10 MBps (80-90 Mbps throughput) fileserver performance is enough, RPi is just fine. About 3.5 MBps over ssh, like when using for example sshfs. For comparison, 3.5 MBps more than enough to saturate "54 Mbps" 11g for example, which can do 24 Mbps under ideal conditions (~3 MBps).

You can a blog post about making it ? I am interested in making something similar.

About audio:

The built in line out jacks have just horrible quality. (And I'm someone who doesn't believe in gold cables so for 'audiophiles' it must be torture.) Rather get a USB sound card and hook it up to your pi.

Also try out MPD (Music Player Daemon) if you want a juke box. MPD clients are widely available for any platform - you can sit on the couch and control your pi's MPD with a client running on your phone.

> The built in line out jacks have just horrible quality. (And I'm someone who doesn't believe in gold cables so for 'audiophiles' it must be torture.) Rather get a USB sound card and hook it up to your pi.

The problem is much more likely to be the DAC rather than the audio jack. However using a USB audio adapter may fix that as well as they'd have their own DAC. Earlier in this thread I did discuss another issue with audio on the Pi though: https://news.ycombinator.com/item?id=5969424

> Also try out MPD (Music Player Daemon) if you want a juke box. MPD clients are widely available for any platform - you can sit on the couch and control your pi's MPD with a client running on your phone.

Funny enough I did address that in this thread as well: https://news.ycombinator.com/item?id=5967949

IIRC the analogue audio out on a Pi is fairly low quality: It's a 1-bit PWM signal @ 100MHz. That's about 11bits of SNR for a standard audio input supposedly.

Use the HDMI audio, or a USB audio device if you want decent quality sound out of a Pi.

Indeed. Sadly HDMI audio isn't an option and any of the decent USB audio adapters would either be too bulky and/or too expensive (ie the additional cost renders the saving made by using a Raspberry Pi pointless).

As much as I'm an audiophile at times (less so now than I used to be), this is only being used as an in-car MP3 / FLAC player. My car speakers are much worse than the spec of the Pi's audio chipset. In fact they're not even balanced right so my next job is applying some bespoke EQing to the output in real time (hopefully the Pi will be powerful enough to perform this) to lessen the harshness of the heavy top-end and complete lack of sound in the mid-range frequencies (whoever authorised the inbuilt sound system in my car was clearly death!)

Thankfully I can usually distract myself from the shit sound quality by driving :P But sometimes (usually when really tired) it's too annoying to bare. Which is a pity as I love most other things about that car.

You can pick up a tiny USB sound device from eBay for £1.50 including postage that will probably have better specs than the Pi analogue audio output. It'll get rid of that annoying clicking as well.

If you're tight for space, then that might be a problem, but the cost of these things is negligible these days.

I take it you didn't read my post that you original replied to ;) (I jest because I raised each of those points myself).

Sadly space is the issue. The one I bought (which was more along the lines of £3) sadly pushes the dimensions of the device I'm building much too much. At some point I'm going to have to re-investigate the issue though - as I plan on adding voice control which means I'll need a mic in.

As for sound quality, that's really a non-issue given the it's going in a car with crappy speakers. So there's no point wasting money on a decent audio chip if I can't reproduce that sound accurately. (in an ideal world, I'd throw in some zero frequency curve studio monitors and use my spare Terratec Phase 96 as the Pi's sound device - but then the price really starts to jump. So instead I make do with what I've got)

I use mine as an internet radio using USB wifi/sound cards and MPD:


Things I use my Raspberry Pi for:

* Controlling my TV/AC/other infrared devices around the house: http://www.stavros.io/posts/how-turn-your-raspberry-pi-infra...

* Controlling my garage door/RF sockets/other RF stuff around the house (pretty good range on this, too): http://www.stavros.io/posts/how-remote-control-rf-devices-ra...

* Writing an Android app to make HTTP calls to the Go server that launches the LIRC process, really low latency: http://www.stavros.io/posts/how-turn-your-raspberry-pi-infra...

I was using my pi as an airplay receiver for my hi-fi. I'm not sure if they fixed it yet but the analog out was pretty bad (8kHz mono at the tome) but I know the audio quality could be better. So I stopped that then played Minecraft, now I use it to SSH into my house and WOL my ESXi servers, get the ipmi data from the servers and some simple Node stuff.

This is the Pi B v1 (256MB) I'm thinking about getting a v2 now.

I have a Pi B v1 and it's analogue out is definitely stereo. The problem I had (which is persistent right across their range of boards) is the popping sound that happens at the start of audio because of the voltage change on the chip. There's been some workarounds to try and reduce the severity of the popping (namely building a fast volume change at the start of clips and using an "always on" sound server like Pulse. But annoyingly the only real fix seems to be to using a cheap USB audio adapter. So I've now come to the conclusion that the Raspberry Pi isn't the best development board for audio projects. However for $35, I have no regrets in buying one (in fact I still bought a 2nd one even after learning about the aforementioned issues).

Not of a great help for audio projects but Raspbmc has fixed that popping sound issue in quite a transparent way.

You can't "fix" the popping sound issue in software as it's a hardware issue. What Raspbmc does is use is the PulseAudio workaround that I'd described in my previous post.

I understand, I just wanted to point out it was transparent to the user.

Nice list. With regards to your choice of music player, I know you said you just wanted something easy to set up, but you might be better off with mpd as you can use a whole bunch of different front ends to it; from web front ends and native binary GUIs, through to command line clients. There's even smartphone apps, so you can use your phone or tablet as a remote control to your hifi.

I am using my Raspberry Pi to record temperatures and humidity in my apartment. After recording I generate nice charts using the HighCharts library: http://thule.mine.nu/html

How I did it: http://thule.mine.nu/html/about.html

I use mine as Minecraft consoles for my kids. The next step is to teach them Python and the API and let them modify their games.

I'm surprised No Starch or PeachPit haven't brought out "Minecraft Modding" books. They'd make a freaking fortune.

Minecraft modding is changing far too fast, by the time a book was written, edited, and published, it'd likely be largely obsolete, by my judgement. In fact just today the release of Minecraft 1.6 has pretty much obsoleted "jarmods" (direct replacement of classes in the minecraft.jar) by Mojang's new launcher, not to mention a brand new resource pack system obsoleting texture packs, as well as a large amount of internal refactoring.

This pattern has repeated throughout Minecraft's release cycle. Though with Minecraft 1.0 it is no longer considered in "beta", each major version has brought incompatible changes. Mojang doesn't use semantic versioning, needless to say. Had a book been written around 1.2, it would have undoubtedly focused on the singleplayer/multiplayer split, and the steps needed for modders to develop SSP-only or SMP-compatible mods, but this distinction was blurred or eliminated in 1.3. 1.3 was mostly a dead zone for modding, only to come back in 1.4. With 1.4 we saw the introduction of new server implementations or administration mods, combining either analogous functionality or proper support for both leading modding frameworks, Forge and Bukkit (including MCPC+, BukkitForge, ForgeEssentials, etc.).

Modding toolkits come and go: about a mere year ago, you might be modding with ModLoader, ModLoaderMP, AudioMod. Or pure Minecraft Coder Pack (MCP), with no APIs. Or lesser-known custom APIs. Nowadays, Forge ModLoader has basically taken over ModLoader, and many modders have been moving to Forge for compatibility and other reasons. IndustrialCraft, BuildCraft, Mystcraft, Forestry.. all leaders in the Forge modding world. But there are still factions of modders sticking with Risugami ML, or even using raw jarmod edits like Better than Wolves. Not to mention - server-only "plugin" development using Bukkit is almost a completely separate community. You have the vanilla original CraftBukkit server implementation, then performance-focused forks like Spigot, or other forks with their own goals like SportBukkit, Libigot, or the mod-compatible MCPC+.. each with their own benefits. Fortunately most have similar plugin compatibility, but a few add new APIs, or otherwise change Minecraft behavior..

Bottom line, Minecraft modding is a hodgepodge of often-incompatible rapidly-changing frameworks, built on an unstable rapidly-changing foundation (which is obfuscated and has to be reverse-engineered each release, nonetheless). There have been advancements to streamline this problem, and it is getting better, but we're not out of the woods yet. Even tutorials you can find online for modding – such as on the Minecraft Forge wiki, are frequently outdated. A book would even be more so.

Nonetheless, I think you're right, it would be very nice if someone could pull it off, putting out an informative yet updated book on Minecraft modding. Maybe things will settle down and stabilize after the infamous Mojang modding/plugin API is released.

I use mine as an always-on home print server. I might come up with another good use case for it later, but I'm good for now.

RE: file sharing/local NAS

Do any of you guys experience a bottleneck on the RPi's 100Mbps nic?

Thanks tuananh, I was wondering this. I've been debating between an RPi or a WD My Book Live.

My Hdmi doesn't seem to work on my pi anymore. Should I get a new one?

There's plenty of uses for Raspberry Pi that doesn't need video output. Install a SSH server and run it headless.

Alternatively use composite video out. Raspberry Pis are cheap, so getting another Model B (or Model A) for HD video output isn't a big deal..

I'm not sure what you wanted to accomplish with this post. There's very little you can repair on the Pi, so unless there's an obvious broken solder joint, probably.

That said, there are alternatives to the Pi around if you require more power.

I trid ZoneMinder on raspberry as security camera, but it lags a lot

Zoneminder grinds my dual-core Atom to a halt. Try 'motion' for a simpler system (well, simple if you like config-file setup) with about 25% of the CPU usage. Plus, the viewing interface is just 'cd /motion; ls *avi' rather than the slow and clunky web interface of ZM.

It'd be interesting if someone could hack together something like motion, but takes advantage of hardware h.264 encoding. Even if just for still frames.

Is it really a good idea to put your email on a device like a Pi?

What would be the issue? Is it any more likely to go farbot than a more beefy machine (probably less, due to the lack of moving parts). Never mind that the author is using it to backup his email. It would probably run some kind of fetchmail script as a cron job and caching it locally, so that you don't have to keep a full-fledged computer running all the time. And once that's started up, the backup could easily be downloaded, so that you store your data on several machines.

Pretty common setup, people do stuff like this quite often with their routers.

Why not? You can use mdraid on removable devices, which takes care of the single-point-of-failure problem...

Or get a few more Pis and run Tahoe or Ceph ...

considering you can get a fail-over for another 30$, why not?

the pi is a just a tiny computer, the usual rules and best practices apply.

ffs, if you want, you can run a mail server on your _phone_ which has more raw computing power than a pi and similar power consumption.

That'd be an interesting project to further subvert the unlimited data that carriers hate.

But that's the thing, the Pi is based on Cortex ARM architecture which is completely different from typical 'PC' type systems.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact