The Pi 2 Means Faster GPIO

The Raspberry Pi is a great machine to learn the ins and outs of blinking pins, but for doing anything that requires blinking pins fast, you’re better off going with a BeagleBone. This has been the conventional wisdom for years now, and now that the updated Raspberry Pi 2 is out, there’s the expectation that you’ll be able to blink a pin faster. The data are here, and yes, you can.

The method of testing was connecting a PicoScope 5444B to a pin on the GPIO pin and toggling between zero and one as fast as possible. The original test wasn’t very encouraging; Python maxed out at around 70 kHz, Ruby was terrible, and only C with the native library was useful for interesting stuff – 22MHz.

Using the same experimental setup, the Raspberry Pi 2 is about 2 to three times faster. The fastest is still the C native library, topping out at just under 42 MHz. Other languages and libraries are much slower, but the RPi.GPIO Python library stukk sees a 2.5x increase.

Use Ruby to Make Any Window A Blinken Window

[Akhil Stanislavose] wanted to spice up his window decorations for the holidays. Inspired by blinkenlights, he decided to make his front window interactive. The Blinken Window is a grid of 6 x 10 programmable LEDs running on a Raspberry Pi. Since a RasPi doesn’t have enough GPIO pins for 60 LEDs, [Akhil] built an expander board using 8 daisy chained standard CD4094 (74HC595 could also be used) shift registers to accommodate them.

[Akhil] designed a PCB to replace the expander board for future use. It is modular in nature so that many of them can be connected together to provide as many outputs as one needs, allowing any size window to become a Blinken Window. The PCBs are still being fabricated, but the Eagle files are available for download (zip file). Ruby was used to implement the API. You can find the project files on GitHub, which also features a simulator that you can run on your computer to see how an animation or game will end up looking on the window. In the demo video, [Akhil] demonstrates how you can use the Blinken Window to play a version of Pong using your smartphone as the controller. [Akhil] has also provided a few basic animation examples that can be expanded upon. We’d enjoy seeing an implementation of Tetris. There’s so many fun ways to turn regular windows into dynamic displays, we’re starting to look scornfully at our own lazy, air leaking windows.

See the Blinken Window in action after the break.

Continue reading “Use Ruby to Make Any Window A Blinken Window”

HamRadioTweets Gets the Word Out

In times of crisis, or extreme government control, it can be difficult to spread critical information to people who can help. A good example of this was during the Arab Spring in 2011. When your Internet connection is taken away, it can feel as though all is lost. Unless you have a ham radio, that is.

For many people the thought of ham radio conjures up images of old guys twisting knobs listening to static, but it’s actually come a long way in our modern digital age. For example, you can now send tweets via ham radio. This project was actually started in 2011 by [Bruce Sutherland]. The Egyptian government had shut down the country’s Internet access after citizens were posting information about the extreme violence they were facing. [Bruce] wanted a way to help  others get the word out, and he came up with HamRadioTweets. This system allows a user to send tweets via ham radio.

The system actually piggybacks off of a ham radio service called APRS. This service is most often associated with GPS tracking systems, such as those found in nearspace balloons, but it can also be used to send simple text messages over the air. APRS works thanks to the vast network of receiving stations setup all around the world. These stations can receive messages and then re-transmit them, greatly extending the reach of the original transmitter. Some of them are even hooked up to the Internet to get the messages to go distances that would be extremely difficult and unreliable by traditional means.

[Bruce’s] system hooked into the Internet component and watched for messages being sent specifically to “TWITR”. The Python based system would then read these messages and re-transmit them over Twitter. The project died out a while back after Twitter updated their API. Now, it’s been rebuilt on Ruby by [Harold Giddings]. The project website was handed over to [Harold] and he is currently maintaining it. Hopefully you’ll never need to use this software, but if the time comes you will be glad it’s available. You can watch [Harold] bounce an APRS message off of the International Space Station and on to Twitter in the video below. Continue reading “HamRadioTweets Gets the Word Out”

FlowPaw, the Bear Paw of Electronics Education

