Wolfson Pi Audio Card – a first look

I recently acquired the Wolfson Pi Audio Card  from Newark. Awesome! In this post I’m simply exploring the functionality of the new device, with some more ambitious projects to come.

The Wolfson Pi – If you lose one of the mounting screws, a rubber band works just as good

The Wolfson Pi brings audio support to the raspberry pi – see this page for detailed specs. What got me excited about the Wolfson Pi, is the ability to add enhanced audio capabilities and potentially incorporate this with JACK or other linux-based real-time audio processing.

The first step is to download and install the wolfson SD card image ( available here ). I found that the unzip utility in Ubuntu could not unzip the file properly… I wound up using 7zip instead, and it worked fine.  For those of us using a *nix-based OS, the following can be used to flash your SD card (note that a class 6 is recommended at minimum):

  1. Insert SD card – use the output of dmesg to determine its device file (/dev/sdb for example).  It should be the last one mentioned.
  2. use dd to write the card – be very careful to select the right device!!  dd bs=4M if=wolfson.img of=/dev/sdb.  This will take a while.  Physically install the Wolfson Pi onto the raspberry pi while you wait.
  3. Once dd is done, plug it into the pi and you should be ready to go.

If you are like me and want to access it via ssh, the credentials are still the same as the raspbian distro – username pi, password raspberry.  The OS uses DHCP by default.

Once you log in, you will see a number of shell scripts in your home directory.  Playback_to_*.sh are used to configure the default output device.  For my tests, I wanted to test recording with the built-in DMIC (onboard microphone) and output to the Line out connection.  To record and play a test file:

  1. ./Playback_to_Lineout.sh
  2. ./Record_From_DMIC.sh
  3. arecord -Dhw:0 -r 44100 -c 2 -f S32_LE test.wav , use Ctrl+C to stop recording
  4. aplay -Dhw:0 -r 44100 -c 2 -f S32_LE test.wav

Note – don’t try to play FLAC files with aplay, the sound of mismatched formats will hurt your ears…

That’s all for now, stay tuned for more experiments with the Wolfson Pi!

Tube amp repair

A few years ago I picked up this little gem of an amp at a gun show for a paltry 25 bucks.  Not a bad snag!

20140513_215846
vintage!

It worked great, except the volume knob didn’t seem to do much… it always sounded like it was on full blast.  So, I brought it down to Skullspace to tinker with it.

Aside from the potentiometer not really changing the volume, it was also quite scratchy when changing volumes.  This is usually a sign of a worn-out potentiometer, so I ripped out the old one and temporary wired up a replacement off ebay.

Doing a test run with alligator clips

I carefully tested the amplifier (you really dont want to touch the high-voltage tube supply wires in there when it’s powered…) and it sounded way better than before!  I deemed it a success and installed the new potentiometer, still with test connections:

20140513_220655
Dry fit before everything gets soldered

Everything seemed to work alright, so I soldered everything in place:

20140513_230304
hand-wired goodness

The only issue I faced was that the old wires did not really wick up the solder so well.  I suspect there are some poor connections because of this, but for now it works… maybe some proper flux paste would work better than rosin-core solder?

 

Stay tuned for an audio clip!

Free stuff to good home(s)

Hey folks, looking to get rid of a bunch of books/electronics/etc… contact me if you’re interested in any of it!

Custom made stuff:

 

20140215_163610
Biznass BoomBox – I hacked an old FM radio into a classy briefcase for a decentralized dance party – needs a slight bit of work, IIRC the volume knob has become detached.

 

One funky-ass axe.  A modified Ibanez GRX40.  Faux fur, no animals were harmed during the making of this guitar....
One funky-ass axe. A modified Ibanez GRX40. Faux fur, no animals were harmed during the making of this guitar….

Network gear:

24 port switch, Nortel BayStack 450-24T
24 port switch, Nortel BayStack 450-24T
Oldschool Linksy WRT45G wireless router
Oldschool Linksy WRT54GS wireless router
A pile o' Nortel VoIP phones
A pile o’ Nortel VoIP phone parts (headsets, main units, need PoE or DC power supply). Untested

 

Books:

Buncha books! pt 1
Buncha books! pt 1
Buncha books! pt2
Buncha books! pt2

Misc Neat stuff

Super Nintendo, has a power supply issue.  Complete with 1 controller and some aladdin game
Super Nintendo, has a power supply issue. Complete with 1 controller and some aladdin game
Ibanez Chorus/Flanger pedal.  Still works, never use anymore
Ibanez Chorus/Flanger pedal. Still works, never use anymore
Random Thin Client.  Never tested.
Random Thin Client. Never tested.
Rotary tool, works, comes with grinding bit pictured
Rotary tool, works, comes with grinding bit pictured

 

 

