I’m basically married to Eagle until the end of days, simply because I’m so hopelessly used to it that it would take a pretty darn amazing package at a pretty darn amazing price to convince me to change. That said … there are some things that annoy me (though that’s true of any complex SW package). One of my biggest pet peaves is how hard it can be to find teeny tiny little unrouted airwires. Is Eagle taunting you with 1 remaining airwire and zoom as you might you can’t find it? I used to turn every layer off except 19, but that’s annoying since I sometimes don’t remember what to turn back on. While Eagle SHOULD have a feature to highlight these airwires … I found a better solution tonight searching for a mystery wire. Zoom back … WAAAaaay back … until your board is teeny tiny. Then select the Route tool and click just about anywhere on your PCB. This should grab the airware, and you can at least get an idea of where it is. Glamourous? Nope. Functional? Yes!
This is a custom case for your Raspberry Pi made entirely out of Lego. It has been designed to protect your Pi, but still allow you to access all the ports while it is in the case. It has a removable lid so you can access the top of the board while it is in the case, with its very own Lego raspberry on top. The lid has the iconic Lego studs allowing you to add your own Lego parts and minifigures to personalise your case. There are even Lego grippers on the inside to stop the board moving around when you are connecting cables. You will receive all the parts required to build the case.
If you want to write an app on the iPhone to control the GPIO pins (or really do anything on the Pi), check out my github repo: https://github.com/davidahouse/PiTalk
Nothing revolutionary, but I’m not sure that a lot of people know about the usbmuxd method for communicating with the iPhone (I know I didn’t). This method also works for the BeagleBone (and really any Linux computer).
And of course I used the Adafruit Raspberry Pi distribution. I think the future I would like to expand the app a bit to include some of the nice features of the Adafruit distribution.
Some time back, I joked that the Raspberry Pi’s GPIO port really stood for Game Port IO… So to make that joke come true, I present a way of interfacing the NES Joysticks to the Raspberry Pi.
First you need the joystick/controller unit, and a quick trip to the Plymouth Market where I’d had a tip that there was a stall selling retro gaming gear and I returned with a pair of them for under a tenner. Bargain!
Today I finished writing the first part of my current project which involves connecting your Thermal Printer to a Raspberry Pi. For this I have written a Qt Class for communicating with the raspberry pi. I thought as you offer both items for sale your customers may like my class (which was inspired by your arduino class).
My next step (almost done!) is to write a Qt app (based on QT WebKit Browser) that can make snapshots of web pages, save them as a image and print them on the printer. With that it is possible to fetch news, images and almost everything and have it printed!
Hope you like my idea and maybe you like to write some lines about it on your blog. I will try to write some documentations and publish it on my webpage (tobiscorner.floery.net) ones I find the time.
We were all planning what we could do to hack some electronics with our Raspberry Pi’s even before they arrived, and a little help in accessing and using those pins on the GPIO connector makes life a bit easier.
In this review, I look at the relative merits of three prototyping boards for the Rasspberry Pi. I use the term ‘Prototyping’ to distinguish them from expansion boards like the Gertboard and Pi Face that have buffers, level converters LEDs and other electronics attached to them. What I am talking about here is the Raspberry Pi equivalents to the Arduino ProtoShield. I.e. something that we can solder our own electronics to, in order to make something.
I’ve been asked to include SPI (and I2C – more on that soon) support for the Raspberry Pi in mywiringPi… However because it’s hard to anticipate exactly what SPI devices you may connect up, it’s hard to provide something specific, so what I’ve done is provide some “helper” functions in a library and a guide on how to use SPI and what it’s all about…
This is a standalone PHP extension for accessing SPI on Linux systems. I have no idea if this will build or work on Windows as I have developed it for my Raspberry Pi
Github user Frak is doing some interesting stuff combining low level Raspberry Pi interfacing with PHP – perhaps for web-server-based Light painting?
Okay, so if you were going to make a simple LED 4 digit clock, you probably wouldn’t start with a Raspberry Pi. But I wanted to test out I2C on the Pi and Adafruit’s I2C LED displays looked like a good bet. I also used a level converter to convert the Pi’s 3.3V I2C to the 5V I2C required by the LED module.
A neat Arduino inspired library has come together over at Gordons Projects:
Wiring is the core of the input and output for the Arduino, so I thought it would be good to replicate that functionality (or a good usable subset) on the Raspberry Pi.
WiringPi is a Wiring library written in C and should be usable from C++ and many other languages with suitable wrappers.
WiringPi supports both an Arduino style pin numbering scheme which numbers the pins sequentially from 0 through 16, as well as the Raspberry Pi’s native BCM GPIO pin numbering scheme.
WiringPi normally uses a very low-level mechanism to access the underlying hardware – this results in very fast access, however the down-side is that your programs need to be run as root, so in addition to this, wiringPi has the ability to use the traditional /sys/class/gpio/ style interface, and if the GPIO pins have been exported and had their ownership changed appropriately, then applications using the wiringPi library, can be run without root privileges.
Some of the fancier library functions are:
shiftIn/shiftOut
Serial port handling (both on-board and USB
LCD Library
Simplified threaded programming and process priority control
One of the tasks I want to use a Raspberry PI for is to take over the duties of an existing ITX based linux box running my weather station. Now in theory that should be pretty simple as the current setup uses pywws to connect to the station and as that’s written in python it should work.
Now the Raspberry PI has no onboard Real time clock – which means it needs to use an NTP server to get the time when it starts. Usually you would use the default settings and allow the PI to connect to thenet for it’s time. Now this is fine if you have a working net connection but what if you are not connected to the net? You might be in the field running the PI on batteries.
As the other projects I have lined up for it is to connect my Meade LX200GPS telescope to the local network or to work with my (in prototype) radio telescopes so having an accurate clock is going to be required.
Now the obvious solution here is to use GPS as a time source. GPS works by having a constellation of satellites in orbit and each one carries a highly accurate atomic clock & broadcast both their current position and the time. A GPS receiver then receives these signals and, as long as it has enough satellites and workout where you are by comparing the times from those clocks.
So this article shows how to use A GPS receiver with the Rasperry PI – although these instructions are not specific to the PI.
I’ve been trying to get back into video a bit after an exceptionally long absence, and was extremely happy that I took some advice from Adafruit’s always knowledgeable video editor at large — Becky Stern. I saw a Manfrotto Magic Arm in a video she posted and grabbed one off Amazon. When I snapped the magic arm onto my desk I found myself asking myself a question I’ve asked dozens of other times using Manfrotto heads, tripods, adapters, etc., for the first time: “Would Manfrotto hire me as an unpaid intern for like 6 months to a year?”. I’m always amazed by the mechanical and aesthetic quality of their stuff, and the attention to detail that goes into it. I’ve had some issues … the feet on the 127VS dolly I also picked up this week are too low and catch easily on stuff … but it’s still rare to find products that are so consistently well manufactured and well designed. So … magic arm, Adobe Production Premium, and a (very) empty wallet in hand, video tutorials here I come!
I’m hardly an expert at this stuff (not even very good at it) … I just find it fun sometimes to get my hands dirty doing something creative that doesn’t involve PCBs or C. But I thought it’d be fun to post some photos of my setup as I try to dust a lot of neglected gear off, and remember some of the basic editing stuff that’s long since seeped out my ears. I figured: What engineer type doesn’t like some shameless gear talk every now and then!? Have any favorite piece of equipment yourself (video, audio, editing, etc.), or maybe just some tips? Post em up in the comments below!
While I rarely work with signals much beyond 100MHz (SDRAM, etc., usually being the limit), it never hurts to try to improve your understanding of high speed layout. By far the best book you can buy on the subject is High Speed Digital Design: A Handbook of Black Magic by Howard Johnson and Martin Graham. That said, I found myself routing some USB signals that I wanted to have matched since the USB connection is high speed, and after routing the board I took a look around to see what advice I could find before signing off on that part of the board. There are some excellent replies over on stackexchange to “How should I lay out timing matched traces“, with a valuable reminder to step back and consider the scale of your board, and that 1mm length on your PCB probably equals about 5 picoseconds in reality!. Sometimes is helps to just zoom out, look at something at life size, and realize how small that little green board really is! The other good source of information I found was Board Design Guidelines for PCI Express Architecture. Some very good tips on layout and real-world technical considerations that aren’t always cleared explained in more academic texts. Any suggestions yourself? Feel free to post them in the comments below. I’m as happy to find new sources of expert advice as anyone!
As a sidenote, the new Meander tool in Eagle 6 is very useful for this. You can use it to click on a trace and it will tell you the exact length, which makes it much easier than having to type ‘run length-freq-ri.ulp’ in Eagle 5 and try to find your trace in the other 300 listed by name!