66% or better

Building The Slimmest Raspi

slim_pi

[Colin], AKA [Domipheus], was working on a project to monitor a thermostat with a wall mounted Raspberry Pi and a touchscreen. Simple enough, but the Pi has a problem: The plugs are all around the perimeter of the board, and with a TFT touch screen shield, it’s a bit too thick to be wall mounted. What followed is a hack in the purest sense: [Domipheus] removed and relocated components on the Pi until the entire Pi/display stack was just a hair over 10mm tall.

A Raspberry Pi Model A was used for this build, meaning the Ethernet jack was gone, and there was only a single USB port to deal with. Still, the highest components – the RCA and audio jacks – were too tall and needed to be removed; they weren’t going to be used anyway.

After these components were gone, [Domipheus] turned his attention to the next tallest parts on the board: fuses, caps, and the HDMI port. For fear of damaging the surrounding components when removing the HDMI connector the right way, this part was simply hacked off. The large tantalum cap near the USB power connector was removed (it’s just a filter cap) and the large protection diode was moved elsewhere.

Slimming down a Pi is no good without a display, and for that [Domipheus] used this touchscreen thing from Adafruit. Things got a little complicated when the project required the ability to remove the LCD, but you can do amazing things with a DIP socket and a file.

The end result is a Raspberry Pi with touchscreen display that’s just a smidgen thicker than a CD case. It’ll fit right up against a wall in its repurposed enclosure, and the end result looks very professional.

[Thanks Luke via reddit]

The Raspberry Pi Model B+ Is Here (Again!)

raspberry_pi_Pi_side_01_ORIG

Depending on who you believe, yesterday someone either broke an NDA or was the lucky recipient of an Element 14 shipping error. Nevertheless, we were lucky enough to get a glimpse at the new Raspberry Pi Model B+. Today, everything is live, and Adafruit has a great teardown of what’s new, what’s changed, and what’s completely different in this new board.

The biggest question about this new Pi was the CPU: the Broadcom SoC in the models A and B are looking a little long in the tooth right now, and an upgraded CPU would be a very, very welcome addition. There is no change. This is the same 700 MHz Broadcom chip with 512MB of RAM. There will not be a ‘magical, because you’re awesome’ RAM upgrade the original Model B saw early in production, either – there simply aren’t enough address pins in the SoC.

Despite not having an upgraded CPU, there are some neat features that addressed the complaints of the original Pi: The standard sized SD card socket is replaced with a microSD card socket that won’t stick out over the edge of the board. The ports are rearranged, with the analog video out on a TRRS plug with the audio. There are now four USB ports and an Ethernet port thanks to this chip, and mounting holes galore: they’re M2.5 holes in a square 58mm wide and 49mm high. Also included in the B+ is a completely redesigned power supply – the jumbo linear regulator is gone, replaced with an all-around better power supply.

The biggest change for anyone looking making a project with the Pi is the expanded GPIO header. This is a 40 pin header, with the ‘top’ pins identical to the original 26 pin header. Yes, all your existing Pi plates/shields/whatevers will still work. The new pins on this header include nine more GPIO pins, the I2S pins for the Wolfson audio card, and a pair of pins for an ID EEPROM. Connections to an ID EEPROM have been a feature of the BeagleBone for a while now, and this will allow the Pi to configure the appropriate I/Os and kernel modules at boot, depending on what Pi Plates are attached.

The best part about this is the price – it’s the same as the OG Model B. Using the same case as you old Model A or B is out of the question, but that’s totally what Kickstarter is for, right? You might want to grab one of those, because this is probably going to be the form factor for the upgraded Raspberry Pi 2.0 that will probably be released in a year or two.

Introducing The Raspberry Pi B+

rpi-b-plus

Click to embiggen

It looks like Element 14 screwed up a single shipment, because some lucky soul just received an unreleased model of Raspberry Pi. If you can believe the silkscreen, it’s called the Raspberry Pi Model B+, and while we have no idea what the chipset is, the layout and peripherals look pretty cool.

From the looks of it, this new board features four USB ports, a new, 40-pin GPIO header, and more screw holes that will allow you to secure this to anything. The analog video out is gone, and the SD card connector – a weak point of the original design – might be replaced with a microSD connector. Oh, every Raspi case that has ever been made? They won’t work.

Without booting this Raspi B+ there’s no way of knowing what the chipset is on this new board. The smart money is on the entire SOC being the same: basically, what you’re looking at is the same as a Raspberry Pi Model B, only with a few more ports.

There is no clue when these improved Raspis will be available, but the word “soon™” will probably appear on the Raspberry Pi blog shortly.

Thanks [John] for the tip.

EDIT: [feuerrot] is smarter than me and mirrored all the images in an imgur album.

 

Easily Turn Your Raspberry Pi into an FM Transmitter

RasPi FM Transmitter

Have you ever wanted to be your own radio DJ? [Kevin] has made it easier than ever with his Raspberry Pi FM Transmitter program. The program is written in C. [Kevin] has made source code is available along with a compiled binary.

PIFM allows you to load up any audio file and specify a frequency to transmit. The program will then use PWM to modulate the audio sample through the Pi’s GPIO4 pin. [Kevin] claims that the RasPi alone will only transmit around a 10 cm distance. He says that making a simple antenna out of a jumper wire can increase the distance to around 100 meters. All you have to do is hook up the wire to the GPIO4 pin to drastically increase the range.

