Journaling and blogging

News update: BeagleBone Black ordered today!

This post is about journaling! So, some more outtakes from yesterday’s visit to our professor’s office:

How are research journals and blogs (like this one) different?

Blogging is something that happens ‘after the fact’, its like a nice log of (somewhat) well formed ideas…whereas a hand-written journal is raw. RAW-research.

  • sketches are made
  • sections are crossed out
  • pen colors change
  • deviations are well recorded

Some more differences:

  • Blogs are easily searchable, journal pages can be numbered and indexed
  • Blogs can be accessed anywhere there’s internet. Journals can still be kept and worked with, internet or not.
  • Blogs can feature dynamic links. The worst possible case with a journal would be to print a QR code. I am not doing that, as I can always reference this blog there.

So, I have gotten a new journal. And its been setup already!

Eponine Cover

The ground JUST DID NOT slip(p) under our feet…

[ Gerber 274x ] [ Excellon ]

Seems like everyone used to make their [ home-made PCBs¬†], with Cu, etching, and photographic solutions…

Anyway, today was a wonderful day. I visited Dr Anderson again (twice), and here are the updates:

  • Design ideas
    • Not sure if we should use a complex codec, a complex DSP, a complex codec with a simple DSP, or the fourth combination of these two entities.
    • On giving up already: BeagleBone doesn’t have audio support out of the box, but an [ audio cape ]¬†IS AVAILABLE. It has a [ codec w/ HP amp ] sitting on it
      • So…we should just give up now, as this thing is already made and done and we can’t possibly out-complete with Ti when it comes to making boards?? Well.
        • Dr Anderson’s thoughts: we shouldn’t think that we’re up against Ti’s engineers when it comes to outperforming an audio shield.
        • Anyway, if we think about it, the entire BeagleBone black project is probably one (hobbyist) person / intern working on this, perhaps during free time, as
          • Big companies like Ti would probably not invest a lot of engineering resources on boards that sell thousands, when they can focus on chips that would sell millions
          • This intern could have pitched this idea and convinced the management to support
          • This intern / engineer spent about a year on this project, and did a good job because s/he knew how to do things
            • We are learning.
          • The design was open-sourced so that the developer community could take it to an all new level (without much expense to the¬†corporates)
  • Codec SMT breakouts
    • Van Leer’s PCB milling support has been found!
      • What’s supported (digital CNC):
        • 2 layer PCBs, max. size around 10 in x 8 in
        • Vias
        • Vacuum (not sure what this is)
        • 4 mil spacing (not sure what this is)
        • No mask, no silkscreen
      • We’ll be taught how to put the solder paste on and bake the parts!
      • We would need to provide these files: [ Gerber 274x ] [ Excellon ]
        • Two formats to guarantee drill hits
      • Our design would be reviewed, and then milled over 2-5 days
        • Long queue likely – we could move to the Invention Studio once we have the process figured out
  • DSP
    • studying filtration, with a focus on adaptive filters
    • coding a DSP: we have borrowed Dr Anderson’s [ C5515 ezDSP board ]10947498_10153092511434254_1167557813_n
    • A [ BeagleBone Black ] has been ordered (hopefully coming soon!)
      • Interestingly, the Black seems to beat the more expensive BeagleBone is (all?) stats…
        • Comparison [ source ]
          BeagleBone Black BeagleBone BeagleBoard-xM BeagleBoard
          Processor AM3358
          ARM Cortex-A8
          ARM Cortex-A8
          ARM Cortex-A8
          ARM Cortex-A8
          Maximum Processor Speed 1GHz 720MHz 1GHz 720MHz
          Analog Pins 7 7 0 0
          Digital Pins 65 (3.3V) 65 (3.3V) 53 (1.8V) 24 (1.8V)
          Memory 512MB DDR3 (800MHz x 16), 2GB (4GB on Rev C) on-board storage using eMMC, microSD card slot 256MB DDR2 (400MHz x 16), microSD card slot 512MB LPDDR (333MHz x 32), microSD card slot 256MB LPDDR (333MHz x 32), SD card slot
          USB HS USB 2.0 Client Port, LS/FS/HS USB 2.0 Host Port HS USB 2.0 Client Port, LS/FS/HS USB 2.0 Host Port 4 Port LS/FS/HS USB Hub, HS USB 2.0 OTG Port USB HS Host Port, HS USB 2.0 OTG Port
          Video microHDMI, cape add-ons cape add-ons DVI-D (via HDMI connectors), S-Video DVI-D (via HDMI connectors), S-Video
          Audio microHDMI, cape add-ons cape add-ons 3.5mm stereo jack 3.5mm stereo jack
          Supported Interfaces 4x UART, 8x PWM, LCD, GPMC, MMC1, 2x SPI, 2x I2C, A/D Converter, 2xCAN Bus, 4 Timers 4x UART, 8x PWM, LCD, GPMC, MMC1, 2x SPI, 2x I2C, A/D Converter, 2xCAN Bus, 4 Timers,
          FTDI USB to Serial, JTAG via USB
          McBSP, DSS, I2C, UART, LCD, McSPI, PWM, JTAG, Camera Interface McBSP, DSS, I2C, UART, McSPI, PWM, JTAG
          Price $49 $89 $149 $125