If the astonishing success of littleBits is any indication, there’s a huge market for ‘intro to electronics’ products that are much more capable than the classic Radio Shack ‘springs and components stuck to cardboard’ kits or even the very successful littleBits. FlowPaw is the latest entry in this space, combining the sensor module paradigm of littleBits with a largish microcontroller, digital and analog pins, and a great programming interface.

The big innovation in the FlowPaw is the FlowStone programming language. It’s a graphical programming language that allows young creators to connect blocks, modules, and functions together with virtual wires, but also allows the editing of different modules with Ruby. Best of both worlds, there.

The FlowPaw kickstarter includes rewards for just the FlowStone software, or the FlowPaw electronics board with a bunch of modules. Already, the team has LED, relay, accelerometer, buzzer, and capacitive touch sensors, along with a Bluetooth and speech recognition module. They’re working on a few more advanced modules for GPS, pressure, DC motor control, and RFID as well.

Get Phone Calls Answered with the Moshi Moshi

Moshi Moshi

Have a significant other that isn’t the best at picking up the phone? [Aaron] was having a hard time reaching his wife, so he hacked up a solution. The Moshi Moshi detects calls from [Aaron], and plays music to get her attention.

A remote server running Asterisk picks up the call and uses a Ruby script to log the call. Every ten seconds, an Arduino Due with an Ethernet shield polls a Sinatra web server to see if a call has arrived. If a new call has come in, a music loop is played. Getting the Due to loop audio was a bit of a challenge, but the end result sounds good.

Quite a bit of tech is brought together to make the Moshi Moshi, and all the code is provided in the write up. This could be helpful to anyone looking to combine hardware with the Asterisk PBX. After the break, [Aaron] shows us how the system works.

Continue reading “Get Phone Calls Answered with the Moshi Moshi”

Siri controlled Arduino using Ruby


This snippet of Hello World code lets [Nico Ritschel] turn the Pin 13 LED on his Arduino on and off using Siri, the voice-activated helper built into iPhones. The trick here is using the Ruby programming language to get Siri Proxy talking to Arduino via the USB connection. He calls the project siriproxy-arduino.

On one end of the hack resides SiriProxy, a package not approved by Apple which is capable of intercepting the Siri messages headed for Apple’s own servers. The messages are still relayed, but a copy of each is available for [Nico’s] own uses. On the other side of things he’s building on the work of [Austinbv’s] dino gem; a Ruby package that facilitates control of the Arduino. It includes a sketch that is uploaded to the Arduino board, opening up a Ruby API. The collection of code seen above defines the pin with the LED connected and then listens for a specific Siri commands to actuate it.

Take a look at [Nico’s] explanation of the module in the video after the break.

Continue reading “Siri controlled Arduino using Ruby”

Creating a decadent, insane, and depressed robot from Internet ramblings

Have you ever wondered what a Tumblr written by a psychotic robot would look like? Wonder no more, because [Lars] has that all figured out.

A few years ago, [Lars] stumbled across (now defunct, but mirrored here), an online confessional and bathroom wall meant to host people’s most private thoughts and actions anonymously. [Lars] wrote a script to pull a random lowbrow post down every minute and threw every unique result into a database.

With about 50 pages of the most depraved and depressing posts of questionable veracity, [Lars] trained a Markov chain algorithm to produce paragraphs that imitated the style of lowbrow contributors. This gave [Lars]  pages of computer-generated text describing the most decadent, depressing, insane, inane, but overwhelmingly human experiences possible. A few choice quotes from the output are:

The llama: nature’s random number generator.

Over 7000 watts of Ol’ Barry whining his ass cheeks to soften the blows.

All through school I was being pulled behind the local St. Benedictine  Monastary where I was afraid I don’t know what I thought was the founder pulls back from a discussion about

While [Lars]’ script wouldn’t pass a Turing test, we’ve met people who couldn’t do the same. As far as creating a real-life version of Hedonism Bot, HAL, and Marvin from Hitchhiker’s Guide, we’re thinking [Lars] hit the mark.

After the break you can check out a gallery of pics [Lars] put together of from his computer-generated text. You can also grab the full lowbrow corpus and the ruby script to build your robotic [Kerouac].

Continue reading “Creating a decadent, insane, and depressed robot from Internet ramblings”