This is awesome. However, it looks like this is just a breakout board. So you are still connecting stuff directly to the broadcom ARM chip. Which means it would be pretty easy to damage it.
"GPIO voltage levels are 3.3 V and are not 5 V tolerant. There is no over-voltage protection on the board - the intention is that people interested in serious interfacing will use an external board with buffers, level conversion and analog I/O rather than soldering directly onto the main board."
http://elinux.org/RPi_Low-level_peripherals
Indeed it is just a breakout board. It's really just to make
it more convenient to connect peripherals. I've found for simple things like LEDs, buttons and some I2C components you can get away without additional protection.
I should probably add a little guide explaining what you can do (and more importantly what you shouldn't do). Thanks for bringing this up.
While I'm plugging... It has a big brother in the works over at http://quick2wire.com/ which is pimped out with a regulator, level shifters and protection diodes. This means to address the issues you raise to make it easier to tinker and reduce the chance of damage.
I still wish they had included a few analog inputs and outputs to make it easier to use with sensors. Without that, you basically have to connect it to an Arduino or similar to do anything interesting. It seems kind of wasteful to use the Arduino just for sampling the analog signals and forwarding the data to a more powerful ARM board.
You can use the gpi bits to do A->D and D->A, you could use a USB sound device as analog input (but you are constrained in sample rate choices), in some cases if you strip the input capacitors you'll have level reading capability.
The cheapest way to get A/D is to add a bunch of resistors via a summing network to one input of an op-amp and the other input to the signal you want to measure. The output of the op-amp goes into one of the digital inputs. Binary search across the output bit combinations to find the point where the input bit swings. This you can do for pennies.
Lots of options to add analog without having to add an arduino.
Sounds complicated. Why not use one of the hundreds of I2C and SPI ADC options available on digikey?
A simple PCB in the picrust form factor could implement a high quality multichannel ADC IC, with no microcontroller programming required.
And as a bonus, you'd be able to design it with sane connectorization for your actual application. (eg, appropriate scaling resistor your sensor, tidy two-wire plug or screw terminal, etc)
I'm very pleased that the RPi has stayed focused on not being everything to everyone, and has left these specialized applications to be implemented as peripherals.
Hi,
Great idea, and nice to see a list of supplier links. However, mouser want $39 shipping on the connector (I'm in Australia). I can't find the connector at RS nor element14. Any other ideas??
(Failing that, there are a variety of I2C/SPI to UART chips around. Here's one: https://www.sparkfun.com/products/9981 with SparkFun's usual 1495% markup :)
Nope. We have a lot of applications where we need UARTs to hook together various serial devices which are all assuming they're running high speed TTL serial (or in some cases RS232). This is pretty common, for example, in robotics. We could always hang something off the board -- an FTDI USB chip say -- but it'd have been far nicer to have three more UARTs on the board itself.
"GPIO voltage levels are 3.3 V and are not 5 V tolerant. There is no over-voltage protection on the board - the intention is that people interested in serious interfacing will use an external board with buffers, level conversion and analog I/O rather than soldering directly onto the main board." http://elinux.org/RPi_Low-level_peripherals