The legality of such a transmitter will vary from place to place, so be sure to check out your local regulations before you go transmitting audio on regulated frequencies. If this kind of thing is interesting to you, you may want to investigate ham radio. It’s not all Morse code and old fogies. Some people claim it’s a hacker’s paradise.

[via Reddit]

How to Upgrade Jasper’s Voice Recognition with AT&T’s Speech-to-Text API

Jarvis upgrade

Jasper is an open-source platform for developing always-on voice-controlled applications — you talk and your electronics listen! It’s designed to run on a Raspberry Pi. [Zach] has been playing around with it and wasn’t satisfied with Jasper’s built-in speech-to-text recognition system. He decided to take the advice of the Jasper development team and modify the system to use AT&T’s speech-to-text engine.

The built-in system works, but it has limitations. Mainly, you have to specify exactly which keywords you want Jasper to look out for. This can be problematic if you aren’t sure what the user is going to say. It can also cause problems when there are many possibilities of what the user might say. For example if the user is going to say a number between one and one hundred, you don’t want to have to type out all one hundred numbers into the voice recognition system in order to make it work.

The Jasper FAQ does recommend using the AT&T’s speech-to-text engine in this situation but this has its own downsides. You are limited to only one request per second and it’s also slower to recognize the speech. [Zach] was just fine with these restrictions but he couldn’t find much information online about how to modify Jasper to make the AT&T engine work. Now that he’s gotten it functional, he shared his work to make it easier for others.

The modification first requires that you have at AT&T developer account. Once that’s setup, you need to make some changes to Jasper’s mic.py module. That’s the only part of Jasper’s core that must be changed, and it’s only a few lines of code. Outside of that, there are a couple of other Python scripts that need to be added. We won’t go into the finer details here since [Zach] goes into great detail on his own page, including the complete scripts. If you are interested in using the AT&T module with your Jasper installation, be sure to check out [Zach's] work. He will likely save you a lot of time.

 

Controlling RC Toys With The Raspi

signal

An interesting trick you can do with a a fast CPU and a GPIO pin mapped directly to memory is an FM transmitter. Just toggle a pin on and off fast enough, and you have a crude and kludgy transmitter. [Brandon] saw a few builds that turned a Raspberry Pi into an FM radio transmitter and realized a lot of toy remote control cars use a frequency in the same range a Pi can transmit at. It’s not much of a leap to realize the Pi can control these remote control cars using only a length of wire attached to a GPIO pin.

The original hack that turned a Pi GPIO pin into an FM transmitter mapped a GPIO pin to memory, cycled through that memory at about 100 MHz, and added a fractional divider to slightly adjust the frequency, turning it into an FM transmitter. Cheap RC cars usually listen for radio signals at 27 and 49 MHz. It doesn’t take much to realize commanding RC cars with a Pi is possible.

The only problem with this idea is that most RC cars use pulse modulation. For an RC transmitter to send the command for ‘forward’, a synchronization pulse is sent, then a series of pulses and pauses. The frequency doesn’t change at all, something the originally FM code doesn’t do. [Brandon] realized that if he just moved the frequency up to something the RC car wasn’t listening to, that would register as a zero.

All that was left was to figure out the command codes for his RC truck. For this, [Brandon] decided brute force would be the best option. Armed with a script and a webcam, he cycled through all possible combinations until the webcam detected a moving truck. Subtlety brilliant, if you ask us. Of course more complex commands required an oscilloscope, but now [Brandon] has a git full of all the code to control a cheap RC car with a Pi.

Original NES Guts Upgraded with RetroPie

NES RetroPi

If you have an old broken NES lying around and have no idea what to do with it, you may want to check out [snoius's] latest project. He replaced the guts of his old NES with a Raspberry Pi. [snoius] started out by removing most of the electronics from his original NES to make room for the Pi. He left the original control panel board so he would be able to use the original power button and power LED. The NES power switch is an on/off toggle switch. [snoius] decided to just route the 5V USB power input directly through this switch. The result is a hard power switch for the tiny computer. The original power LED is wired up to the Pi’s 3.3V GPIO header through a 330 ohm resistor. Now when the Pi has power, the LED lights up.

The next step was controllers. It looks like [snoius] is using some USB SNES controller clones. He wanted to use the original NES controller ports but obviously the NES did not utilize USB. [snoius] used a saw to cut the backs off of the controller ports, leaving a flat surface. He then used a utility knife to carve out a hole in the shape of a female USB port. He mounted some ports in place and then wired the inside up to some short USB cables with male ends. These were plugged into a USB hub that is hidden inside of the NES case.

The Pi is also hooked up to a short HDMI cable and a short power cable. The loose ends of the cables are mounted to a small block of wood. Notches are cut out of the wood to better fit the cable ends. The rear of the NES has two holes cut out where the original connectors used to be in order to accommodate the new connectors.

With all of the hardware taken care of, [snoius] still needed a way to actually play his games. That’s where RetroPie saved the day. RetroPie is a Linux distribution for the Raspberry Pi that is specifically created to make it easy to play old video games. It includes emulators for many old systems including NES, SNES, SEGA Genesis, Gameboy, etc. [snoius] installed RetroPie onto an 8GB SD card and copied over all of the ROMs he could find. The end result is what appears to be an original NES at a glance, but is in fact multiple retro gaming systems in one. It also contains hundreds of video games in on board memory instead of requiring a large library of physical cartridges.

[via Reddit]