Its a team challenge now!

We have 8 electrical engineers working on getting the next (reasonably)-high-end audio shield to the maker community. So, we have decided to make two shields, with 4 engineers on either team! We were having a hard time picking chips for the shield, especially between C55x and SigmaDSP, so this way, we can try multiple options “in parallel”, and we hope to have a better sounding PCB in the end!

What did we name our teams? Well, for now, we are teams Green and Blue:

Lock outs + Wav player

[ R-Pi remote access ] [ known_hosts ]
[ nano ] [ cd ]
[ password recovery ] username@

$ ssh-keygen -R remote-server-name-here

I updated R-Pi’s password, tried SSH’ing in again, and couldn’t log in! After some searching around for a solution, it seemed like re-writing the SD card’s OS was the simplest fix, and after doing it, I realized why my new password hadn’t worked…

I had not been using ‘pi’ as my username! I was thinking that prefixing ‘pi’ to was just to give a nickname to R-Pi on the remote connection, but no, it was the username. Well, now I have a fresh raspbian running again, and I am not going to go ahead and generate a new RSA key again, just yet.

Updated the date/time too, as previous screenshots were getting a December date:

[ date ]¬†sudo date -s “Jan 17 2015 17:02”

Next, [ SFTP ]’d a wav file onto the pi, and used this code from [ StackExchange |¬†xxmbabanexx ] to play it:

import pygame
while == True:

The default volumes on the pi seem to be low.

The next step was to reverse this path and use the audio jack as mic input, but as of now, it seems like R-Pi does not have an [ ADC ] on it, so this might not work.

Searching for reference designs

[ DSP based digital audio player ] [ SourceForge ]

On looking for audio-related designs using DSPs, we came across the dspdap. I was thinking about building this through as a “dry run”,¬†and then…

“If this was a senior design project, we could just improve on an existing implementation, but as you’re entering this into TI’s innovation challenge, you can’t just say you found an open source design, and added a pin here…”

“If you’re asking me if this is a good idea…”

“Remember, we’re making this to get DSPs to the maker community, so that some high schooler with an Arduino or Raspberry Pi can play with audio”

Well, that probably means that just ordering this PCB for SMT soldering practice might not be a great idea. Looking at the circuits might still be useful. And there’s a C55x on it – yippee!

This is what the DSPdap looks like. Lots of bypass capacitors on this.

[ source ]

Besides, here’s a block diagram:

[ source ]

Another interesting snippet from the website:

I’m a DSP engineer. Can I use DSPdap hardware for testing my algorithms in real-time in the real world?

Yes you can. DSPdap has a Line-in and Line-out interface. You could feed in audio signals, process them using your algorithm and get the results on the Line-out (i.e. headphones) port. However real-time debugging would not be possible. If you need real-time debugging then you should use DSP starter kits from Texas Instruments, Analog Devices or Freescale.