Misc Electronic equipment

ATX Power supply, was used to power a gigantic LED circuit, one of the molex connectors is chopped off.  Still works.
ATX Power supply, was used to power a gigantic LED circuit, one of the molex connectors is chopped off. Still works.  You could easily replace it with a connector from newark!
Some PIC dev boards, ancient... comes with PicBASIC software cd, rs232 programmer, etc
Some PIC dev boards, ancient… comes with PicBASIC software cd, rs232 programmer, etc
Some junky +5V,+12VDC power supply i built before university.  Standard linear regs (7805,7812)
Some junky +5V,+12VDC power supply i built years ago.  Still works. Standard linear regs (7805,7812)
High-voltage DC Nixie Tube power supply.  Specs unknown, but is DC
High-voltage DC Nixie Tube power supply. Specs unknown.  Comes with Nixie tubes if you want them!

 

 

 

Gameduino2 test game

Hello internet, I recently received my Gameduino2 via kickstarter and dreamt up a quick demo – tilting the screen moves the ball around (with realistic-ish physics), and keeping it on the “path” longer earns more points:

This demo doesn’t even touch the Gameduino2’s capabilities – just a fun proof of concept.  Maybe someone can build off of it?

Anyways, code is available at https://github.com/trdenton/gameduino2-ballgame, including a pre-compiled .elf file for the arduino Uno.  I am using the Eclipse Arduino plugin from http://baeyens.it/eclipse, and have included the project files.  It should still work in the arduino IDE if you remove the eclipse project files – Enjoy!

 

Using web browser on one interface when multiple are available

In some cases, you need to connect to a VPN to do remote work. Typically this sets the VPN interface to be the default gateway – and so, all your web traffic/etc will route through your VPN connection. This becomes troublesome if your VPN endpoint wont route out to the web.

For example, I’m ssh-ed into some work servers right now, and need the internet to write this awesome blog post. My VPN endpoint at the office does not route any traffic to the web, by design.

To get around this, first add a static route for the subnet associated with your VPN interface

sudo route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.0.0.1

Then, remove the default route that is trying to shove all your http traffic onto the VPN

sudo route del default

Finally, re-create your default interface to specifically route out your LAN’s gateway

sudo route add default gw 192.168.0.0.1

There are probably better ways to configure this – likely, there exists a way to keep the VPN interface from becoming the default gateway – but this is quick and easy 🙂

Mounting a CD from the Linux command line

This is more for my own records than anything else – this is how you mount a CD (or .iso image) from the command line:


mount -t iso9660 /dev/sr0 /mnt #mount a CD/DVD from optical drive
mount -t iso9660 /path/to/file.iso /mnt #mount an .iso file

that is all! Depending on your system, you’ll likely need to use sudo/be root.

Edit: On some distributions (Ubuntu 12.04 server for example), the cdrom device is known as /dev/cdrom instead of /dev/sr0

Rejuvinating an old laptop… with electrical tape

What do you do with a busted laptop?  Many people are quick to throw them away.  Others turn them into FreeNAS boxes, or other useful servers.  For the machine I inherited today, I decided to turn it into an all-in-one style desktop PC.  The screen still worked, it was able to boot windows – the only trouble being that it was in physically rough shape.

 

100_1217
Ouch…

Basically, the screen had become detached from the rest of the machine – but all the cables were still in place for it to function.  After some light tweaking, I was able to get the screen to flip around the body of the laptop and sit flat on the reverse side:

100_1221

But how to keep it in place?  Being impatient and lazy (usually a dangerous combination), I tried my lucking using an entire roll of electrical tape to keep it all together.  Because why not?

100_1225
Partway through the taping

Being that this thing is going to mount against something on the reverse, I removed the keyboard as well.  So it’s not bumping its keys into stuff all the time.

As luck would have it, I had an old monitor stand kicking around – works as a nice little kickstand. Not perfectly stable, but still more solid than I was expecting:

100_1230
Starting to take form…

Now all that’s left is to wipe the old Vista install and put on a fresh OS…

100_1232
Tape starting to lift in the top-right corner, this was later fixed. The answer, of course, was more tape.

A few hours of tinkering, an old laptop, some electrical tape, and a fresh Xubuntu install made for a perfectly good bedroom workstation.  Not bad for one night!

Don’t try this at home

My little Samsung netbook’s power supply died, so I thought I would see if it was an easy fix. Turns out the components are too tightly packed and coated with silicone adhesive-y stuff to easily find what is broken, but I did manage to shoot a video of a 150VDC capacitor discharge:

And that’s why you shouldn’t tinker with power supplies!