Table-Top Self Driving With The Pi Zero

Self-driving technologies are a hot button topic right now, as major companies scramble to be the first to market with more capable autonomous vehicles. There’s a high barrier to entry at the top of the game, but that doesn’t mean you can’t tinker at home. [Richard Crowder] has been building a self-driving car at home with the Raspberry Pi Zero.

The self-driving model is trained by first learning from the human driver.

[Richard]’s project is based on the EOgma Neo machine learning library. Using a type of machine learning known as Sparse Predictive Hierarchies, or SPH, the algorithm is first trained with user input. [Richard] trained the model by driving it around a small track. The algorithm takes into account the steering and throttle inputs from the human driver and also monitors the feed from the Raspberry Pi camera. After training the model for a few laps, the car is then ready to drive itself.

Fundamentally, this is working on a much simpler level than a full-sized self-driving car. As the video indicates, the steering angle is predicted based on the grayscale pixel data from the camera feed. The track is very simple and the contrast of the walls to the driving surface makes it easier for the machine learning algorithm to figure out where it should be going. Watching the video feed reminds us of simple line-following robots of years past; this project achieves a similar effect in a completely different way. As it stands, it’s a great learning project on how to work with machine learning systems.

[Richard]’s write-up includes instructions on how to replicate the build, which is great if you’re just starting out with machine learning projects. What’s impressive is that this build achieves what it does with only the horsepower of the minute Raspberry Pi Zero, and putting it all in a package of just 102 grams. We’ve seen similar builds before that rely on much more horsepower – in processing and propulsion.

Remote Controlled Streaming Speakers

For want of a better use of a spare Raspberry Pi Zero W and a set of LogitechZ-680 surround sound speakers, [Andre van Kammen] hacked them together to make them stream music playing from his phone.

It was stumbling across the Pi Music Box distribution that really got the ball rolling, and the purchase of a pHAT DAC laid the foundation. Cracking open the speakers’ controller case, [Kammen] was able to get 5V of power off some terminals even when the speakers were on standby — awesome! — which the Pi could use. Power and volume are controlled via the Pi’s GPIO pins with a diode to drop the voltage and prevent shorts.

Now, how to tell whether the speakers are on or off? Well, a pin on the display connector changes to 4.3V when it’s on, so wiring a 10k resistor and a diode to said pin is a hackable solution. Finishing off the wired connections, it proved possible to cram the pHAT DAC inside the controller case with the GPIO header sticking out the back to mount the Pi upon with no other external wires — double awesome!

Continue reading “Remote Controlled Streaming Speakers”

The World’s Thinnest Raspberry Pi 3

We’ve become used to readily available single board computers of significant power in form factors that would have seemed impossibly small only a few years ago. But even with a board the size of a credit card such as a Raspberry Pi, there are still moments when the available space is just too small to fit the computer.

The solution resorted to by enterprising hardware hackers is often to remove extraneous components from the board. If there is no need for a full-size USB port or an Ethernet jack, for example, they can safely be taken away. And since sometimes these attempts result in the unintended destruction of the board, yonder pirates at Pimoroni have taken viewers of their Bilge Tank series of videos through the procedure, creating in the process what they describe as “The World’s Thinnest Raspberry Pi 3“.

The USB and Ethernet ports, as large through-hole components, were the easiest to tackle. Some snipping and snapping removed the tinware and plastic, then the remains could be hand-desoldered. The GPIO pins resisted attempts to remove their plastic for easy desoldering, so for them they had to resort to a hot air gun. Then for the remaining camera, HDMI, and display ports the only option was hot air. Some cleaning up with desoldering braid, and they had their super-thin Pi. They weren’t quite done though, they then took the reader through modifying a Raspbian Lite distribution to deactivate support those components that have been removed. This has the handy effect not only of freeing up computer resources, it also saves some power consumption.

You might point out that they could have just used a Pi Zero, which with its SD card on the top surface is even a little bit thinner. And aside from the question of extra computing power, you’d be right. But their point is valid, that people are doing this and not always achieving a good result, so their presenting it as a HOWTO is a useful contribution. We suspect that a super-thin Pi 3 will still require attention to heat management though.

Take a look at the video, we’ve put it below the break.

Continue reading “The World’s Thinnest Raspberry Pi 3”

Video Streaming Like Your Raspberry Pi Depended On It

