The easiest way to connect a GSM module to a Raspberry Pi would be to buy a breakout module, install some software, and connect to a mobile network with a Pi. Need GPS, too? That’s a whole other module, with different software. The guys behind RasPiCommPlus are working on a better solution – a breakout board for breakout boards that takes care of plugging a ton of modules into a Pi and sorts out the kernel drivers to make interfacing with these modules easy.
Right now, the team has a GPS and GSM module, digital in and out modules, an analog input module, and RS-232 and -485 modules. They’re working on some cool additions to the lineup, including a breakout for Sharp memory displays, a 9-axis IMU, a stepper motor driver, and a 1-wire breakout module.
Some of the RasPiCommPlus team showed up to the Hackaday Munich party and were kind enough to sit down for a demo video. You can check that out below.
34 thoughts on “RasPiCommPlus, An Expansion Board For Expansion Boards”
Wouldn’t bandwidth be an issue? I recall reading that it is not possible to have mid to high speed interfaces through the rpi gpio pins.
there’s other interfaces on that header than just GPIO you know. there’s i2c, spi, and uart.
We use the SPI interface running at 4 MBit currently, higher speeds are possible. So interfaces like RS-232, RS-485 and GPRS data links are no problem at all, even if they are all running simultanously.
Unless someone wants to use the full 16Mbps rs485…
This is very similar to other options, but 4 times the price…. ;-)
I’ll pass, but there are likely a few people who won’t notice the difference at first.
I was able to toggle the GPIOs on the Raspberry Pi 50 million times per second to create a 25MHz square wave. That’s pretty darn fast. In order to achieve this however you must bypass Linux’s SYSFS by ‘mmaping into /dev/mem’.
I never got used to all these adapter Ideas. So there are a couple of Extensionboard available by these guys, that I have to purchase to fit them into the master Shield, right? When I want to use a not supported chip/sensor/breakout I have to wait for them to make a Module out of it or I have to spin a board for this one module. How is that practical in any way? I will just limit myself with another proprietary solution. I understand that it is pretty cool to push something into a conenctor and everything runs. But this will also mean that I can now choose from a handfull of modules and have to wire out special and new modules still by myself. What am I missing? At least for me those solutions are not suitable if I want to stay flexible in the choice of my modules.
Well, we will provide the basic layout for designing own modules, and the schematics too. all the software is open-source. but how much less proprietary is the GPIO header of the Raspberry Pi itself if you want more than 1 breakout board? here is a current list on modules we are working on: Digital I/Os, Analog Input, RS-232, RS-485, CAN bus, stepper motor controller, H Bridge Controller, Relays, GPS, GSM, 1-wire, 433MHz, 6LowPAN, zigbee, KNX, 3-axis accelerometer, gyroscope and magnetometer and Sharp Memory LCD. A RTC is on the mainboard. So I think you can say it’s a good hand full.
The I2C is available as a connector and not used, So any breakout boards using i2c can be attached here.
The thing is, from needing a serial port, digital IOs, possibly GPS and cellular to having a working design is a long way. Here it is just plug and play and you’ll have /dev/tty… devices apprearing and ready to use. What would be your approach to that?
“When you run the ./rpc-setup.sh script, it requests two firmware packages by sending a request with the ARM processor and the plugged-in modules to our server.”
What I’m seeing here is that your hardware becomes useless after you’ve gone out of business and shut down your server.
Nope. You have access to the source code too (BSD license, so do what you waht with it), and if you want you can compile it on your machine and program it yourself. The thing with the server-side compilation makes it just more convenient, but you do not need to use that.
Sort of like the Apple II, expansion slots! Maybe in the (near) future, various manufacturers of cheap processor development boards will include several of these connectors in their offerings. But only if it is open source.
With “several of these connectors” you wont have “cheap processor development boards” you will have “expensive processor development boards”
Maybe I have to clearify a bit: All the required logic and processing is done on the mainboard itself, so you actually can make cheap addon modules for this platform without requiring an extra processor. It is not just an adapter board, it has an ARM processor and a CPLD which handle the communication for you. So you really can make a cheap addon board with just I/Os or an uart and no extra logic,
I read it as “an actual computer” :P Next up ISA and PCI slotted break out boards lol.
Yes Ren, our idea was exactly that. And we will help others building such extension boards. And of course it is open source.
Yep, we’re one of those others…. although the design has fundamental design problems, you have to admit the presentation is nice.
I didn’t follow it close enough, does it provide high current for devices (e.g. relays, motors, transmitters, tons of LED’s)
the 8 digital output module can drive up to 35V and 125mA on each channel simultanously.. The 4 relay module more of course. The H-bridge board can drive loads up to 2A and 28A (4 channels/module)
Yeah you can run high current motors simultaneously and good readings from the magnetometer and the ADC
in your dreams
What is “high current” to you? 125mA is probably not high current. The stepper and H-Bridge module need an external power supply and we also have isolated versions with optocouplers too. You’re right, it is not fool-proof in any aspect, I worked in the automation industry for the last 14 years and also designed electronics and ADCs with nearby motors is not an uncommon problem. But with the isolated modules you can bring it down to crosstalk and electromagnetic problems and thats sure solvable.
This solution is already in use in several companies testing it in automation and measurement control. They like it. And it sounds more like you just do not like the concept and I’m ok with that.
What are you looking for in a $35 small scale computing platform? Industrial Grade controls? I expect that with opto isolation you can do that, but if you’re looking to launch a space shuttle from a Raspi and some add on boards, I think you miss the point.
Nice effort guys. Over my head for some of it (right now) but if you wait until every little problem is solved and every person is satisfied by the time you take your project to market it will be obsolete. Keep up the good work.
There’s obviously no market for this — if you wanted to run several expansion boards simultaneously, you would’ve bought a Beaglebone Black, right?
(Only slightly trolling. But really, stackable capes, per-cape ID EEPROMs, devicetree… this is a solved problem!
Is it? How about 4 serial ports on the Raspberry Pi? That is not stackable. (We are working on a Beaglebone version of the board too) The thing is, you’ll almost always have conflicting resources (UART, SPI, I/Os). Have you tried to have a GPS, GSM, RS-232, RS-485 and a real-time-clock on the Raspberry Pi? Pretty difficult, and not solved as far as I know until now. (excluding USB stuff).
I chatted with these guys at the Hackaday Munich event (they were awesome) and had the exact same thought. This is simply a fix to an existing widespread board and the fact that they are tacking on an STM32 + CPLD means it kind of takes on a life of its own. In the future, I recommended they do something like a beagleboard add on and they mentioned it may already be in the works (free beer at the event clouds my memory on how for-sure that was).
It was really great to talk to you at the Hackaday event in Munich!
Yes, a beaglebone cape is in the works. But I do not agree that it does not fix a lot of things simply not achievable by the standard breakout board approach. Besides the simplicity (which would be a reason alone for me personally especially when I do not think of my time as free of cost) it provides kernel mode drivers which are key to reusing existing linux libraries for example. Imagine that you want to use the linux modbus library and communicate to RS-485 slaves. Ok, you buy a breakout board that has a RS-485 transceiver connected to the UART of the Raspiberry Pi. Then you can use the library to interface with the /dev/ttyAMA0 device. Now, you have another RS-232 device with a linux driver software. The UART is used, what you need now is a breakout board with a SPI-UART bridge. Good, but hopefully this one has linux kernel drivers and not an API (which is pretty easy to do) since you need a tty device for the driver to work. But if you need anything else you’re out of options. The SPI is now blocked (yes, you have another chipselect, but you cannot use it when the kernel driver is loaded). With our approach you can plug in for example the GSM module additionally and just load the pppd deamon and you have a dial-in connection. 5 lines of configuration file, thats all. Then you can load up our webserver (provided as a Github project) and switch I/Os over the cellular network. Just one example, I have dozens. As soon as your project is not a hello word thing it gets pretty messy.
It is of course true that you can buy a USB hub and connect a USB modem, and USB-serial converters and you have the same functionality. Not elegant but possible. If you get the drivers working on the Pi.
And at the end, you probably want a case for it (which gets difficult with the USB approach). We are currently also working on an parametrizable SCAD case generator (not long until finished) where you can generate a case with openings for the module configuration you want and print it (or send it to Shapeways). We were also talking to a case maker at Electronica who is currently working on a case design for us, from plastic to metal with DIN mount.
True, there are probably a lot of easy projects which do not need that. But back when I wanted to build some stuff I had to pretty much spin a new board for each solution and write code for it. Do a 1-wire, RS-485-4 wire (which is full duplex and used by some closed loop stepper motor controllers, from Nanotec for example) and RS-232 combination and you are probably out of luck with breakout boards.
If you wanted GSM why wouldn’t you use a USB modem? You get 3G then too and theyre so common you can get used ones for spare change and new ones thrown in with prepaid data bundles (at least in the UK).
Since all GPS modules pretty much just spit NMEA sentences out on the UART with AT commands for config you don’t exactly need software to run them.
I do get the usefulness of a backbone that can take modules which are all compatible in any configuration. But these sorts of thing often don’t get near the price point of the China modules which to use you only have to know the things you should learn if you’re dealing with low level hardware anyway!
Sure, you can use an USB modem and USB to serial converters too. For some application that is good. If you are doing your blinking-some-leds via SMS or one-off garage door opener you probably would not use the RasPiComm+. If you need a case (we do a case generator currently) with an accessible Ethernet port, space-and-power constrained applications (GSM shutdown feature on our module for example), or anything that needs real-time control (eg. fast response when a message comes in, for example in machine control) or often changing setups with variing or optional features, you can use the RasPiComm+..To explain the real-time thing: Since you can program the ARM processor on the RasPiComm+ you can do real-time applications without involving the Raspberry Pi,
Interesting, so it’s more like an ARM dev board with plug in modules made to sit on top of the raspberry pi?
Sounds like with a few multiple motor driver type modules, servo breakouts and a whole load of sensor modules it could be useful for people making different types of robots!
Yep. I clearly see I communicate it wrong…there actually is quite some complex software behind it to channel all the communication streams from the modules throigh a CPLD and into the ARM processor (STM32) and further to the Raspberry Pi. And a modular kernel driver is splitting up the data stream and dispatches it to tty and other device drivers. And you can tap in on any point and develop software, on the ARM, CPLD or on the Raspberry Pi.
But the majority sees an adapter board.
Have to communicate that better…
Looks like a great idea some other cool things you guys could do are SD radio, epaper driver, FPGA. The possibilities are endless. Pretty much any Arduino shield and more due to the higher horsepower of the Raspi. I really dig this.
What if you want to run more than four modules at once? Is this thing stackable, could you add another backbone and four more modules?
wondering why the shipping cost is so high ?
I suspect that is why almost no-one is signing up
Is this a joke listing? No movement on Indiegogo at all after HaD appearance?
I must agree that 50k goal reveals a very “European” way of looking at the reality surrounding oneself. I once had a centro phone (2007 era) stolen from my pocket in Paris and when I called my own number to ask for it back the person wanted 700 euro. The land of the dreamers shapes one’s perespective of life hence the 50k goal IMHO
A whole bunch of campaign updates and tutorials! Check them out!
Please be kind and respectful to help make the comments section excellent. (Comment Policy)