The Raspberry Pi is an incredibly versatile computing platform, particularly when it comes to embedded applications. They’re used in all kinds of security and monitoring projects to take still shots over time, or record video footage for later review. It’s remarkably easy to do, and there’s a wide variety of tools available to get the job done.

However, if you need live video with as little latency as possible, things get more difficult. I was building a remotely controlled vehicle that uses the cellular data network for communication. Minimizing latency was key to making the vehicle easy to drive. Thus I set sail for the nearest search engine and begun researching my problem.

My first approach to the challenge was the venerable VLC Media Player. Initial experiments were sadly fraught with issues. Getting the software to recognize the webcam plugged into my Pi Zero took forever, and when I did get eventually get the stream up and running, it was far too laggy to be useful. Streaming over WiFi and waving my hands in front of the camera showed I had a delay of at least two or three seconds. While I could have possibly optimized it further, I decided to move on and try to find something a little more lightweight.

Continue reading “Video Streaming Like Your Raspberry Pi Depended On It”

Pedal-Pi, simple programmable guitar pedal

For several years, [Ray] and [Anna], the team behind ElectroSmash, have been smashing audio electronics and churning out some sweet DIY audio gear. This time around, they’ve built Pedal-Pi — a simple programmable guitar pedal based around the Raspberry-Pi Zero. It is aimed at hackers, programmers and musicians who want to experiment with sounds and learn about digital audio. A lot of effort has gone in to documenting the whole project. Circuit analysis, a detailed BoM, programming, assembly and background information on related topics are all covered on their Forum.

The hardware is split in to three parts. On the input, a MCP6002 rail-to-rail op-amp amplifies and filters the analog waveform and then a MCP3202 ADC digitizes it to a 12-bit signal. The Pi-Zero then does all of the DSP, creating effects such as distortion, fuzz, delay, echo and tremolo among others. The Pi-Zero generates a dual PWM signal, which is combined and filtered before being presented at the output. The design is all through hole and the handy assembly guide can be useful for novices during assembly.  The code examples include a large number of pedal effects, and if you are familiar with C, then there’s enough information available to help you write your own effects.

Even if you don’t plan on building one, technical background such as the Basics of Audio DSP in C for Raspberry Pi Zero, Using MCP3202 ADC with Raspberry Pi Zero and PWM Audio on Raspberry Pi Zero ought to make for interesting reading. Check out the video after the break detailing the build.

If you’d like to check out some of their earlier work, check out 1WAMP, an Open Hardware Guitar Amplifier and pedalSHIELD, an opensource Arduino Guitar Pedal.

Continue reading “Pedal-Pi, simple programmable guitar pedal”

Raspberry Pi AI Plays Piano

[Zack] watched a video of [Dan Tepfer] using a computer with a MIDI keyboard to do some automatic fills when playing. He decided he wanted to do better and set out to create an AI that would learn–in real time–how to insert style-appropriate tunes in the gap between the human performance.

If you want the code, you can find it on GitHub. However, the really interesting part is the log of his experiences, successes, and failures. If you want to see the result, check out the video below where he riffs for about 30 seconds and the AI starts taking over for the melody when the performer stops.

Continue reading “Raspberry Pi AI Plays Piano”

Teenage Engineering The Raspberry Pi

The Teenage Engineering OP-1 is a tiny, portable synthesizer loaded up with 4-track recording, a sampler, sequencers, and a quite good synthesis engine. It also fits in your pocket and looks like a calculator built in West Germany. As you would expect with a synth/sampler/sequencer, you can save sounds, tracks, and other creations to a computer. [Doug] thought if you can connect it to a laptop, you can also connect it to a Raspberry Pi. He created an all-in-one storage solution for the OP-1 using only a Pi and a small character LCD.

The process of connecting the Pi to the OP-1 is pretty simple. First, plug a USB cable into the OP-1 and the Pi. Then, place the OP-1 into Disk Mode, the synth’s method of transferring files between itself and a computer. The Pi then synchronizes, changes the color of its character display from red to green, and becomes a web server available over WiFi where all the files can be accessed.

This is the bare minimum tech required to get files into and off of the OP-1. All you need is a bit of power and a USB connection, and all the files on the OP-1 can be backed up, transferred, or replaced without any other futzing around. It’s perfect for the minimalist OP-1, and a great example of how handy a WiFi enabled Pi can be.

Thanks [Pator] for sending this one in.