# 2011 MINI Cooper CarPC Build



## Neil_J

This is my first CarPC build since 2003 or so. This project is unique in that the CarPC is designed to be a platform for my custom DSP development. I've been dis-satisfied with all of the commercial off-the-shelf DSP's out there, so I've decided to do everything myself. Here's a link to my build thread if you haven't read it yet, it may explain some of the insanity  http://www.diymobileaudio.com/forum...ild-hat-jl-alpine-knu-secondskin-sds-pwk.html

More on the software in a bit. 

Here is the hardware that I decided to go with, for one reason or another:

*Computer:*








Apple Mac Mini, A1283, circa 2009. This used to be my HTPC back when I had a 100" projector.
Yep, a Mini in a MINI 









*Storage:*








I'll be retrofitting the mechanical hdd with an SSD (solid-state drive), as my car is lowered, and the roads in Florida are crappy, and I wouldn't trust a mechanical hard drive as far as I could throw it. Flash-based drives are finally down to $1 per gig, for example this model, 128 gigs for $99, with VERY positive online reviews.









I topped out the RAM at 4GB, I'll need every byte I can get with the DSP stuff that I'll be doing :worried:

*Power Supply:*









The Carnetix P1900 was an easy choice, as it was designed around the Mac Mini, and is available with all the necessary cables (i.e. the MacPac).










The P1900 provides +19V to the Mac Mini, to replace the power brick, and a +12V output that will power my LCD screen. I opted for the add-on 15-watt +5V regulator, which can provide 5V power to whatever I might need it for...




















*PC Location:*
So I can't really tell you where I'm mounting the PC, because it's a secret.



























Don't tell anyone, it's going in the "Secret Compartment"  :surprised: If you're not a MINI owner, you wouldn't understand 

Note: The pics above aren't from my car, they're from this thread on NorthAmericanMotoring. I've not started taking my dash apart yet. I'll probably start in the next few weeks..


Next up, the LCD display and user control system...


----------



## Victor_inox

so what happening when you switch ignition off?


----------



## Neil_J

Most people that end up with a CarPC go the 7" 16:9 touchscreen route, usually with a 4- or 5-wire resistive touchscreen... Lilliput and Xenarc are the popular brands. I've been frequenting MP3car for the better part of a decade, and have lost count of the number of projects that used these screens... probably in the hundreds or thousands, easy.









_(example of the "status quo" carPC, in the wild)_

I wanted to go another route. 
Why not ditch the touchscreen and go with a simple monochrome LCD and some knobs/buttons?
*It is a MINI Cooper after all. No need to check e-mail and weather while driving... *
I like to drive for the sake of driving... Minimalism at its best.


My idea was to interface a very simple monochrome 2x40 character LCD to an Arduino, along with a few knobs and buttons for volume, track select, etc. This would allow me to: 
(A) keep the philosophy behind the car... motoring, not web surfing. 
(B) avoid a lot of the common pitfalls that come with hacking up your dash and installing a non-transflective, 4-wire resistive touchscreen, with a non-standard resolution..
(C) keep costs down.










However, I finally decided to go with the LCD display for a very important reason that I'll explain in a later post. For now, I'll say that there's a very particular software app that I am in the process of developing that basically requires a TFT display... it's pretty awesome, and I can't wait to show it off 

Here's the criteria that I used when selecting my display. Keep in mind that I've spent a good part of my career working with a team that designed glass cockpits for aircraft use. I'm very familiar with the technology and know what it takes to make a daylight-readable display.

*Form factor:* Must be 7" diagonal, 16:9 aspect ratio. This is so that it can fit into my Metra double-din dash kit.
*Resolution:* The first requirement pretty much limits resolution to 800x480.. however many of the new displays will allow the computer to drive a higher resolution, and downsample to the physical 800x480 pixels. I made sure to select one that had this feature.
*Brightness:* 450 nits or higher. 500+ would be preferred. There are quite a few displays down in the 250 to 350 nit range. Steer clear of these unless you live in Alaska, or are very broke and want to cut your teeth in the CarPC realm. 
*LCD technology:*IPS would be nice (like all the pretty Apple screens), but TN is all you'll find in this market  
*Transflective vs transmissive:*Transflective is HIGHLY preferred for daylight readable displays. However, they're expensive. This is what they use in the military / avionics markets. Transflective screens look great in sunlight; transmissive displays do not. 
*Capacitive vs resistive touchscreen:*Now that capacitive screens are readily available, I'm adding it to the list of my requirements. No resistive touchscreens for me. Capacitive screens don't block light, as they're simply a piece of glass. Resistive touchscreens will wash out your image in daylight.

The 7" LCD display market has pretty much stagnated since 2008. Nothing really new out there, with a few minor exceptions. Transflective and capacitive touch displays are finally readily available. Two sites that stock them: Mobile Computing Solutions - Innovations in Mini ITX and http://motorcitytech.com/.

I opted for the following display:









Motor City Technologies - Capacitive Multi Touch Lilliput 669 HB in Double DIN Frame
It's based on the Lilliput 7" High Brightness HDMI Monitor 669GL-70NP/C-H, and has been upgraded with a capacitive touch kit, that supports multi-touch (the jury is still out on Mac OSX support, we'll see). It's 450 nit LED backlit, and has been installed in a Bybyte Double DIN Frame. It has the Auto Switch mod for reverse camera option, and I'm pretty sure it has the auto-power-on option.. if not, no big deal, it's easy to mod.









Here's the monitor that the kit is based on (Lilliput 669GL-70NP/C-H).
This monitor is used a lot by the live-video Canon 5D / 7D guys. If there was a linear equation with "Cheap" and "Good", I think this LCD would hit the cross-point.









Here's the Double-DIN frame that the LCD comes installed in. It's from ByByte.com, another interesting CarPC niche company.


The display has been ordered, I'll report back here with results on how it performs in the bright Florida sun.


Next up: Software!


----------



## Neil_J

Victor_inox said:


> so what happening when you switch ignition off?


The Carnetix P1900 DC-DC power supply has a startup-shutdown controller, with power sequencing. This means when I get out of my car, and turn it off, it will send a signal to the Mac Mini and put it in "sleep" mode. It will then bring it out of sleep when I get back in the car and turn it on.

Waking up the Mac Mini is usually < 2 seconds.
It only uses 2 watts when in standby !!


----------



## astrochex

Are you adding cooling for the Mac Mini?


----------



## Victor_inox

Neil_J said:


> The Carnetix P1900 DC-DC power supply has a startup-shutdown controller, with power sequencing. This means when I get out of my car, and turn it off, it will send a signal to the Mac Mini and put it in "sleep" mode. It will then bring it out of sleep when I get back in the car and turn it on.
> 
> Waking up the Mac Mini is usually < 2 seconds.
> It only uses 2 watts when in standby !!


2 seconds with XP on it? 2 watts is awesome!


----------



## Neil_J

Earlier I mentioned that I've been completely fed up with the various car DSP's out there, both the vaporware ones, and the tried-and-true ones. Here's a quick rundown the features that I would require:


*More than 8 channels*. 10-12 would be nice.
*Center channel extraction*. I need the ability to run a separate center channel in my dash. This is NOT the same as simple "Left+Right"; I'm talking about TRUE center channel extraction here, which requires ACTIVE MATRIX decoding. Left+Right is only PASSIVE MATRIX, which only provides 3 dB of isolation.
*Rear channel extraction and delay*. Same as above. Left-minus-Right delayed 20ms is NOT what I'm looking for here. Active matrix decoding is required, and furthermore, I'd like to tweak the parameters to suit my needs.
*Linear-phase FIR filters with VERY long taps*. This requires a metric ****-ton of CPU processing power. Every single car DSP out there uses IIR filters (with the exception of maybe one), which I consider to be a compromise. I can do some incredible things with FIR filters, given the processor resources needed.
*An auto-tune that works.* More on this later.
*Double-precision floating point math* for the entire processing chain. That is, no integer-based DSP's, as MANY current car DSP's use integer-based math.
*Ability to use a custom DAC*. I'm currently drooling over the ES9018 Sabre DAC by ESS. Something like the Twisted Pear Buffalo III board.
*The above requirement would allow me to run 8 channels at up to 32-bit, 384 kHz*. Not that I have any music encoded at that rate... but might come in useful for something.
*Ability to run full-digital from my collection of high-bitrate MP3 and FLAC files, through the DSP, right to the DAC.* I don't see why I should go from digital-to-analog, to digital and then finally back to analog, as most folks do with their CD player.
*Complete ability to tweak any/all settings.* This clearly excludes the MS-8.

Out of the requirements above, the JBL MS-8 comes damn close. However the last requirement (ability to change/tweak any/all settings) is completely lacking. So it's out like the Monday trash.

On the topic of the center and surround-channel stuff:
*Here's a quick rant on why I consider active matrix decoding so important.* 
(this was an IM that I sent to the lead manager of a car audio company's DSP project... needless to say, I got no response back )


> Extraction of a center channel requires more than simple L-R or other rudimentary math (ie not possible to implement with the PS8 mixer afiak). Here's a link to a paper that explains it pretty well:
> 
> http://decoy.iki.fi/dsound/ambisonic/motherlode/source/sur.pdf
> 
> There are a number of reasons why I think this would be very beneficial for a DSP to support this feature:
> 
> - If you use a center channel, both front seats will sound the same and the image will be great for rear seat passengers too.
> - Two-seat judging obviously becomes a lot easier for SQ events. More of a "slam dunk", really. More trophies for you guys to take home
> - There are a lot of new cars that come with a center channel and side/rear channels (BMW et. al.). Not everyone is an SQ purist, i.e. not everyone would be okay simply disconnecting these channels. I find it hard to believe that the "rich guys" that walk into a shop and want "the works" done to their cars wouldn't want to keep all of their existing speaker locations.
> - Seat position and angle become a lot less important for proper imaging. You get a lot more than a simple "sweet spot".. Theaters have known this for years and years now.
> - For center channels that with tweeters that go up to 20 kHz, it seriously improves one's chances at getting the center to image properly; I've found it's extremely difficult to match the left and right tweeter to get a proper center image; there's a thread on Diyma I can pull up where Patrick Bateman was experimenting, and found found this out, even linked to some research papers that backed it up with numbers. Again, once this tweaking is done with a two-channel system, it sounds like crap for the other passenger, i.e. a compromise).
> - Small cars, like my Mini, are IMO a lot harder to nail with two-channel systems, due to extreme differences in path lengths. There are a lot of people buying small cars these days, which IMO makes nailing T/A and Eq that much harder. Adding a center channel and proper matrix decoding is a very easy solution.
> - There are no other processors out there, except for the MS-8 (via L7 active matrix decoding, which is proprietary to Harmann/JBL), that do center and rear fill properly, and everyone knows the MS-8 is a half-polished turd.
> - Proper rear-fill (delayed ~20 ms to overcome HAAS effect, and phase-steered and Eq'd) can add to stage "width", although SQ purists would consider this cheating. I've played with this in my car, and absolutely love it.
> - Properly mic'd and mixed SQ CD's sound absolutely great with the matrix surround decoding. I run my home system this way, it sounds fantastic, I can give a list of tracks to demonstrate if needed.
> - There have been PLENTY of SQ competitors in both IASCA and MECA that have used center channels and proper rear-fill over the years, even if they're completely secret and haven't told anyone... And they've taken trophies for them.



As I've said in other threads, I'm sort of in the vocal minority here, because most SQ purists don't believe the stuff above, and frankly are content with what they have. Well I don't listen to CD's. I frankly don't know how any self-respecting audiophile would (dons flamesuit). I absolutely love what Dolby Pro Logic II and Harman/Lexicon Logic7 can do to the listening experience in my car. *So there's not really a market for what I'm proposing above*. I understand that, and am actually kind of excited that I get to try to write a DSP myself... they're certainly challenging, so it should be interesting to say the least.

So, here's a quick outline of the method that I will use to implement my own DSP. 

First and foremost, I will be writing 98% of the DSP code and user interface with National Instruments Labview.









My reasons for using Labview are as follows:

It's what I use at work. I'm very, very proficient at it.
It's perfect for designing complex applications with tons of input, processing, and output.
It's perfect for Rapid Application Development. In english, this means you can use it to get **** done 
It comes with a very complete set of mathematical and scientific functions (filters, FFT's, etc). This means you're buying a loaded Matco toolbox, rather than a swiss-army knife.
I already own a college edition, and this DSP project will be for purely educational purposes.
It includes an excellent library of user interface objects, including XY graphs, plots, buttons, and sliders.
Although not truly "Real-Time", Labview is fast enough to keep up with audio DSP stuff. There's even a free set of courses at cnx.org (Rice University) that teaches DSP music synthesis using Labview.
Programming is graphical and does not involve writing code and dealing with syntax. This improves readability, and speeds up the coding process considerably.









_Propaganda shot from National Instruments, showing the "Power of Labview"_









_Picture of the Labview block diagram pallette_

Here's a list of functions that my DSP will support:

Time alignment for each channel. Time resolution will be the reciprocal of the sampling frequency, just as it is for all other DSP's.
Linear-phase FIR filters with very long taps... As opposed to IIR filters used by 99% of the DSP's out there. This goes for both crossovers, and equalization, and gives me the utmost flexibility. I'm perfectly able to use IIR or other filter types if I do so choose.. but FIR is the current plan. This should also allow me to change crossovers and equalization without having to re-do TA.
Full support to graph out impulse responses, step response, etc from any of the DSP building blocks. Being able to see the filters 
Full surround sound processing as mentioned above, similar to Dolby Pro Logic II and/or Harmann/Lexicon Logic7. I've basically read the patents, and will be implementing my own algorithm in real-time, which processes the incoming 2-channel data into 5.1 channels (left, right, center, rear-left, rear-right, and subwoofer). I will be writing another thread on this topic at a later date, the patents contain some very cool stuff.
I will use FFMPEG and/or other libraries to decode the FLAC and high-bitrate MP3's, and convert them to a two-channel array in memory that will get sent to the DSP algoritihms.
I plan on using a CD extraction library, similar to what CD ripping utilities and ExactAudioCopy do, for the times that I must use a CD... like for IASCA and MECA events. The bits will stay in the digital domain from the time they're read by the laser, to the time they're converted and sent to the amplifiers.
Once the DSP numbers have been crunched, the floating-point arrays are quantized and output directly to the sound system using a Labview library function.

And another feature that I'm very proud of... The ability to do RTA and log sweep FFT's similar to HolmImpulse and others... all from the CarPC, in Labview. I've already got this code up and running, and it's a lot easier to use than TrueRTA, and it actually works in Mac OSX, no need to boot into Windows. I'll post some screenshots at a later date, when the bugs have been fully ironed out.

Most of my time over the last few weeks has been spent reading various DSP and filter books... Here are two that I liked at lot, as they are both written quite well, and are straight to the point: 






Next post will be about the multi-channel DAC that I will be building. Will hopefully get around to that tomorrow.


----------



## Neil_J

Victor_inox said:


> 2 seconds with XP on it? 2 watts is awesome!


No Windows XP for me. It will be running Mac OS X. 2 watts standby, and ~26 watts during heavy processing.


----------



## Neil_J

astrochex said:


> Are you adding cooling for the Mac Mini?


My glove box and secret compartment are air-conditioned  Hope that does the trick.


----------



## thehatedguy

Dude. Wow.


----------



## takeabao

Definitely sub'ed to this one.
Attention to detail so far is awesome.


----------



## thehatedguy

Have you seen his car? I wouldn't expect anything less...lol.


----------



## FLYONWALL9

I wish I knew more about this sort of thing. I'll be reading it but not understanding
half of what you have going on. What is cool to me is the amount of eq, xover, and
TA you get out of these things. Prolly the only thing I would ever replace my XES
with.


----------



## Neil_J

FLYONWALL9 said:


> I wish I knew more about this sort of thing. I'll be reading it but not understanding
> half of what you have going on. What is cool to me is the amount of eq, xover, and
> TA you get out of these things. Prolly the only thing I would ever replace my XES
> with.


In my limited experience, the amount of Eq, TA, and such that is needed totally depends on the car. Large cars have more equal path-lengths, for example, you can mount in the kicks. You cannot mount kicks in a MINI, there's no room. You end up with really crazy reflections and weird standing waves in the bass frequencies due to the small dimensions. You're more "near-field" than you would be in a large car, as you're even closer to the reflective surfaces. 

So TL;DR is, Equalization and other DSP is not a panacea as many have said... but it might level the playing field in some cars, like mine. 

This project is also one of those "what if" kind of things as well, just another challenging project to flex the brain muscles. The state college system is f*cked here, I consider the DIY approach a *MUCH* better way to learn. It's definitely more hands-on.


----------



## Neil_J

Estimated CarPC Costs so far:

$599 - Mac Mini A1283, back in 2009, from the Apple Store
$100 - Apple Airport Express base station
$129 - Carnetix CNXP1900 DC-DC power supply & shutdown controller
$26.20 - Carnetix CNX-P5V 15-watt 5V addon for CNXP1900
$349.99 - 7" Lilliput 669 LCD TFT with capacitive touchscreen and double-DIN frame
$29.99 - Metra Double-DIN dash kit for MINI Cooper R56
$100 - 128GB Solid-state disk drive for Mac Mini, via newegg
$100 - 2x PC3-8500 2 GB RAM Chips for Mac Mini, via ifixit.com
$20 - LabVIEW 2011 Student Edition
$150 - Estimated costs for custom LCD display and knobs (user controls), and Arduino interface
$200-$1000 - Estimated costs for custom DAC board and raw parts
Estimated total: ~$2100 or so....

Ehh  Anyone who says CarPC's are cheap, are lying or ignorant. 
Apple CarPC's, doubly so.


----------



## JayinMI

Wow. I got to your description of the functions you plan to implement and immediately felt like 5 year old trying to do Calculus. You are taking this to a ridiculous level (in a good way.) I can't wait to see where this goes.

I quit programming (BASIC and Assembly on my old Color Computer 3) when my dad bought a PC back in the late 80's. Makes me wish I'd stuck with it.

As much as I love car audio and want to have an exceptional car stereo system, I can't see putting that much effort into it. It doesn't seem like it would over come all of the car-related problems (engine noise, road noise, PLD's, etc) to make it worth while (to me).

If I ever end up back down in FL for any length of time, maybe you can prove me wrong. LOL

Can't wait to see more.

Jay


----------



## Neil_J

Here's a picture of the stock dash in a 2011 MINI Cooper (not my car), just a random internet pic:










Notice how the radio is built into the speedo. FREAKING GENIUS guys :laugh: This is one of the many reasons why working on MINI's are so challenging. The BMW engineering team certainly had their heads up their collective asses on that one.

So what do us "DIY" guys do when we want an aftermarket radio?? Well, most use the Metra kit for the '08 thru '12 MINI Coopers that allows the installation of a Double-DIN radio:










*Take notice of the little piece on the lower-right.* That's a "black-out" plate that goes where the speedo LCD and knobs used to be. Great... Now my brand new car looks like this:









(yes, that's actually my car, it's dirty and I've got a lot of work to do).

Notice the Metra "Black Out" panel in the speedo area where the radio controls and display used to be. Yuck.

*Here's what I'm going to do to rectify this situation.*

Take apart the "stock" display and controls that reside in the speedo housing
Take apart the "stock" single-DIN radio that resides in the center lower console
Try to reverse-engineer the knobs and buttons
Try to source an alternate LCD display to replace the existing one (VERY unlikely that I could reverse-engineer the protocol of the existing one).
Use an Arduino to interface the LCD and the buttons/knobs to the Carputer.
Write some software in Labview that talks to the Arduino via the USB-to-serial bridge. This will allow the CarPC to send text to the display, and read the buttons.
While I'm at it, use four extra pins on the Arduino to interface the steering wheel radio buttons: Vol Up, Vol Down, Track Left, and Track Right.
So I ripped apart the stock pieces, here's what I came up with:




































The existing LCD is a graphic monochrome type amber-on-black. Hard to reverse engineer... hard to source a replacement.. Hard to program even if I had a spec sheet. Instead, I went with a 40x2 character LCD, the type like you'd see on any niche-based product that didn't have the money to source a "real" LCD..
Here's a picture of a similar LCD to the one I ordered:








The actual LCD that I ordered was from Futurlec, it's red-on-black, but otherwise perfect. Simple parallel TTL interface that I can easily interface to an Arduino. I will likely replace the red LED backlight with an orange-amber to completely match the rest of my interior.
REDLCD40X2BL - 40 x 2 Red on Black Character LCD Display with Backlight

For anyone that doesn't know what an Arduino is, it's the latest boner in the DIY microprocessor scene.








It easily allows average Joe's like me to interface digital inputs and outputs to a computer, and much more. I've already got four Arduino's in the MINI Cooper already, in my amp rack.. check out my build log for more info.


So as complicated as all this stuff is, this will allow me to keep the "stock" look and functionality of my interior. This will make it very easy for IASCA and MECA judges to operate the controls, and will hopefully award some points on the install (getting "all" of the points would be nice too, with the amount of work I'm doing!). Having a monochrome LCD up in the speedo is nice, since it's more readable in daylight, and provides more of a "Heads Up" than the TFT display would be. *As I've said before, I'm a knobs-and-buttons kind of guy.* Changing the volume on a touchscreen is a pain-in-the-ass. There's simply no way that I could do this build with just the touchscreen controls.

When I'm able to reverse-engineer the buttons and knobs, I'll post that info here.


----------



## ErinH

this is gonna be awesome.

sub'd.


----------



## Victor_inox

This is gonna be seriously cool, that is not DIY , this is as professional as it gets.


----------



## ansuser

Well, yes. FIR filters are cool.
But you can not substitute acoustics with electronics. If you have had problems with the sound using MS-8, how do you really know it's MS-8 and not speakers placement?
Some would say investing time&effort in sound absorbing roof lining is better idea then having speaker phase super-precisely aligned...


----------



## Neil_J

ansuser said:


> Well, yes. FIR filters are cool.
> But you can not substitute acoustics with electronics. If you have had problems with the sound using MS-8, how do you really know it's MS-8 and not speakers placement?
> Some would say investing time&effort in sound absorbing roof lining is better idea then having speaker phase super-precisely aligned...


Well don't worry. :laugh: 
I am not substituting electronics and DSP algorithms for good acoustics. 
My DSP is just ONE TINY PIECE in the whole project...  It was never intended to cure cancer and end wars.

I've talked a lot about this in other threads. I agree with most of what you're saying. In a car, being near-field, the reflections will totally screw phase up. I realize that using linear-phase FIR filters will not "fix" the phasing problems that come from a reflective environment. However, I agree with Patrick Bateman, and others, that there is a certain threshold where phase can be heard (there's a chart floating around the internets somewhere). This has been talked about in other threads, I don't want to go in depth about it here. There are other benefits that come with FIR filters, I may go more in depth when I can. FIR filters do not have to be linear phase, but it just so happens that most of the filter types happen to use linear phase, because they can 

As for the comment of the MS-8... I know that it gave me a crappy tune because i used my ears. Once I got the Mosconi 6to8 installed, I was able to tweak it to my heart's desire and get a good tune. Now I'm having some fun and learning some stuff, and I'll have a cool DSP to show for it. Don't get me wrong. The MS-8 is great if your expectations aren't high. But you can't exactly walk into IASCA and/or MECA and walk away with trophies with it. 

And FWIW, I will be re-locating my mids to be closer to my tweeters, in December. And will be adding various acoustic treatments to my car in the coming months. Lots of work left to do...


----------



## n_olympios

This is, again, both awe-inspiring and jealousy-creating. 

Regarding the 40*2 dot screen, I wonder if you could get a white backlight one and use colour filters to match the amber. But then again, that would be too easy, wouldn't it?


----------



## Neil_J

n_olympios said:


> Regarding the 40*2 dot screen, I wonder if you could get a white backlight one and use colour filters to match the amber. But then again, that would be too easy, wouldn't it?


I bought about 1000 3mm Orange-amber LEDs a year or so back for a defunct project, most of which serendipitously ended up in the amp rack. I could just see how it turns out after changing the backlight LEDs. I also bought some orange-amber color-correcting gels from B&H Photo, in an attempt to make my JBL MS-8 display match my interior (I'll dig up the thread on that one later when I'm not on tapatalk, I even did a YouTube video on it). I could instead use white LEDs and use the gel.

Edit: 
JBL MS-8 display color Thread: http://www.diymobileaudio.com/forum/fabrication-tools-tricks-trade/116410-i-want-my-ms-8-display-red-2.html
Youtube video: 




So I'll likely try it both ways and see how it ends up. I was at least lucky enough to find the "negative" black background type of polarization in the model I ordered.


----------



## n_olympios

I think I remember that thread.  Now that you mention it, would you happen to have a good and cheap source for polarized filters? I have an OEM lcd screen in my other car which has black lettering on green background and have been thinking of changing it round for a long time. 

Here's a lousy phone camera pic of it.


----------



## MarkZ

Neil_J said:


> I wanted to go another route.
> Why not ditch the touchscreen and go with a simple monochrome LCD and some knobs/buttons?


Heh, I did this on several builds around 2000-2002. WinAmp, I remember, had some parallel and serial interface plugins that made input pretty easy, and a lot of players/front ends support multisegment displays. I have a pic somewhere...

Anyway, I haven't read this thread in detail yet, but I look forward to see how you plan on implementing the DSP! I tried the same thing in Simulink, but had a lot of issues with lag, CPU usage, and artifacts (I use it in 2ch mode for other sig proc. applications without much problem, but like you, I need 8+ channels of processing). This is why I went to VST, but that's a tough deal on a Mac. However, there are some linux VST hosts that I see around (Jack?) that might work on OS X, and there are a lot of good plugins that have Mac versions (Voxengo's suite, for example).

Edit: [the Voxengo crossover/EQ I use is FIR too, I believe, which would work for your app...]


----------



## Neil_J

MarkZ said:


> Heh, I did this on several builds around 2000-2002. WinAmp, I remember, had some parallel and serial interface plugins that made input pretty easy, and a lot of players/front ends support multisegment displays. I have a pic somewhere...


That's what I did on my last CarPC project, circa 2003. I had a serial VFD display driven by a custom Visual Basic app that I wrote, and a hacked up wireless gamepad for track and volume control. All that you saw when the power was off was a very dark, shiny piece of plexiglass with chrome hardware at the corners.. Kind of a throwback to the JVC El Kameleon which was one of my favorite radios of the past. 

I can't remember if I was sending commands to Winamp, or what. 
All I know is that it was pretty slick and then the hard drive died when I went over a bump :blush:


----------



## Wy2quiet

Just curious but wouldn't this take years of coding? You are attempting to write code for like 5 different program algorithms that other companies have spent hundreds of thousands of dollars doing R&D for.

I am amazed but puzzled at the same time. I am very interested in anything Car PC however and I wish you nothing but the best of luck. Nice to see people thinking outside of the box.

I went full size PC and with everything on in Audiomulch I see around 12% CPU usage with the T/A, Xovers and EQ (they aren't on linear phase mode as I wasn't able to equalize the delay).

Have you seen this? Check it out. ARC System 2


----------



## Neil_J

Wy2quiet said:


> Just curious but wouldn't this take years of coding? You are attempting to write code for like 5 different program algorithms that other companies have spent hundreds of thousands of dollars doing R&D for.
> 
> I am amazed but puzzled at the same time. I am very interested in anything Car PC however and I wish you nothing but the best of luck. Nice to see people thinking outside of the box.


Lol, no :laugh: I'm writing it in Labview, it's already written all the important stuff for me. Just off the top of my head: FIR filters, IIR filters, FFT's, other types of transforms like the Hilbert and laplace transform, windowing, queueing, semaphores, array handling, graphing functions, audio input and output libraries, file I/O, tons of user interface objects, and most importantly... The most comprehensive multi-threading support and multi-processor support that I've ever had the opportunity to use.

So like I said in the OP, it's sort of like a fully-loaded Matco toolbox, as opposed to a swiss army knife. You could use either to build a house, but I'd prefer the former.

The reasons like Arc, Mosconi, and JBL have taken so long is that they're trying to stuff it down to a tiny little DSP that's written in a combination of C/C++ and assembly. VERY low-level stuff. Instead, I'm using a $2000 off-the-shelf computer with a $3000 MSRP rapid-application development system... Overkill, but it works. Apples and oranges.

I've used Labview at work over the last ten years now, and I've done some truly amazing stuff with it. I've written code that has been used to test and verify GPS receivers, autopilots, NAV/COMM radios, transponders, and collision avoidance systems. All have involved lots of data throughput, simultaneous threads executing in parallel, all in real-time. I don't forsee any major road blocks with the DSP project.

I'll very likely have a very rough demo available in the coming weeks... then go back and add in all the bells and whistles.


----------



## ansuser

So, the Labview is a pretty high-level development tool, right?

Then how do you think it can compete in terms of speed, memory efficiency etc, with some lower level developmets, like C++ or similar?

From my area of expretise, universal systems are always slower/more demanding compared to specifically developed tools. Are you going to have some sort of compiled version of your DSP?


----------



## FLYONWALL9

Neil_J said:


> Estimated CarPC Costs so far:
> 
> $599 - Mac Mini A1283, back in 2009, from the Apple Store
> $100 - Apple Airport Express base station
> $129 - Carnetix CNXP1900 DC-DC power supply & shutdown controller
> $26.20 - Carnetix CNX-P5V 15-watt 5V addon for CNXP1900
> $349.99 - 7" Lilliput 669 LCD TFT with capacitive touchscreen and double-DIN frame
> $29.99 - Metra Double-DIN dash kit for MINI Cooper R56
> $100 - 128GB Solid-state disk drive for Mac Mini, via newegg
> $100 - 2x PC3-8500 2 GB RAM Chips for Mac Mini, via ifixit.com
> $20 - LabVIEW 2011 Student Edition
> $150 - Estimated costs for custom LCD display and knobs (user controls), and Arduino interface
> $200-$1000 - Estimated costs for custom DAC board and raw parts
> Estimated total: ~$2100 or so....
> 
> Ehh  Anyone who says CarPC's are cheap, are lying or ignorant.
> Apple CarPC's, doubly so.


Still though, for an equivalent 12v full blown SQ system that will do what your going to be able to do its a great alternative. Plus all the "other" things you can do with it that you simply cannot do with, say and ALPINE F1 just doesn't really compare. Way back in the day when I purchased my Sony XES system I think I paid something like 5650 give or take a couple hundred. And this was 1992 or so prices. That is pretty damn pricey however, to me I consider it a bargain because I still use the very same system today. It doesn't do near what your able to do or everything I wish it would. But it still works and sound pretty dang good for something this old. 

I would still like to build a system like your doing, plus I have a really small car like you. Prolly even less room. I'm sure I'll learn a great deal from your thread and I look forward to it.

I had the very same results as you with an MS-8 I installed in a buddies car. After using my system for so many years and TRYING to get near the same results ouf of the MS-8 was impossible and its 20 years its senior. I tried every little trick I could find on this board and others, it lacks so much tune ability and adjustability, plus the use of that silly mic. The difference was night and day. Don't get me wrong if I had some expensive new car and had to keep the head this would be an option. However with other companies now making products that can also be used like an MS--8 I think I would rather try something else. SORRY FOR THE DERAIL of sorts.


----------



## Neil_J

ansuser said:


> So, the Labview is a pretty high-level development tool, right?
> 
> Then how do you think it can compete in terms of speed, memory efficiency etc, with some lower level developmets, like C++ or similar?
> 
> From my area of expretise, universal systems are always slower/more demanding compared to specifically developed tools. Are you going to have some sort of compiled version of your DSP?


Labview is very a VERY high-level development system. 
It is comparable to MATLAB in certain aspects. 
However, Labview is MUCH faster than MATLAB and other high-level tools. 
Unlike Python and others, Labview is strongly typed, which helps memory usage and processing speed. 
Like Python, the environment will compile the high-level code, and keep the compiled version until the high-level code is changed again. This means it's not "run-in-time" like Visual Basic, which compiles-on-the-fly (one of the main reasons Visual Basic is slow).
Since the price tag is high, NI has had the funds to optimize Labview for individual processors and other architectures.

Lastly, it's important to remember that 99% of the processing power in DSP is in the processing of filters and other signal convolution-type stuff. And all of this is done in Labview through pre-existing library calls to low-level (C/C++ or assembly) calls. If you open up the "FIR filter" VI on a Windows machine, all you'll see is a call to a National Instruments DLL. Since these highly-used, CPU-processing intensive functions are all highly optimized, there's very little to worry about the overhead of the rest of your code.

So TL;DR is, Labview is a great choice for writing a quick-and-dirty DSP


----------



## ansuser

How are you going to sort out preringing?

These days it's a stumbling block for all of developers (Audiolense, Acourate, etc.)


----------



## Neil_J

ansuser said:


> How are you going to sort out preringing?
> 
> These days it's a stumbling block for all of developers (Audiolense, Acourate, etc.)


Sorry to say, I'm not quite sure yet  I'm still quite new at this, and am admittedly not a filter design expert. The only saving grace is that, I have 100% access to all of the filter kernels that I will be using, and therefore have the ability to look at them in any aspect that I wish, e.g. impulse response, step response, frequency response, etc., via all sorts of XY graphs, charts, voiceprints, 3d waterfall, etc., all inside the Labview environment. And it helps that I have access to books and papers, and the internet, and discussion forums. In fact, I'm glad that people here are being skeptic already  It keeps me on my toes, and makes sure that I'm not over-looking anything.

My un-educated guess is that a lot of problems go away with longer filter kernels. I'll have many opportunities to play with various methods and strategies. Worst case is, I can always revert back to IIR, either temporarily or otherwise. That's the brilliant part about having complete control over the whole project. The only thing I'm limited by is my own mental capacity, and CPU processing power, to some extent.

Thanks for your input so far, ansuser


----------



## MarkZ

ansuser said:


> So, the Labview is a pretty high-level development tool, right?
> 
> Then how do you think it can compete in terms of speed, memory efficiency etc, with some lower level developmets, like C++ or similar?
> 
> From my area of expretise, universal systems are always slower/more demanding compared to specifically developed tools. Are you going to have some sort of compiled version of your DSP?


Yup, labview is slow as ass, relatively speaking. That was the issue I had with simulink too.

However, there are also C++ dsp packages you can freely download. A little harder and less elegant to implement though.

His plan is still probably do-able though. Like I said, I did the same thing in Simulink w/ 2 channels (FIR filters, delay, waveform display/spectrum analysis, and some other stuff). I just ran into glitches and stuttering, etc when I used 8 channels. But this was on an older machine (Pentium 4?).

I think this is a totally cool plan. I'm very interested to see what he comes up with for a spatial/steering algorithm. Neil, if you want to reveal this by PM, I'd be more than happy to read it and provide comments, as I've been working on some of this stuff as well.


----------



## MarkZ

Neil_J said:


> Estimated CarPC Costs so far:
> 
> $599 - Mac Mini A1283, back in 2009, from the Apple Store
> $100 - Apple Airport Express base station
> $129 - Carnetix CNXP1900 DC-DC power supply & shutdown controller
> $26.20 - Carnetix CNX-P5V 15-watt 5V addon for CNXP1900
> $349.99 - 7" Lilliput 669 LCD TFT with capacitive touchscreen and double-DIN frame
> $29.99 - Metra Double-DIN dash kit for MINI Cooper R56
> $100 - 128GB Solid-state disk drive for Mac Mini, via newegg
> $100 - 2x PC3-8500 2 GB RAM Chips for Mac Mini, via ifixit.com
> $20 - LabVIEW 2011 Student Edition
> $150 - Estimated costs for custom LCD display and knobs (user controls), and Arduino interface
> $200-$1000 - Estimated costs for custom DAC board and raw parts
> Estimated total: ~$2100 or so....
> 
> Ehh  Anyone who says CarPC's are cheap, are lying or ignorant.
> Apple CarPC's, doubly so.


Haha this ignorant liar just put his car PC together for $250 total. Eat it. 

[helps that I bought the computer used on amazon for $39 shipped...]


----------



## ansuser

Neil_J,

I am not going to discourage you. 
I am really interested in all this convolution stuff as well, for my planned home audio set-up. And the more I look for simple ready solutions, the more I see that it is not panacea and not as straight forward in day-to day usage as dedicated standalone HI-Fi equipment. Some people already utilizing GPU acceleration, but still far from ideal solution.

For me, the issue with your plan is that you are trying to put together a pretty powerfull but complicated toolbox while not having identified the problem exactly. There is a possibility that simple physical action to you car space can do much more and in much more effective way compared to FIR filters.
For example - consider the sub sealed box. Even though sub walls are very rigid, it is very desirable to avoid standing waves inside the box. So, max inner box dimension should be smaller then 1/4 HP wavelength (HP=100 Hz, => size<0.8 m). If you overlook it, you will get an amplitude bump and a phase shift in response. And I guess it will be tricky to correct digitally. 

After all, I'm not trying to say that you won't succeed. You will, especially taking into consideration your very good skills and motivation and attitude. But I'm afraid that technology you rely on can fail.


----------



## Neil_J

MarkZ said:


> Yup, labview is slow as ass, relatively speaking.


Relative to what? Which version are you referring to? I'm going to stick to my guns here and say that it's blazingly-fast for what it is (a high-level rapid-application development tool). In my ten years of experience with it, the only thing that bites you in the ass is the lack of a real-time OS. That is, Windows or whatever needs to grab the CPU for 13 milliseconds or so before Labview gets it back. In between, it's got more than enough balls to get the job done, as long as you're not writing crappy code. And the more cores you have, and the more stripped of bloat your installation is, the less of a chance the OS will block your program execution. The newest Windows version even has thread affinities, so you can devote a particular time-sensitive loop to a particular CPU core. They do have an RTOS solution, but it's crazy expensive. I've also looked at their CompactRIO stuff, which includes an embedded RTOS CPU, *AND* a 3 million gate FPGA (!!!), which can be purchased for $500 with a trial of the software... Buying the RTOS and FPGA addons are VERY expensive however, but my God am I tempted by it, there's very little you couldn't do with it... period.



> I'm very interested to see what he comes up with for a spatial/steering algorithm. Neil, if you want to reveal this by PM, I'd be more than happy to read it and provide comments, as I've been working on some of this stuff as well.


*SPILL THE BEANS*, what kind of stuff are you working on?!?  I'll be in touch via PM....

As to my active matrix decoding stuff, I'll likely write thread in the technical / advanced section, as none of the information that I've come across is proprietary (just patents and other research papers). I won't know exactly which algorithms that I'll end up using until I've had a chance to listen to them.


----------



## Neil_J

MarkZ said:


> Haha this ignorant liar just put his car PC together for $250 total. Eat it.
> 
> [helps that I bought the computer used on amazon for $39 shipped...]


Lol, that's less than a Raspberry Pi after all the cables, enclosure, and accessories :surprised:


----------



## req

i am glad i spoke with you on the phone about the car pc stuff.

i will be here if there are anymore questions - but you seem to be leaps and bounds further than i am neil.

anything i can do to help - just let me know


----------



## bbfoto

Awesome stuff. Thanks for sharing your project with us, Neil! I know that we'll all learn a sh!t ton from this project, and that to me is priceless.


----------



## MarkZ

Neil_J said:


> Relative to what? Which version are you referring to? I'm going to stick to my guns here and say that it's blazingly-fast for what it is (a high-level rapid-application development tool). In my ten years of experience with it, the only thing that bites you in the ass is the lack of a real-time OS. That is, Windows or whatever needs to grab the CPU for 13 milliseconds or so before Labview gets it back. In between, it's got more than enough balls to get the job done, as long as you're not writing crappy code. And the more cores you have, and the more stripped of bloat your installation is, the less of a chance the OS will block your program execution. The newest Windows version even has thread affinities, so you can devote a particular time-sensitive loop to a particular CPU core. They do have an RTOS solution, but it's crazy expensive. I've also looked at their CompactRIO stuff, which includes an embedded RTOS CPU, *AND* a 3 million gate FPGA (!!!), which can be purchased for $500 with a trial of the software... Buying the RTOS and FPGA addons are VERY expensive however, but my God am I tempted by it, there's very little you couldn't do with it... period.
> 
> 
> *SPILL THE BEANS*, what kind of stuff are you working on?!?  I'll be in touch via PM....
> 
> As to my active matrix decoding stuff, I'll likely write thread in the technical / advanced section, as none of the information that I've come across is proprietary (just patents and other research papers). I won't know exactly which algorithms that I'll end up using until I've had a chance to listen to them.


I admit, I haven't used LabView in about 4 years, and when I did it was also only two channel stuff at a low Fs (~10kHz?). But I've yet to see much real-time DSP stuff work _efficiently_ in a high level language (image processing excluded, amenable to parallelization, eg Matlab). Even the DSP stuff that's popular used with Python is a performance nightmare. And like I said, I tried what you're suggesting with Simulink, and it was just way to glitchy going with multichannel. I'm not saying it won't work -- I'm glad you're picking this up -- just relaying my experiences with using a similar approach. I don't know if it's a DSP problem or a hardware interfacing problem.

I've been thinking about implementing something similar to VBAP using simple mixing plugins. There's also some mid-side stuff that I've been playing with that do some very interesting things when I try them out, and I'm trying to figure out some of the algorithms that have been used. It might provide insight into how to implement an "ambient" signal that could be useful for side and rear processing.


----------



## bbfoto

Neil,

Don't know if you've already purchased the M4 SSD, but if you want to bump it up to 256GB, Buy.com has it for $159 with free shipping. I also really like the Samsung 830 Series SSDs.

Buy.com - Crucial M4 256GB 2.5" SATA III Solid State Drive (SSD)


----------



## bertholomey

Love the creativity! This will be an incredible build to watch.


----------



## Neil_J

So the Arduino Due came out today, this should be perfect to interface all the bits and pieces of my system:

- 2x40 LCD in the speedo housing
- knob/button cluster in the speedo housing (vol, track l/R, Mode, etc)
- steering wheel controls (vol up/dn, track L/R)
- serial control of the amp rack Nixie displays
- serial control of the amp rack LEDs
- individual on/off control of amp +12V turnon leads
- individual control of each amp's remote gain control
- interface to the CNX-P1900 DC-DC converter










My amp rack already has four completely custom Arduino boards networked together via RS-485, with CAT-5 cable. The new Arduino Due that just came out the perfect "hub" for them, as it sports an ARM processor with 54 digital I/O pins and four UARTs. This microprocessor board will handle a lot of the chores to leave my CarPC to handle the important stuff (playing music without skipping).


----------



## bbfoto

^LOL...I was just going to post that here for you...saw it on Engadget. Nice!


----------



## Neil_J

bbfoto said:


> ^LOL...I was just going to post that here for you...saw it on Engadget. Nice!


I'm glad I saw it too, I almost bought an Arduino Mega yesterday, which costs more, is much older, and has lower CPU and memory specs. 

The cool part about the Arduino family is, I can prototype it on my Arduino Uno, and then change a few pin def's when I finally buy the ARM-powered Due, and it will just work. Man, that last sentence reeks of fanboi nut-huggery :-/ Hopefully I won't get burned for being an early adopter. They've been reving boards lately like I change my socks.

I was able to reverse-engineer the stock radio's knob-button interface last night, so I'll likely try to write the code to interface it to Labview this evening.


----------



## Neil_J

After five days of duking it out with PayPal and the online merchant, I finally got the capacitive 7" LCD touchscreen ordered. Basically all of the hardware pieces except for the DAC have been ordered, now I have to wait for them to get here. No ETA on the LCD or the Arduino Due board. 

In the meantime, I'll be studying up on filter design, finishing my DAC design, and will be attempting to architect a software backend that will support the rest of the code that I will be writing.

My next post will probably be about my crazy DAC design, and how I plan on interfacing it to Labview.


----------



## oca123

I've been down this road. Long tap FIR filters are great. Some thoughts based on my experience: (I'm explaining more than needed for you so others can follow)

- Linear phase is not really beneficial in a car. It's probably inaudible, especially in smaller vehicles... and,
- In order to do proper time domain correction (clean up the impulse response) measurement quality is extremely important, and early reflections will make things very difficult, and possibly even sound worse. You could try turning the microphone so it is more 'on axis' with each speaker as you measure things, I suppose. Now that I have mids in my pillars, I might consider trying this again. I might do it today, actually.
- I don't recall seeing a mention of the delay caused by FIR filters. For those here who are new to this, what Neil wants to do (and it works) in simple words is take a snapshot of the impulse response of the room, and then subtract it from the audio signal. Geek-heads like Neil understand this better than I do, but my understanding is that this is NOT like running a sweep and adjusting some EQ settings to get a flat response. With this method, you can take the room's signature, subtract it from the signal, then add your target curve. This target curve can be a crossover, or a combination of a crossover and your "home curve" or preferred frequency response. 
So these long FIR filters add a substantial amount of delay to the signal you process. You see, the longer they are, the more accurate frequency correction gets, i.e. the more correction "points" you get. To get good correction under 300Hz and all the way down to 20Hz a good filter size is 65536 taps. 44.1Khz/65536 = 0.7Hz resolution. That's like having a 32,000 band equalizer. When you add time domain correction to the mix, you further increase the filter length. And the longer the filter, the longer it takes to process.

I've heard of partitioned convolution. You basically have a bunch of threads running at the same time processing different parts of the signal and then put them back together. Is that what you're going to do? I have never used Labview, but it looks like its pretty high level, which might make partitioned convolution slower.... can you deal with 2 seconds of delay on all channels?

With this method, per-channel EQ is rendered useless. Instead, you can apply a global curve to the signal, according to your preferences. And forget EQ altogether, or keep it for minor on-the-fly adjustments.

Hmm, I had a couple things to share that might save you some time Neil, but I went on a tangent here and I forgot. I'll let you know when I remember 

If I find a pic of my setup I will post it. I mounted my display in the trunk in the center of my amp rack. It had a spectrum analyzer showing (close to) real time output of each individual channel in different colors. It definitely got people pointing fingers at the grocery store ;-)


Good luck man. This is a tedious project, and you have some balls for doing this *and posting about it* because now you either have to spend the next 6 months indoors, or be a *quitter* ;-)

DIYMA should give out awards. I would nominate this guy for the "If Dr Dolittle was into car audio" award.


----------



## Neil_J

oca123 said:


> I've been down this road. Long tap FIR filters are great. Some thoughts based on my experience: (I'm explaining more than needed for you so others can follow)
> 
> - Linear phase is not really beneficial in a car. It's probably inaudible, especially in smaller vehicles...


I'm currently planning on using minimum-phase filters instead of the linear-phase that I wrote about earlier. It comes down to a trade-off between phase distortion and pre-ringing (as another diyma member mentioned in a reply above). *For the lay-people that may be reading this, pre-ringing sounds VERY objectionable, you've likely heard it in your ****ty compressed MP3's or streaming audio... it makes cymbals sound like ass.* Needless to say, I'll be avoiding ANY filter that has any audible amount of pre-ringing. If it comes down ot phase distortion or pre-ringing, I'll take the phase distortion, please  That means no linear-phase filters. Minimum-phase filters really seem like the way to go.










Here's a great article on what works (and what doesn't work) in the art of digital room correction. If I could follow it verbatim, I'd likely end up with a great solution. 
http://www.audiosignal.co.uk/Resources/Digital_room_equalisation_A4.pdf



> I don't recall seeing a mention of the delay caused by FIR filters. For those here who are new to this, what Neil wants to do (and it works) in simple words is take a snapshot of the impulse response of the room, and then subtract it from the audio signal. Geek-heads like Neil understand this better than I do, but my understanding is that this is NOT like running a sweep and adjusting some EQ settings to get a flat response. With this method, you can take the room's signature, subtract it from the signal, then add your target curve. This target curve can be a crossover, or a combination of a crossover and your "home curve" or preferred frequency response.
> So these long FIR filters add a substantial amount of delay to the signal you process. You see, the longer they are, the more accurate frequency correction gets, i.e. the more correction "points" you get. To get good correction under 300Hz and all the way down to 20Hz a good filter size is 65536 taps. 44.1Khz/65536 = 0.7Hz resolution. That's like having a 32,000 band equalizer. When you add time domain correction to the mix, you further increase the filter length. And the longer the filter, the longer it takes to process.


Very great point, I was going to talk about that eventually. I have zero problem with even a few seconds of delay, if the results are substantial. It's one of the sacrifices I'm willing to make, and I think it's a prudent one. For that matter, what's to stop me from pre-processing an entire playlist onto my hard drive, and then play back the result at a later time? That way, I can have the benefits of long taps without any noticeable delay. This obviously doesn't work for SQ competitions like IASCA and MECA, they simply won't allow it (I talked to Req on the phone for a while about just this). But for my personal enjoyment (and DIYMA meet-and-greets), why the heck not? 



> I've heard of partitioned convolution. You basically have a bunch of threads running at the same time processing different parts of the signal and then put them back together. Is that what you're going to do? I have never used Labview, but it looks like its pretty high level, which might make partitioned convolution slower.... can you deal with 2 seconds of delay on all channels?


Possibly and yes. I'm basically going to be implementing several different types of filters, and pit them against each other double-blind style, using an ABX tool, that is... wait for it... another little script that I'm developing in Labview  Obviously, if I'm pitting IIR filters against super-long-tap FIR's, the ABX tool will likely have to add a "fake" delay to the IIR so that the delay itself doesn't "give away" which filter it is. This is the kind of stuff that excites me about this project. The ability to integrate all these wonderful ideas into a single place, and retain complete control to change whatever, whenever I want. 

As for Labview being slow because it's high level, please see post 31. It is high-level, however it contains a TON of filters implemented in low-level library calls, which are highly optimised. That's where 95% of the CPU power will go... There is ZERO need to write the other bits and pieces in a low-level language 



> With this method, per-channel EQ is rendered useless. Instead, you can apply a global curve to the signal, according to your preferences. And forget EQ altogether, or keep it for minor on-the-fly adjustments.


I'll definitely have an Eq on top of all the room correction stuff... And also be able to tweak the resulting room correction filters, if necessary. That's exactly what i hated about the MS-8. It would get you in the right state, county, and city, but that was it. No ability to tweak what the auto-tune did. The MS-8 has exactly the same goal as my CarPC, but the philosophy of how it gets there couldn't be more different.



> Hmm, I had a couple things to share that might save you some time Neil, but I went on a tangent here and I forgot. I'll let you know when I remember
> 
> If I find a pic of my setup I will post it. I mounted my display in the trunk in the center of my amp rack. It had a spectrum analyzer showing (close to) real time output of each individual channel in different colors. It definitely got people pointing fingers at the grocery store ;-)


Yes, pics please  And if you remember what you forgot, please share here or PM me. This thread is a great place to discuss this kind of stuff, I'll be going into MUCH more detail in the coming weeks/months.


----------



## thehatedguy

Something to fall back on?

rePhase | Free Audio & Video software downloads at SourceForge.net


----------



## 14642

I think you'll find a few seconds of delay to really suck. Press pause or play and wait. When my PC runs slow in my car, this happens and it's horrible.


----------



## Neil_J

Andy Wehmeyer said:


> I think you'll find a few seconds of delay to really suck. Press pause or play and wait. When my PC runs slow in my car, this happens and it's horrible.


Glad you decided to chime in, Andy  The more I read about digital room correction and filtering, the more respect I have for you guys. I feel like I'm about 50 meters into a swim across the English channel, wondering whether to turn back or not :blush: At the very least, I'll hopefully get a better respect for what goes into a DSP than what I had at the beginning. Anything else that I get out of it is just a big bonus.

As for the delay thing... yea I know what you mean. This is hardly requirements-based, "waterfall-development" style of programming, I'll likely be trying out different things and see what works for me. No clue what I'll end up with yet, but I will do my best to document my findings here.


----------



## Sansui350A

Neil, me like.. me want; I might try something like this, but a different way/purpose.. analog processing on the audio end, but a home-brew "digital media controller" of sorts as the playback source, based around an HP Moca-AR motherboard.. just need to built a proper cooler for mine (requires SPRING CLIP mounting for it's Socket M CPU). Keep us posted, I'd like to see some of the code at some point, when it's closer to where you want it.


----------



## oca123

Honestly, with the ability to get optical out of iPod/iPads and the endless list of accessories, etc. I dont see the need for a homebrew digital media player in a car.

You know, Neil, based on your requirements and the cost of what you're about to do, you might get similar results and better resale value out of a Lake DLP... you would just need to mod the PSU. I have been thinking about just using one of those in my car for a while. I have come to terms with the realization that, one way or another, it is inevitable.


----------



## FLYONWALL9

oca123 said:


> Honestly, with the ability to get optical out of iPod/iPads and the endless list of accessories, etc. I dont see the need for a homebrew digital media player in a car..


Are you talking about TOS link? If so could you tell me how? I
have been trying to figure this one out because my HU has TOS
link in that I wont be using


----------



## oca123

i20 dock ($100) works for all the i-devices with 30 pin connector, or for ipads, i hear there are more options, like usb card with toslink out would work. The i20, for sound only, is probably the best. You can use a 30-pin dock extender and tuck the i20 away. If space is limited (i think you're a 914 or 911 guy right?) the i20 can be taken apart and easily fitted into a smaller enclosure (or no enclosure and heatshrink wrap it i guess)


----------



## FLYONWALL9

oca123 said:


> i20 dock ($100) works for all the i-devices with 30 pin connector, or for ipads, i hear there are more options, like usb card with toslink out would work. The i20, for sound only, is probably the best. You can use a 30-pin dock extender and tuck the i20 away. If space is limited (i think you're a 914 or 911 guy right?) the i20 can be taken apart and easily fitted into a smaller enclosure (or no enclosure and heatshrink wrap it i guess)


THANKS for that... Do you know of one that is for Galaxy Tab 7.0
that has TOS link? I'll look at the one for IPAD/POD.

Is this the doc your talking about?
http://www.amazon.com/PURE-i-20-30-Pin-iPhone-Speaker/dp/B0049MOK92

Yeah I'm one of the 911 guys.


----------



## oca123

Neil_J said:


> Glad you decided to chime in, Andy  The more I read about digital room correction and filtering, the more respect I have for you guys. I feel like I'm about 50 meters into a swim across the English channel, wondering whether to turn back or not :blush: At the very least, I'll hopefully get a better respect for what goes into a DSP than what I had at the beginning. Anything else that I get out of it is just a big bonus.
> 
> As for the delay thing... yea I know what you mean. This is hardly requirements-based, "waterfall-development" style of programming, I'll likely be trying out different things and see what works for me. No clue what I'll end up with yet, but I will do my best to document my findings here.


I found an open source convolver [link]. It's algorithm allows for partitions, so you can apply FIR filters with virtually no delay. You should be able to use a good part of that code on the mac mini. I'm sure the DSP design software you had a screenshot of earlier has a way to implement low-level code or maybe an external library, which you could whip up by shamelessly copying/pasting what you need from Convolver.
That should take care of delay. On a Celeron SU2300, using 16 partitions per channel, I could process 8 channels of audio through 8 distinct FIR filters, then EQ per channel, then send through a compressor, with very little delay. CPU usage was 60% and the limiting factor was the RAM (too slow)

I know you could process all of your music ahead of time, but it is not an elegant solution, when the rest of your project looks well thought-out and detailed. Plus, you wouldn't be building a DSP then... just an 8 channel crossover 

Processing audio real-time will allow you to use Spotify, play CDs, listen to the radio, and, let's face it, tweak settings on the go.

The ringing is definitely an issue when using phase linear filters, but there are ways to deal with it, I believe using a shorter time domain correction window, or tracking down which frequency ranges are ringing, etc. - but you are right, minimum phase is all you need in a car audio environment.


----------



## oca123

FLYONWALL9 said:


> THANKS for that... Do you know of one that is for Galaxy Tab 7.0
> that has TOS link? I'll look at the one for IPAD/POD.
> 
> Is this the doc your talking about?
> Amazon.com: PURE i-20 30-Pin iPod/iPhone Speaker Dock: MP3 Players & Accessories
> 
> Yeah I'm one of the 911 guys.


I dont know anything about Toslink from an android device.
Yes, that is the dock. FYI, it's gotten cheaper. I am showing $85.99, plus $3 for overnight delivery, with Amazon Prime. There are some threads on the forum about this dock.


----------



## Neil_J

oca123 said:


> Honestly, with the ability to get optical out of iPod/iPads and the endless list of accessories, etc. I dont see the need for a homebrew digital media player in a car.
> 
> You know, Neil, based on your requirements and the cost of what you're about to do, you might get similar results and better resale value out of a Lake DLP... you would just need to mod the PSU. I have been thinking about just using one of those in my car for a while. I have come to terms with the realization that, one way or another, it is inevitable.


Is there a market for what I'm doing? F%*k no. 

Is that going to stop me? 


BTW, the Dolby Lake will NOT do half of what I am trying to, and even if it did, I wouldn't learn jack **** from it. This project is as much a learning experience as it is a platform to process audio. Oh, and rolling my own is cheaper.


----------



## Neil_J

oca123 said:


> I found an open source convolver [link]. It's algorithm allows for partitions, so you can apply FIR filters with virtually no delay. You should be able to use a good part of that code on the mac mini.


Look, I ain't running Windows XP on my Mac Mini, that's just heresy :surprised:

Wait until I post the benchmarks of the various Labview FIR filters, IIR filters, and FFTs, at with different size filter kernels and audio chunk sizes. Then we'll have an apples-to-apples comparison, and see if I have the need to port something like BruteFIR to the Mac, to do the heavy lifting. I'm about 20% through writing the said benchmarks now, but am caught up in other bits that need more attention.


----------



## oca123

I said similar results and better resale. Not identical process and results 

You do not spit on the Dolby Lake, sir, or I will beat you up with it.
Seriously though, if I could have any hardware DSP, that would be one of them. It doesn't do what you're trying to do, but it does a lot of other things 

Anyway, steering OT. Don't forget to let me know if you need components


----------



## Sansui350A

oca123 said:


> Honestly, with the ability to get optical out of iPod/iPads and the endless list of accessories, etc. I dont see the need for a homebrew digital media player in a car.
> 
> You know, Neil, based on your requirements and the cost of what you're about to do, you might get similar results and better resale value out of a Lake DLP... you would just need to mod the PSU. I have been thinking about just using one of those in my car for a while. I have come to terms with the realization that, one way or another, it is inevitable.


I don't care for their OS choices, I want a Linux-based device with a pure ALSA or OSS4 sound system on it. Personal preference really, I'm with Neil.. I like buttons, touch = ass to me. 

-Loving all the input here, looks like I'll be lurking around for a while. xD


----------



## Neil_J

oca123 said:


> You do not spit on the Dolby Lake, sir, or I will beat you up with it.
> Seriously though, if I could have any hardware DSP, that would be one of them. It doesn't do what you're trying to do, but it does a lot of other things
> 
> Anyway, steering OT. Don't forget to let me know if you need components


Dolby Lake is a ballsy processor, make no mistake. However, it doesn't have the level of integration that I'm looking for. No Dolby Pro Logic II either from what i can tell (correct me if I'm wrong), which was one of my most important requirements. Surround sound may not be important for live performances, but would be useful for movie theaters and other presentations, at a pro level. What are they, like $5k? That's way out of my price range. Maybe if I get sponsored one day, I can try and integrate it into the build. But until then, I'm on my own.


----------



## oca123

Neil_J said:


> Dolby Lake is a ballsy processor, make no mistake. However, it doesn't have the level of integration that I'm looking for. No Dolby Pro Logic II either from what i can tell (correct me if I'm wrong), which was one of my most important requirements. Surround sound may not be important for live performances, but would be useful for movie theaters and other presentations, at a pro level. What are they, like $5k? That's way out of my price range. Maybe if I get sponsored one day, I can try and integrate it into the build. But until then, I'm on my own.


 when its all said and done, this build is going to cost you $3900, the price of a 12 Channel Dolby Lake on eBay: Dolby Lake DLP Processor LP4D12 4 Inputs 12 Outputs | eBay
That includes presents for the girlfriend to apologize for forgetting [insert event here] broken parts and other unexpected things, change of direction halfway through the build, opportunity cost, junk food, stiches, bandaids, etc. etc.


I never said anything about running windows XP. I said I'd seen source code for a convolution algorithm that implemented partitions, in C, and I think it might have been in that package


----------



## thehatedguy

Been wanting a lake or contour myself.


----------



## Neil_J

oca123 said:


> when its all said and done, this build is going to cost you $3900, the price of a 12 Channel Dolby Lake on eBay


I do keep a set of books for this build, I'll be happy to post them here when everything's said and done  since I'm doing this mostly to learn DSP, I'll bet you that it ends up being less than a few semesters at a crappy community college, before books


----------



## ErinH

thehatedguy said:


> Been wanting a lake or contour myself.


Ever since Chad mentioned one to me I've been intrigued. I'm looking into home audio gear for a possible active speaker build for HT use and have been really digging those things. But I do have to wonder if its not just overkill.


----------



## MarkZ

If I was gonna drop that kind of coin on DSP, I'd get the Receptor 2+...

RECEPTOR Overview and Configurations | Software Sampler, VST Instruments, Host & Plugins – Muse Research

For now, I'll stick with a PC.


----------



## Neil_J

In an attempt to not have this thread derailed, I'm going to try and do a few posts tonight on my DAC design, the reverse-engineered OEM button/knob interface, and some background on digital filtering. This will likely take a while, so in the meantime I'm going to trust you guys not to drift off-topic  Enough about Pro-level DSPs and Windows-vs-Linux and this-vs-that for now, if that's ok with you guys. I'd like to keep the signal-to-noise level of this thread high enough that it remains useful (of not an entertaining read) down the road. 

Feel free to second guess me once I get all the stuff above posted 


Edit: here's an advanced/technical article on filter design and audible distortion thereof, written by the late Michael Gurzon. This is another reason why I believe filter design is so damn hard, and subsequently leaves you at the mercy of the DSP designer if you're not writing your own coefficients and checking them. It talks about Pre-ringing and other nasty stuff. It does require a bit of filter theory knowledge, but not much.

http://www.audiosignal.co.uk/Resources/Why_do_equalisers_sound_different_A4.pdf


----------



## 14642

Receptor looks pretty cool, especially if you want to be able to incorporate VSTs that you can use to tune a car. 

Neil, I applaud your efforts here. It's no small task. In my estimation, there are a bunch of tasks here--the first is simply to make all of this work. The second is to determine what kind of EQ, upmixer and crososver you'll ultimately use to make the car sound good. If you're building a product that you can use to tune your car, then at least you'll have control over developing what you need and making up for shortcomings manually while you tune. This is the biggest difference between what you're doing and what someone like me has to develop (with a big team) to be sold commercially and used by people who won't have the ability to make up for those shortcomings on their own. 

The third and most important is the recognition that the qualtity of the final product has less to do with the resolution of the filters and the type of filters you'll choose than it does on actually using them. This idea that all one has to do to tune *any* car accurately is to invert an impulse response is possibly the most ridiculous statement I've ever read. A simple inversion includes no indication of the maximum boost allowable which, for a poorly constructed system, can easily use up the headroom in a digital signal and it's helpful to scale the signal down to allow for the boost and then normalize it after EQ. Additionally, the impulse response you'll measure with a single mic in a car bears almost no resemblance to what we actually hear. EQing all of the comb filtering in the measurement will flatten the measurement when you look at it on the screen, but it won't sound good. That's like the old saying "flat doesn't sound good when I use my 31-band EQ". Flat doesn't sound good when you use a 25,000 band EQ either. The problems are reversed, however. One is a problem of too little resolution and the other is a problem of too much. Striking a balance is the tricky part. If you have an opportunity to do partitioned convolution, then applying different rates of smoothing to the various partitions will not only save processing power, but will also yield much better sonic results, so long as you can put the partitions back together without errors. If you're going to EQ at C level, then adding these functions is probably pretty easy on a case by case basis. Developing an algorithm that does this is another thing, entirely. 

Nevertheless, if you can develop a low-latency center signal extraction routine, I can save you hours with an idea for the rest of the upmixer. 

Here's a tip for EQ that you might get up and running pretty quickly--check out REW V5. The auto EQ function appears to be a curve-fitting routine that includes some ability to set maximum boost and a window over which the EQ wil be applied and outputs standard analog filter parameters. It's a simple matter to turn those into fixed or floating point biquad coefficients.

Send me a PM and let's chat on the phone. I have an idea.


----------



## Neil_J

Andy Wehmeyer said:


> The second is to determine what kind of EQ, upmixer and crossover you'll ultimately use to make the car sound good. If you're building a product that you can use to tune your car, then at least you'll have control over developing what you need and making up for shortcomings manually while you tune. This is the biggest difference between what you're doing and what someone like me has to develop (with a big team) to be sold commercially and used by people who won't have the ability to make up for those shortcomings on their own.
> 
> The third and most important is the recognition that the quality of the final product has less to do with the resolution of the filters and the type of filters you'll choose than it does on actually using them. This idea that all one has to do to tune *any* car accurately is to invert an impulse response is possibly the most ridiculous statement I've ever read. A simple inversion includes no indication of the maximum boost allowable which, for a poorly constructed system, can easily use up the headroom in a digital signal and it's helpful to scale the signal down to allow for the boost and then normalize it after EQ. Additionally, the impulse response you'll measure with a single mic in a car bears almost no resemblance to what we actually hear. EQing all of the comb filtering in the measurement will flatten the measurement when you look at it on the screen, but it won't sound good. That's like the old saying "flat doesn't sound good when I use my 31-band EQ". Flat doesn't sound good when you use a 25,000 band EQ either. The problems are reversed, however. One is a problem of too little resolution and the other is a problem of too much. Striking a balance is the tricky part. If you have an opportunity to do partitioned convolution, then applying different rates of smoothing to the various partitions will not only save processing power, but will also yield much better sonic results, so long as you can put the partitions back together without errors. If you're going to EQ at C level, then adding these functions is probably pretty easy on a case by case basis. Developing an algorithm that does this is another thing, entirely.


Yep, that's basically what I'm shooting for. Some kind of hybrid-process of scripting some auto-measurements, which can be tweaked/tuned by hand, and then converted (again, using some hacked out scripts) to filter coefficients, tweaked again, and put into action. Rinse and repeat until audio Nirvana or death ensues, whichever is first. I've got no real intentions to run a "flat" curve, I don't like how they sound either. I will be providing a way to add at least a 31-band Eq, very similar to the MS-8, with a number of presets. This will give me the ability to boost bass and cut highs or whatever else, when listening to music types where I care less about tonality, and more about having fun. And of course the ability to run flat or near-flat for SQ RTA competitions, or whatever 



> Here's a tip for EQ that you might get up and running pretty quickly--check out REW V5. The auto EQ function appears to be a curve-fitting routine that includes some ability to set maximum boost and a window over which the EQ wil be applied and outputs standard analog filter parameters. It's a simple matter to turn those into fixed or floating point biquad coefficients.


Looks like it's Mac OS X compatible, I will definitely give it a try


----------



## Neil_J

OK, here's the draft of my crazy DAC design. Instead of buying something off-the-shelf, I decided to try and create my own. It's pieced together out of a bunch of modules and discrete parts from around the internet, therefore I've named it the *FrankenDAC* (today is Oct.31, so I guess it fits :vampire. If you've seen my other thread, you'll see plenty of examples of my favorite hobby in the world, Extreme Circuit Boarding  There are already seven completely custom and unique circuit boards that I designed for my amp rack, documented in my build log. This DAC, however, will be the first one that I've attempted to design that had any sort of super-critical analog mixed with high-speed digital clocks.

Before I share my design, here is a quick run-down of different design choices that will affect the final DAC in some watt or another:

*Noise Floor*
Through careful design, parts selection, and pcb layout, I am attempting to achieve an extremely low noise floor. This should allow me to have an incredible dynamic range when done, with almost undetectable noise/hiss from the speakers. This is really something that drives me crazy (and yes I do know how to set my gains). Ultra-low-noise power supplies are readily available, not to mention some great reference designs. Since I'm building my own, there's no reason not to shoot for an incredibly high SNR, there's simply no reason to compromise there like a big OEM company would. I'm not designing the DAC to a BOM cost or anything, there will only be one or maybe two in existence when it's done.

*Clock Jitter and other DAC clocking issues*
I do find high amounts of clock jitter to sound offensive. If you've never heard a low-jitter system back-to-back with a high-jitter system, you probably wouldn't understand. I wasn't a believer until I heard a couple of decent systems (one of which being a reference home system at bertholomey's NC 2012 meet).










Here's a jitter primer. I won't go into much more detail on what it is, or what it sounds like here, so use google if you want more info. On quick excerpt:


> Jitter is an often-debated subject on the web audiophile forums. Like cables, there tend to be believers and non-believers. The goal of this treatise is to educate and share the current state of my jitter understanding.
> 
> Most audiophiles do not even realize that they have jitter until it is reduced. I liken it to looking through a window made of really old glass, when glass had ripples and bubbles in it. There is a spreading and distortion that widens and defocuses some images and creates an overall mild distortion. It is still obvious what is on the other side of the window, but it is not coming through with crystal clarity. Reducing (you will notice that I do not say "removing") jitter is like replacing the glass with a clean, flat piece of glazing. Things are now visible in great detail and with a "vividness" that was not there with the rippling glass. Jitter can be blamed for much of the "fatigue" that results from listening to some digital playback systems, just like it is fatiguing peering through rippled glass for any length of time.


The main way to keep jitter down, in my opinion, is as follows. Virtually all DACs use I2S as the digital bus to transfer data to the DAC. The MCLK is the most important of the clocks. This should ideally be fed from a decent oscillator circuit, such as the following ultra-low phase noise oscillators from Crystek via Digikey. They're obviously overkill (at $26/ea), but have great specs (Phase Noise -100 dBc/Hz Typical, -95 dBc/Hz Max at 10Hz offset, Phase Noise Floor: -169 dBc/Hz Typical, -165 dBc/Hz Max), output a 3.3V HCMOS square wave, and feature an enable pin which can help mux several clocks (more on that below).

CCHD-957-25-22.5792 Crystek Corporation | 744-1456-ND | DigiKey
CCHD-957-25-24.576 Crystek Corporation | 744-1457-ND | DigiKey

Another (cheaper) option would be a standard Pierce oscillator with a discrete transistor (don't use a logic buffer/inverter. As CMOS / TTL changes Logic State, a large transient current is drawn by the input stage. These non-linear, low resistance flat spots in occur at the worst possible place in the cycle – at the switching point. This increases the timing uncertainty, as when to switch from one binary state the other, and thereby degrade the phase noise performance). Pierce oscillators are dirt-cheap and give great performance, as long as the buffer/driver doesn't add jitter itself.

More expensive options would be TCXO's, OCTCXO's, Rubidum/Cesium atomic clocks, and whatever other kool-aid that audiophiles might convince you to buy (the linked 'femto' clock is overkill, even for me).

For the DAC chips I'm looking at, the MCLK can be anywhere from ~11 MHz to 50 MHz. LRCK is equal to fs, and SCK is 64*fs. You have the choice of making MCLK synchronous to BCK/LRCK (for example, MCLK being 256*fs), or asynchronous (for example MCLK is an arbitrary 50.000 MHz, which the fs doesn't divide into cleanly). Supposedly, you get the best performance in synchronous mode (table below). Additionally, certain DACs like the ESS9018 have internal PLL's and asynchronous re-clockers that may improve things further.










So if you want to do a synchronous MCLK -> BCK/LRCK, and want to cover the frequencies of 32,000 Hz to 192,000 Hz, you can do it with two MCLK frequencies: 22.5792 MHz, and 24.576 MHz. If you were paying attention, the two Crystek/Digikey oscillators I linked to above were these exact frequencies  They even have an enable line, so the microprocessor can enable one or the other. Below is a schematic from a DAC project that muxes two clocks together in this fashion.









Ideally the BCK and LRCK are being divided by an FPGA, CPLD or ASIC, or a very fast microprocessor with straight assembly language (read: lots of NOPs) and zero other chores to keep jitter down on these two clocks. The actual I2S data (SDI) is setup before the rising edge of the BCK, so it's phase doesn't matter, as long as it's there in time for the BCK rising edge. Outputting these clocks on a regular microprocessor or DSP that is doing fifteen other jobs is sort of the status-quo today, and positively adds jitter on the BCK/LRCK which can be measured with any decent spectrum analyzer (the ironic part is, the large companies that have money for this type of test equipment are usually the last to actually give a **** about jitter at all  ). There are numerous niche devices (assembled or piece-parts) that do this sort of clocking very well, we'll get to a few of those in a minute.

*DAC Topology*
There are a ton of different DAC topologies out there, all with benefits and disadvantages. I'm primarily interested in 1-bit, oversampling, sigma-delta type. They're cheap, readily available, and give great performance. Here's a presentation by ESS that explains it better than I can.

*USB vs. Firewire vs. <insert other bus here> Transport*
Since I'm going the CarPC route, I need some databus to get the PCM audio data from the PC into the DACs. The main concern isn't really so much about bandwidth, as most busses have more than enough; the concern is, which paradigm of transferring the data over must be used? Traditionally, files and such are transferred over in bulk mode. Bulk mode does not guarantee bandwidth, which can give dropouts in audio at unexpected times. However, when you have plenty of bandwidth, then bulk mode guarantees data delivery. There are other types of transfer modes, one of which, ISO-asynch, we'll get to in a bit. This is sort of a tradeoff that may or may not work. As user rsdio puts it in the diyaudio.com exaU2I thread:


> Bulk endpoints do not guarantee the timing of delivery. With Bulk hacked for audio use, all it takes is for some unwitting user to plug in a High Speed USB hard drive and then you get audio dropouts. That's because there's no way for the system to prioritize one Device's Bulk transfers over another. Sure, with Bulk, the data will eventually get there, but there is absolutely no guarantee that you won't get a dropout. This is not a professional design. The only way to fix Bulk is to use substantially more FIFO, which increases the latency of the audio, and even then you cannot be sure that you won't get a dropout unless the FIFO and latency are 80 minutes long (i.e. a full-length CD).
> 
> In contrast, Isochronous endpoints guarantee that the data will be delivered on time. The only way for this to fail is if your USB host cannot keep up with the timing, or if there are serious transmission problems with your USB hardware. If the host cannot keep up with the timing, then you're going to get dropouts whether you use Bulk or Isochronous, so how can Bulk have the advantage? In the second example, I am not aware of any USB devices where there are actually any errors in data transmission. Don't forget that Isochronous still has multiple bytes of CRC, so there is no way for a data transmission error to go undetected. The only thing that Isochronous sacrifices is automatic retransmission, but that still does not preclude manual retransmission.
> 
> Basically, I refer you to the USB Specification, where they made it perfectly clear that Isochronous is appropriate for real-time audio, and Bulk is appropriate for off-line storage.


The USB group apparently account for devices being created to stream audio to a DAC, and called their spec USB Audio Class 2.0 . It offers a data transfer mode called ISO-asynchronous, which guarantees bandwidth. It also allows the device to become the clock, which obviously improves jitter if you happen to supply it with a decent one. 

Firewire also apparently was designed around audio and video as well, and can handle the throughput, timing, and clocking quite well. However, there aren't any hobby/hacker Firewire->I2S interfaces on the internets that I'm aware of, so I won't lose much sleep over it, especially when USB has been proven to do the job 

*Balanced impedance vs. Unbalanced*
Balanced impedance outputs would be nice if my amplifiers support it. I believe the JL inputs are differential input, but not balanced impedance. I will need to research this more. It's not hard for me to provide a balanced-impedance output, since I'm making my own board, and it would give noise rejection in the case where there's a potential for a ground loop. Since I keep a printed copy of the Ten Commandments of Car Audio around, I'm going to avoid potential ground loops as best I can, which negates the need for balanced. So the output will likely be single-ended, ground referenced.

*Output Level at 0dBFS*
Output from the DAC at 0dBFS will be CD redbook standard (2 volts RMS centered at ground). A lot of off-the-shelf DAC's don't meet this spec, so be sure to check if you do buy one from a large company instead of going the DIY route.

*Clock synchronization between DAC channels*
Pretty much a no-brainer, but any DSP or carputer with multiple output channels must use a common clock for all channels of the DACs. This means that you can't just hook up a bunch of cheap USB 2-channel stereo DACs and call it a day. Not if you care about staging, width, depth, or other SQ type qualities.

*Examples of DIY USB->DAC interfaces*
Here's a couple of DIY kit DACs (or piece-part USB->DAC interfaces) that are around, just to prove that I'm not completely crazy for trying myself  I learned about all of these on diyaudio.com.









*MiniDSP's USBStreamer* - Based on the XMOS xCORE XS1-L2 multi-core 32-bit microcontroller with 100% predictable time due to the xTIME scheduling technology. XMOS offers a USB-to-multichannel I2S reference design, which I believe is what MiniDSP used as a starting point for their USBStreamer. Assuming that all the xTIME scheduling stuff isn't a marketing scam, this seems like a great way to go, and the MiniDSP board is only $150. Spoiler alert: I decided to go with this one 









*ExaDevices ExaU2I* - Supports sampling rates from 44.1 to 384 KHz, at 16 to 32-bit, up to 8 channels (!!!). Powered by a Xilinx FPGA, with a DLP Design DLP-USB1232H, which is based off the FTDI FT2232H USB->FIFO integrated circuit. Any electrical engineer worth his salt has heard of and likely used the FTDI series of chips at one point or another. This particular chip offers an 8-bit parallel interface with 4 kbyte Tx/Rx buffer. All FTDI's afaik work in batch mode, so this device, when used to transport PCM audio data, is subject to all of the risks mentioned above that come with batch mode. When used with WIndows, the entire Windows audio system is bypassed (similar to what ASIO is supposed to do), which makes it bit-for-bit accurate, and extremely low-latency. Needless to say, this device is a great choice and has been a big hit with the DIY audiophile crowd. I'd buy it if I had $430 laying around.

*DACs to be used with above DIY transport boards*
There are two that I've been looking at. The first is the ESS ES9018, which is, as their marketing puts it, "world’s highest performance 32-bit audio DAC…With ESS patented 32-bit Hyperstream™ DAC architecture and Time Domain Jitter Eliminator, the SABRE32 Reference Stereo DAC delivers an unprecedented DNR of up to 135dB and THD+N of -120dB, the industry’s highest performance level that will satisfy the most demanding audio enthusiasts. ". DNR=129dB, THD=-120dB. Supports digital volume control via I2C, and lots of other registers to tweak.
Datasheet: http://www.esstech.com/PDF/SABRE32%20Reference%20PB%20Rev%200.61%20120726.pdf. This is a fantastic DAC, probably the best 8-channel in existence right now. I would have loved to use this for my design, but it is a 64LQFP chip, requires a 4-layer board and lots of careful layout, is very hard to obtain (upwards of $50/each, with a minimum order and $100 s/h charge from one distributer).

Second, the ESS ES9023P. It's the little brother to the ES9018, shares a similar Hyperstream sigma-delta noise shaper, and comes in a convenient 16-SOP package, with a very low BOM cost. It includes a built-in negative charge pump for the analog output , and is driven from a single supply. DNR is 112 dB, and subjective listening impressions are overall very positive.

*One last DIY DAC worth mentioning*








*NwAvGuy's ODAC* - Stereo 2-channel design, designed by blogger NwAvGuy, based on the ESS9023P DAC and the Tenor TE7022L USB 2.0 Full-Speed compliant Audio Streaming Controller. The Tenor chip doesn't have a datasheet available, and I've not researched it much, so I can't say much about it :-/. The jitter measurements from NwAvGuy look good enough to me, so I can say that *this is a perfect DAC to drive a pair of headphones, especially if you're using them as a reference for tonality and balance.*. At only $100 for the assembled/working board, or $150 with a nice metal case:








Don't forget to build or buy your own headphone amp, I'm partial to the CMoy kit designed by Chu Moy (Wikipedia article).

So here's why I came up with. It's based on the MiniDSP USBStreamer and five ES9023P DAC chips…. The clever part is the rear L/R channels which are converted from TOSLINK/SPDIF to I2S by the WM8804. Since the rears are delayed by ~20ms, I'm not worried as much about phasing/timing with the other channels.









I'll post the PCB layout for the ES9023P's in a few days for peer review


----------



## 24th-Alchemist

Interesting commentary on the FrankenDAC.

Some comments:

(1) If you design a board that actually allows you to take full advantage of the performance available from the DACs you listed above, won't the RCA's and amplifiers subsequent to the DAC significantly degrade the signal? (Not to mention issues with op-amp line drivers for the RCAs and RF rejection). Have you considered running S/PDIF to your amps and embedding a DAC in each of your amps? I for example requested circuit schematics from RockfordFosgate and am working on embedding DACs right before the differential gain stage of the power amp section. (TORX147 toslink receiver to CS8416 S/PDIF receiver to CS8421 ASRC to either WM8524 DAC or PCM5102 DAC; I would guess that power amp sections and speakers would introduce orders of magnitude more distortion than the mid-to-low grade DACs I've listed; also, extracting full performance from high-end DACs would seem to require careful attention to every single detail including passive component selection and I would expect that precision measuring equipment would be required for proper debugging).

(2) I've read the posts but I'm loosing track of the signal processing goals for this project. Have you finished formulating them and of so can you summarize them.


----------



## Neil_J

24th-Alchemist said:


> Interesting commentary on the FrankenDAC.
> 
> Some comments:
> 
> (1) If you design a board that actually allows you to take full advantage of the performance available from the DACs you listed above, won't the RCA's and amplifiers subsequent to the DAC significantly degrade the signal? (Not to mention issues with op-amp line drivers for the RCAs and RF rejection). Have you considered running S/PDIF to your amps and embedding a DAC in each of your amps? I for example requested circuit schematics from RockfordFosgate and am working on embedding DACs right before the differential gain stage of the power amp section. (TORX147 toslink receiver to CS8416 S/PDIF receiver to CS8421 ASRC to either WM8524 DAC or PCM5102 DAC; I would guess that power amp sections and speakers would introduce orders of magnitude more distortion than the mid-to-low grade DACs I've listed; also, extracting full performance from high-end DACs would seem to require careful attention to every single detail including passive component selection and I would expect that precision measuring equipment would be required for proper debugging).


Maybe. I can't say it hasn't crossed my mind to mod the JL amps, but (A) it seems like a lot if work, and (B) I doubt that I could get ahold of the schematics even if I were on Team JL  As of right now, I'm just going to hook the DAC up with a short ~1ft homemade RCA cable and call it a day. The JL XD700/5 advertises >104 dB SNR below rated power and >84 dB SNR at 1W, and yea, that's probably my weak point right now.




> (2) I've read the posts but I'm loosing track of the signal processing goals for this project. Have you finished formulating them and of so can you summarize them.


Will hopefully have a post dedicated to that very soon.


----------



## 14642

Oops. My post wasn't intended to indicate that a flat "curve" sounds good. We all know it doesn't. it was meant as an example of how and why just "lining up the dots on the RTA" doesn't work and that higher resolution doesn't fix the problem. With EQm the final performance depends on knowing what to EQ, what not to EQ and why. It's about interpreting the curve and understanding what's going on. The filter type is simply a tool. 

On another note, your I2S plan looks like the right one to me.


----------



## ErinH

Neil_J said:


> Maybe. I can't say it hasn't crossed my mind to mod the JL amps, but (A) it seems like a lot if work, and (B) I doubt that I could get ahold of the schematics even if I were on Team JL  As of right now, I'm just going to hook the DAC up with a short ~1ft homemade RCA cable and call it a day. The JL XD700/5 advertises >104 dB SNR below rated power and >84 dB SNR at 1W, and yea, that's probably my weak point right now.
> 
> 
> 
> Will hopefully have a post dedicated to that very soon.


It's worth a shot. Manville has always been extremely helpful. I'm not saying they'd definitely do it but asking a simple question and providing a link to this thread to let them know you're legitimate may go further than you think.


----------



## MarkZ

Should also get improved noise performance by using the amp's power supply with the appropriate isolation. Building 12v power supplies for electronics can be a pain in the ass. 

You'd also be consolidating the number of buffers you'd need by running the DAC directly into the differential stage as 24th alchemist mentioned. Audible improvement? Maybe not. But as I always say to audiophiles, _no_ op amp always outperforms the most boutique of their boutique op amps. 

Edit: And I agree with Erin. I contacted a company rep on the forums before, and got schematics for both of my amps.  He simply asked that I didn't share them.


----------



## Neil_J

bikinpunk said:


> It's worth a shot. Manville has always been extremely helpful. I'm not saying they'd definitely do it but asking a simple question and providing a link to this thread to let them know you're legitimate may go further than you think.


Ok. I'll shoot him a PM and tell him I'm willing to sign an NDA, and see what happens. I'm certainly not getting into the car audio electronics business any time soon, so they don't have to worry about me stealing their intellectual property for nefarious purposes.

At the very least, it would allow me to rip out / bypass the (currently unused) active filters and add a balanced-impedance input. I really doubt I'd try to keep it digital all the way to the amp, or try to put the DAC chips in the amp (running 50MHz clocks from the USBStreamer to the amp like that would cause more problems than sending regular audio frequencies would... And it's less work).


----------



## Neil_J

MarkZ said:


> Should also get improved noise performance by using the amp's power supply with the appropriate isolation. Building 12v power supplies for electronics can be a pain in the ass.
> 
> You'd also be consolidating the number of buffers you'd need by running the DAC directly into the differential stage as 24th alchemist mentioned. Audible improvement? Maybe not.


Can you elaborate on that a bit. The ESS9023P has a single 3.6V power supply input (I'm using a very low noise LDO) and a built-in opamp output stage. Are you implying that the DAC should be powered from the amplifier(s) 12v supply? Unless I'm missing something, I am running the DAC output directly to the JL diff input RCAs.. Am I not understanding the question?

Also you you no answer my PM?


----------



## 24th-Alchemist

... Regarding a DAC in a JL amp -- maybe you could ask them something along the lines of this: where on their board (e.g. at which component, probably at a resistor or capacitor) is the point furthest down the amplification line where a person could inject their own pre-amp signal (i.e. the signal from your DAC and maybe its op-amp buffer).

To answer such a question does not require much disclosure of circuit topology if JL considers it proprietary.

And I know that in the Rockford amps I've looked at there's a distinct demarcation between the pre-amp section (gain and crossovers) and power-amp section (discrete component implementation of MOSFET output differential amp).

I'm not sure what is being referred to with the 50MHz clock issues but if you run optical toslink to the amp and put a clock source right between your DAC and and ASRC you could have clock traces less than a few cm long. 

The project is of course still cool either way but I have a hard time believing you will reap the full benefits of high-end DACs if the signal goes through a JL pre-amp stage. Actually, the power-amp stage of any car audio amp may be orders of magnitude more noisy that what comes from a properly implemented high-end DAC -- but this is a hobby so to all their own.


----------



## masswork

Subscribed!

I was looking for a good 8 channel soundcard that works on car pc.
Now i realize what i need is just a usb-dac duh 

Really look forward to the result (especially the FIR stuff)


----------



## Neil_J

24th-Alchemist said:


> ... Regarding a DAC in a JL amp -- maybe you could ask them something along the lines of this: where on their board (e.g. at which component, probably at a resistor or capacitor) is the point furthest down the amplification line where a person could inject their own pre-amp signal (i.e. the signal from your DAC and maybe its op-amp buffer).
> 
> To answer such a question does not require much disclosure of circuit topology if JL considers it proprietary.


Agreed.



> I'm not sure what is being referred to with the 50MHz clock issues but if you run optical toslink to the amp and put a clock source right between your DAC and and ASRC you could have clock traces less than a few cm long.


That would be assuming the DACs were moved to the amp, and my chosen USB interface, which outputs I2S, was still external to the amp. In that case, you would need to run the I2S into the amp, which is a bad idea. However your approach seems to be to go USB->SPDIF/TOSLINK, run fiber or coax to the amp, and then use a SPDIF->I2S, which feeds a DAC (or alternatively a DAC with an SPDIF input). Although its a good approach, I still think my first idea would give great performance as long as I don't end up with a ground loop, or if I go balanced impedance to the amp, as I might be temped to do now 



> The project is of course still cool either way but I have a hard time believing you will reap the full benefits of high-end DACs if the signal goes through a JL pre-amp stage. Actually, the power-amp stage of any car audio amp may be orders of magnitude more noisy that what comes from a properly implemented high-end DAC -- but this is a hobby so to all their own.


Again agreed, I will contact JL and ask, what's the worse that they can say. I would also like to say that all of the requirements above about DAC nose and such are all "why not try this and learn something" rather than trying to be competitive in the SQ lanes. If this priect succeeds, I'll likely go back to the weakest link, if that happens to be the amps, hell, I might end up with class A's on the mids and tweets, who knows. Either way this is going to be a fun project.


----------



## oca123

OCD is a *****.... I can relate.


----------



## MarkZ

Neil_J said:


> Can you elaborate on that a bit. The ESS9023P has a single 3.6V power supply input (I'm using a very low noise LDO) and a built-in opamp output stage. Are you implying that the DAC should be powered from the amplifier(s) 12v supply? Unless I'm missing something, I am running the DAC output directly to the JL diff input RCAs.. Am I not understanding the question?


Ohhh I didn't read your long post closely enough.



> Also you you no answer my PM?


Sorry! I suck with PMs. I'm on it.


----------



## Neil_J

Andy Wehmeyer said:


> Oops. My post wasn't intended to indicate that a flat "curve" sounds good. We all know it doesn't. it was meant as an example of how and why just "lining up the dots on the RTA" doesn't work and that higher resolution doesn't fix the problem. With EQm the final performance depends on knowing what to EQ, what not to EQ and why. It's about interpreting the curve and understanding what's going on. The filter type is simply a tool.


I figured your post was to point out both of those things  one of the PDFs that I linked to above (on digital room correction, by the late Mr. Gurzon) basically said the same thing you did - digital room correction algorithms aren't smart enough to take a lot of things into account. If you haven't read the article, it's a great read (although light on technical details). As I mentioned above, I'll be using the DRC measurements as a starting point, but will be using a lot of manual scripting and tweaking and trial and error as well. That's pretty much what this whole project is about


----------



## Neil_J

So apparently "It Just Works" doesn't apply to touchscreens on a Mac (how ironic ). 

I received my LCD capacitive touchscreen today, and come to find out, there are no LCD touchscreen drivers for OSX, that I've been able to find so far. If I boot into Windows 7 and it works fine. I've tried some generic drivers such as the ones here: EETI eGalax Touch but no luck so far. I'm talking to a company now that writes touchscreen drivers for unsupported OS's now, they don't have one for my model, but may be able to make one. I think they're charging about $220 or so for this service  I've also sent e-mails to the distributer (display-touch llc / Motor City Technologies), the US b2b customer/distributer of the controller/overlay (Mobile Computing Solutions / mo-co-so), and the Taiwanese manufacturer of the touchscreen (Cando Corp.). Maybe one of them will be able to help, let's hope.

If that fails, my options left are:
(A) Pay the 20% restocking fee and replace it for another touchscreen that does support OSX, which pretty much means going resistive touch (yuck) instead of capacitive.
(B) Pay the $220 to have touch-base write the driver for me.
(C) Waste a few weeks trying to write my own driver.
(D) Admit defeat, buy a copy of Windows 7, and install it on the Mac Mini 


If anyone happens to be an expert on touchscreen drivers or USB drivers in general, send me a PM please. I have USB bus probes from the device.

Edit: the e-mail contact from touch-base was able to spin me a driver in under a half hour, and is asking "only" $100 for home/personal use :-/ I'll very likely go this route, as my time is valuable and I don't want to spend too long on details like touchscreen drivers when I have so much other work to do.


----------



## The Drake

Looks like your already off to a good start, one of the first hardware pieces you get and no drivers available. Haha, just messin  I know how things are, as the process continues for you I am sure your original design will change greatly, it did for me in my carPC. 

More power to you for wanting to take this direction for a CarPC, everything you do turns out great and I am looking forward to seeing how the rest of this turns out.


----------



## subwoofery

98% of the stuffs you're doing is over my head... Niiiiiiiiiiiiiiiice :thumbsup: lol 

Kelvin


----------



## FLYONWALL9

subwoofery said:


> 98% of the stuffs you're doing is over my head... Niiiiiiiiiiiiiiiice :thumbsup: lol
> 
> Kelvin


WHAT HE SAID!!

It is good reading though, takes much longer than any other thread due
to having to look up so much of what is being said.


----------



## Neil_J

The Drake said:


> Looks like your already off to a good start, one of the first hardware pieces you get and no drivers available. Haha, just messin  I know how things are, as the process continues for you I am sure your original design will change greatly, it did for me in my carPC.
> 
> More power to you for wanting to take this direction for a CarPC, everything you do turns out great and I am looking forward to seeing how the rest of this turns out.


Drake is one of the people that actually inspired me to go the CarPC route. His install is pretty crazy, I especially love the Tang Bands in the back corners of the cabin, and the dual IB 15's/18's in the back  It was super fun listening to your car in NC, hopefully I get to return the favor one day.


----------



## Neil_J

Just a quick post about some more reverse engineering that's going into the build to prevent clutter and improve usability.

I received my 7" TFT touchscreen kit the other day; as shown in the picture below, these screens usually come in a little plastic case with a row of buttons on the bottom, and an infrared sensor to work with the included remote.



















I bought mine as a kit, already installed in a double-DIN frame. Part of the modification, done by Motor City Technologies / Touch Displays LLC, was to remove the TFT and button board, and relocate them inside the DD frame. They relocate the infrared sensor to the front of the bezel, and expect you to keep the little remote (above) in your car to switch the video source or adjust brightness, contrast, etc. *The entire idea of this CarPC build was to integrate as much functionality as possible,* so the CarPC itself should be able to "press" the buttons or emulate the infrared remote. Ideally, I'll be able to control these settings from the 2x40 monochrome LCD and knobs/buttons interface in the speedo cluster. Below is a shot of the button board (the picture below isn't my exact model btw, just a pic from the internet).










A second IR sensor is attached to the board above with a three-pin ribbon cable and mounts to the front of the Double-DIN bezel. I spent an hour or so reverse engineering the board and ended up with the schematic below. Also shown is selected parts of the interface on the TFT side.










They're using a very common trick when interfacing a lot of buttons when you're short on I/O pins: Use a single pin with analog-to-digital functionality and a resistor ladder, and make a table of corresponding voltages and buttons.

Since part of the resistor ladder is on the TFT side, I can't simply give the A/D pin a voltage from a DAC. Instead, I will use a 47k or 50k digital potentiometer in rheostat mode. This is very similar to what I did when I interfaced the JL RLC / gain potentiometers in my amp rack, except I used all three potentiometer pins instead of wiring it like a rheostat.

I should be able to read statuses of the two LEDs by hooking the TFT pins 7 and 3 directly up to the Arduino. And I'll likely leave the infrared sensor out completely, as it doesn't add any functionality that I can't get to with the button interface.

I'll post a picture of the completed Arduino shield circuit very soon hopefully, which includes the button board emulator, the OEM knob/button interface, the 2x40 LCD interface, Carnetix CNX-P1900 interface, amp rack LED/Nixie/Gain control interface, and a few other bits and pieces. It's probably 90% done now, I'm going to wire most of it up and verify that what I have will actually work first.


----------



## JayinMI

I just started playing with an Arduino. These things are sweet. I am planning to use it to intercept some of my steering wheel controls and use them to control my BitOne, and allow the rest to pass through and function as usual.
I just picked up an Arduino Uno today.

Jay


----------



## Neil_J

*The FrankenDAC design is now complete (schematic design, bill of materials, CAD designed aluminum enclosure, and PCB layout). 

If any engineer-types out there would like to peer-review it, please send me a PM with your e-mail address, and I will send it over as a ZIP file.* 

It's a VERY simple design with a very low parts count on the BOM, and since each DAC is on its own board, it's completely modular (pick either 2,4,6,8, or 10 channels). They use the Arduino-style stacking header sockets, so they connect to each other like legos.. pretty clever really  Once the design has been reviewed, finalized, purchased, assembled, and tested, I'll likely post the complete design on the internets somewhere under a Creative Commons non-commercial license. That will likely end up being mid to late December at this point, as the printed circuit boards take 3-5 weeks from Shenzhen, China.


----------



## oca123

I spent a few hours this weekend looking into similar things. After I sold the PS8 I got my carputer stuff back out of the box, and I generated some filters over the weekend that work very well. I took a good 30 minutes to get good s/r without clipping on each channel, then I wasted 2 hours because I was averaging measurements, but half of the measurements had been taken with different gain settings. (accidentally moved the gain slider while moving the microphone around)
I found this, which you might find interesting:
RelaiXed2 -- Documentation
the interesting part for you would be the volume control.

I'd love to see your DAC/preamp design. I'll admit I haven't been following up on this thread, but I'm assuming USB 2.0/8 channel I2C, I'm curious to see what you decided on to do this and keep jitter under control.


----------



## Neil_J

oca123 said:


> I found this, which you might find interesting:
> RelaiXed2 -- Documentation
> the interesting part for you would be the volume control.


I decided against a relay stepped-attenuator volume control for cost and complexity reasons. I could have used a digital stepped attenuator but felt that the increased BOM cost wouldn't be worth it. Had I gone with the ES9018, it has a great one built in. Instead, I'm going to rely on the combination of the digital gain control of my amps (which is already CarPC controllable), and a digital volume coefficient in my DSP code (the fact that the DAC word length is 24 bit helps here).



> I'd love to see your DAC/preamp design. I'll admit I haven't been following up on this thread, but I'm assuming USB 2.0/8 channel I2C, I'm curious to see what you decided on to do this and keep jitter under control.


There's a single post above that explains my goals and design technique pretty well.. I'll be following up on this with another post going more into detail after they've been buil and tested.


----------



## 24th-Alchemist

I am interested in the DAC build and DSP aspects of your project.

Based on your most recent posts prior to today I thought you were working on a touch-screen interface, otherwise I may have commented more.

DAC & clock from USB.

Unless I missed something, I haven't seen mention of an asynchronous sample rate converted (ASRC) in your design. The I2S format data from the miniDSP device will be synchronized with the clock recovered from the USB data -- presumably "jittery". You can't just reclock the DACs with a low jitter source and read the I2S data that is synchronized to the USB clock without "bit-slip" or other problems. Have you decided just to use the clock recovered from USB?

Also, where does a person purchase the DAC described in prior posts? I remember it from a while ago when it was a concept, not a product. The linked "data-sheets" are not data-sheets, they're product briefs, i.e. advertisements.

FIR filters and minimum phase

For the record I think the comments about minimum phase FIR filters may be misguided (e.g. remarks related to "pre-ringing"). For example it is possible to convert a linear phase FIR filter to minimum phase (I think by reflecting all zeros outside the unit circle in the z-plane over the unit circle). One way of interpreting the result is that the filter delay at each frequency is minimized *at the expense of increased distortion* (in terms of phase). Why is such beneficial for you application? Because of reduced pre-ringing? Have you listened head-to-head to the sonic characteristics of a linear phase FIR filter and its associated minimum phase implementation? Looking in the time domain the minimum phase filter shifts the bulk of the signal energy to the beginning of the filter response but I'm not sure whether it shortens the interval over which the majority of signal energy occurs; therefore there's still ringing, it's just in another place. There are additional issues (like digitally correcting the phase distortion that is inherent in all drivers since they're electro-mechanical devices) but I'll stop here since the DAC construction is the main issue for now.


----------



## Neil_J

24th-Alchemist said:


> DAC & clock from USB.
> 
> Unless I missed something, I haven't seen mention of an asynchronous sample rate converted (ASRC) in your design. The I2S format data from the miniDSP device will be synchronized with the clock recovered from the USB data -- presumably "jittery". You can't just reclock the DACs with a low jitter source and read the I2S data that is synchronized to the USB clock without "bit-slip" or other problems. Have you decided just to use the clock recovered from USB?


Please correct me if I'm wrong, but I've already explained this above, and will re-explain here as best I can. USB Audio Class 2.0 allows the device to become the clock. It's literally called the "Asynchronous Master Clock", and usually it's a super-low-phase noise 22.5792 MHz and/or 24.576 MHz clock on the pcb. As the name implies, this sort of turns the host computer into a slave, and lets the master clock on the DAC control the "pace" of the data, all while running the DAC's MCLK directly from the low-jitter clock that's sitting right next to it. On the XMOS board, they're generating it from a PLL, and one of the things that I'll be doing is to measure the jitter, since noone else has bothered to do it yet  I will report back here with what I find. But generally, my research does not agree with your statements above. If you can provide a link to somewhere that proves me wrong, I will be very grateful  But I do not think at the moment that I am.



> Also, where does a person purchase the DAC described in prior posts? I remember it from a while ago when it was a concept, not a product. The linked "data-sheets" are not data-sheets, they're product briefs, i.e. advertisements.


I bought them from a guy named Subbu on the diyaudio.com forum. I was able to obtain the datasheets from an unnamed source on the same forum.. ESS does not distribute them publicly, likely because like everything these days, it's a patent minefield out there, and they don't want to get sued for anything they may or may not be infringing upon. I do have the DACs in my hand right now, as proved by the picture below:











> FIR filters and minimum phase
> 
> For the record I think the comments about minimum phase FIR filters may be misguided (e.g. remarks related to "pre-ringing"). For example it is possible to convert a linear phase FIR filter to minimum phase (I think by reflecting all zeros outside the unit circle in the z-plane over the unit circle).


The second part is correct. I plan to exploit this technique, and hopefully it sounds superior. We'll see when I get to that part of the project.



> One way of interpreting the result is that the filter delay at each frequency is minimized *at the expense of increased distortion* (in terms of phase). Why is such beneficial for you application? Because of reduced pre-ringing? Have you listened head-to-head to the sonic characteristics of a linear phase FIR filter and its associated minimum phase implementation?


I have, yes, I find pre-ringing to be especially annoying. ****ty MP3's pre-ring. There are many others who agree with me, including the late Michael Gurzon. Read the two articles if you haven't already, it explains it better than I can: 

Michael Gurzon - Why do Equalisers Sound Different?
[url="http://www.audiosignal.co.uk/Resources/Digital_room_equalisation_A4.pdf]Michael Gurzon - Digital Room Equalization[/url]
I will obviously be trying several filter types (including FIR linear phase, FIR minimum-phase, IIR butterworth, Linkwitz-Riley, etc...) and doing blind ABX testing on them, as I've mentioned at least once in my post(s) above. I'm not at all attached to any of these filter types, I'll use whichever fits my needs the best. I'll even be posting filtered audio here to see if anyone can blindly spot the difference.



> Looking in the time domain the minimum phase filter shifts the bulk of the signal energy to the beginning of the filter response but I'm not sure whether it shortens the interval over which the majority of signal energy occurs; therefore there's still ringing, it's just in another place.


Minimum phase filters are causal, period. Therefore, they will not pre-ring. They may or may not have other stuff going on, but my current standpoint is that pre-ringing must be avoided, other types of post-ringing are usually masked psychoacoustically, i.e. the brain doesn't seem to be bothered by it.

Just to make sure we're on the same page, here's an excerpt from the article linked above:
"One of the basic principles of science is the law of causality, that asserts that an effect cannot precede its cause. A causal filter is one in which the output does not emerge earlier than the input, and of course all real-world filters are of this type. In the digital domain, by adding an overall time delay so that one can have responses occurring before the delayed input (although after the actual input), one can simulate the effect of an acausal filter (ie one whose output responds before the input arrives), at the expense of having to wait a little.
A filter is said to have an inverse filter if the result of cascading the filter with its inverse is to give back the original input signal, ie the inverse filter exactly compensates the effect of the original filter. A causal (real world) filter is said to be minimum phase if its inverse is also causal. "

Thanks for the input so far, I'll have a lot more to talk about once the hardware is complete. I have to get the pcb's submitted soon, as there is a month or so lead-time once they've been submitted. During the waiting time, I'll likely start on the active matrix decoding stuff first (likely Nov-Dec), then jump into the filtering stuff (December thru February or so).


----------



## 24th-Alchemist

> Please correct me if I'm wrong, but I've already explained this above, and will re-explain here as best I can. USB Audio Class 2.0 allows the device to become the clock.


Sorry I must have missed the part about "_USB Audio Class 2.0 allows the device to become the clock_". I'm not up to speed on USB protocol and I have no reason to think you're not right.

So is an ASRC a software component of USB 2.0 hosts then?



> I bought them from a guy named Subbu on the diyaudio.com forum. I was able to obtain the datasheets from an unnamed source on the same forum.. ESS does not distribute them publicly, likely because like everything these days, it's a patent minefield out there, and they don't want to get sued for anything they may or may not be infringing upon. I do have the DACs in my hand right now, as proved by the picture below:


Wow, impressive and cryptic. I guess it helps to "know people", or at least to know _Subbu_. I hope those "underground" DACs perform as they claim. (And can I buy some from you if you have any extras? How much?).

Finishing up with hardware comments, thanks for sharing, this looks impressive. As I've stated previously, if It were me I'd put your DACs in your amps and replace the DACs on your block diagram with an optical S/PDIF transmitter like a (publicly available) CS8406. This to obviate the potential for fidelity loss on RCAs and pre-amp. But you've stated your reasons for doing otherwise and it's your project. I'm eager to see it develop. Clearly lots of solid legwork thus far; kudos.

Regarding filters...

You got me wondering about FIR minimum phase so I am in the process of comparing what I consider to be two "apples to apples" filters: a linear phase FIR filter and it's minimum phase counterpart. For me your contention that "_MP3's have pre-ringing and they often sound bad therefore pre-ringing must be avoided_" is too vague." MP3's may have pre-ringing, and those MP3s may sound bad, but that does not imply pre-ringing always is bad. Why is filter causality such a concern? Intuitively speaking why is "pre-ringing" from a cymbal that is yet to occur (linear phase FIR) any worse than post ringing from a cymbal that has already occurred (min phase FIR)? You say that



> ... my current standpoint is that pre-ringing must be avoided, other types of post-ringing are usually masked psychoacoustically, i.e. the brain doesn't seem to be bothered by it.


Any references from reputable sources that back such psychoacoustic contentions? I think an appropriate comparison is a linear phase FIR filter with its associated minimum phase counterpart, not the sound of some MP3s. (And by the way, reflecting zeros that are outside the unit circle over the unit circle as I stated previously is not quite the path to minimum phase; instead zeros outside the unit circle must be replaced by their reciprocal conjugates, along with a gain adjustment; I'm in the process of trying to implement this instead of using a "canned" procedure but it's getting tricky at the moment dealing with the conjugate pairs of filter zeros).

I like you idea of ABX testing filters and in fact I've done something similar and posted about it on this forum (relating to the audibility of phase distortion from idealized Linkwitz-Riley filters, see text below figure here). One problem however is that in a car there are reflections that really make things difficult. Also the electromechanical properties of speakers will introduce phase distortions. Thus I'm not sure how relevant testing ideal crossovers on a PC is to an automobile cabin, but on the other hand if different crossovers are tested in a vehicle how would a person separate cabin characteristics from crossover attributes (too many variables). For reason along such lines I think it may be worthwhile to devote some thought to establishing goals and constraints relating to cabin geometry and speaker limitations that will provide a focused criterion by which various filters can be compared and evaluated.

Lastly, I've tried to read the links you've provided about sound but broadly speaking I find them too "touchy feely". Stuff like this for example:



> One of the basic principles of science is the law of causality, that asserts that an effect cannot precede its cause. A causal filter is one in which the output does not emerge earlier than the input, and of course all real-world filters are of this type. In the digital domain, by adding an overall time delay so that one can have responses occurring before the delayed input (although after the actual input), one can simulate the effect of an acausal filter (ie one whose output responds before the input arrives), at the expense of having to wait a little.
> A filter is said to have an inverse filter if the result of cascading the filter with its inverse is to give back the original input signal, ie the inverse filter exactly compensates the effect of the original filter. A causal (real world) filter is said to be minimum phase if its inverse is also causal.


Yes, they are related statements. And the point is? (Rhetorical, no need to answer).

Great project; thanks for all your work and thanks for posting about it. Good luck. I am eager to see this develop.


----------



## Neil_J

24th-Alchemist said:


> So is an ASRC a software component of USB 2.0 hosts then?


It's not at all a part of the USB 2.0 audio class spec; my device (ES9023) does utilize some sort of of jitter prevention, but the datasheet is vague on this. Not sure if it's ASRC like it's big brother, the ES9018 has (which has, btw, been tested quite a bit, and performs very well subjectively and objectively). The ES9023 datasheet says, "Patented Hyperstream(TM) and Jitter Elimination (Jitter immune)"... The hyperstream refers to the control loop in their sigma-delta modulator, which reduces noise/thd. I'd bet that while "jitter elimination" is purely marketing speak, it should still however be a bit better than none at all, at least from an objective standpoint. The ES9023 has been measured at the system-level on a few boards, notably the ODAC by NwAvGuy. He includes jitter measurements taken on a dScope (called a "Jtest" which was designed by Julian Dunn at Prism Sound, and published by the Audio Engineering society). I plan to do my own jitter testing, as obviously a lot of it is design-dependent. I can't wait to see how good (or bad) it performs... It will a side-by-side test with my iPhone, an iPad, my crappy Kenwood CD player, and, if I can find one, an "audiophile CD player", such as the Pioneer DEH stuff, or the uber McIntosh or Denon gear. I'm not certain that people here will like what I find out, but that's science for you 




> Wow, impressive and cryptic. I guess it helps to "know people", or at least to know _Subbu_. I hope those "underground" DACs perform as they claim. (And can I buy some from you if you have any extras? How much?).


Lol, I guess it was  I'm fresh out of the ESS DACs, but there are always group buys on the forum. There's at least one website that stocks them but has a $100 or so fee on top of any order  Obviously the more you buy, the less the fee matters.

I only used the ES9023 because of the low parts count and decent performance. There are a number of other DACs that would sound just as good, if not better. My design philosophy was that the 80-90% of DAC performance really isn't the DAC, it's the clocking/absence of jitter, power supply design, PCB layout, and output drivers that make or break them.



> Regarding filters...
> 
> You got me wondering about FIR minimum phase so I am in the process of comparing what I consider to be two "apples to apples" filters: a linear phase FIR filter and it's minimum phase counterpart. For me your contention that "_MP3's have pre-ringing and they often sound bad therefore pre-ringing must be avoided_" is too vague." MP3's may have pre-ringing, and those MP3s may sound bad, but that does not imply pre-ringing always is bad. Why is filter causality such a concern? Intuitively speaking why is "pre-ringing" from a cymbal that is yet to occur (linear phase FIR) any worse than post ringing from a cymbal that has already occurred (min phase FIR)? ....
> Any references from reputable sources that back such psychoacoustic contentions? I think an appropriate comparison is a linear phase FIR filter with its associated minimum phase counterpart, not the sound of some MP3s.


Yes, there's quite a few papers that I've read, I would have to go dig them up. A simple google search turns up quite a few. It's quite a hot topic, as everyone doing the digital room correction stuff is deeply looking into (and listening to) different filtering methods... The notable one being an FIR filter with an arbitrary frequency response, which can (but not always) be linear-phase. I believe the comment about MP3's is relevant, especially to the _other_ people reading this thread, because it's something everyone has heard, and does in fact have pre-ringing artifacts. Yes it's apples to oranges, but it helps me relate it to people that aren't filter experts (i.e. 99.999999% of humans on this planet).



> I like you idea of ABX testing filters and in fact I've done something similar and posted about it on this forum (relating to the audibility of phase distortion from idealized Linkwitz-Riley filters, see text below figure here). One problem however is that in a car there are reflections that really make things difficult. Also the electromechanical properties of speakers will introduce phase distortions. Thus I'm not sure how relevant testing ideal crossovers on a PC is to an automobile cabin, but on the other hand if different crossovers are tested in a vehicle how would a person separate cabin characteristics from crossover attributes (too many variables).


Ah, but my ABX test is _in_ the cabin with me, running on my CarPC  So I get to touch a button and switch between different filter types, without knowing which one I picked initially. This is obviously as real as it gets, it's truly system-level testing, only one variable -- the filter. Obviously as my system is upgraded (relocating front mids/tweets, for example, or possibly redoing my sub stage), I can go back and try them again if I so wish.




> Lastly, I've tried to read the links you've provided about sound but broadly speaking I find them too "touchy feely".


That's because they were published to an "audiophile" magazine in the uk; they were articles about deeply technical subjects, to an audience that likely didn't have a strong math or engineering background. Mr. Gurzon did include references to more technical articles at the bottom. I think they do a great job illustrating concepts, but yes, they're obviously deficient on the math side. I do for the most part agree with the concepts he mentions.

Thanks 24th-Alchemist, for asking the hard questions  I do hope to keep an active discussion on this stuff, otherwise I'm wasting time posting this stuff here. Please post any and all questions/concerns/comments, this is really a learning experience for me and I appreciate the dialog


----------



## req

i just want to say neil, that this is all way above like 98% of peoples heads 

i love reading threads that blow me away


----------



## Neil_J

Well GOOD, I just love challenging the status quo


----------



## Neil_J

Btw, I've spent the last year or so being blown away by (mostly acoustic) advanced/technical threads on this forum. It works both ways.


----------



## wa0zog

Sub'd for sure! I can see I'm gonna have to go back and re-read the whole thread even more thoroughly... There's a lot of stuff that really interests me in your build, that's for sure! Looks like a good build that's really a lot of fun and going to sound incredible.

Keep up the great work!


----------



## Neil_J

So I got my custom 40x2 amber-on-black LCD from China via DHL today. As mentioned earlier, I couldn't find any local U.S. distributers with anything close to this, and ended up finding this one on alibaba.com. It's from a company in Guandong, China named EastRising Technology Co., Ltd., part# ERM4002DNAM-1. I payed $11.10 for it, plus $33.00 for the DHL shipping.




Since it's a raw LCD, it requires the following 16-pin interface:


Code:


1  VSS (GND)
2  VDD (+5V)
3  V0  (contrast adjust)
4  RS  (1=Data,0=Instruction)
5  R/W (1=Read0=Write)
6  En  (Enable on falling edge)
7  D0  (Data bit 0)
8  D1  (Data bit 1)
9  D2  (Data bit 2)
10 D3  (Data bit 3)
11 D4  (Data bit 4)
12 D5  (Data bit 5)
13 D6  (Data bit 6)
14 D7  (Data bit 7)
15 LED backlight anode
16 LED backlight cathode

As mentioned in an earlier post, I'm using an Arduino to drive the above pins. Specifically, I'm using the Arduino Mega 2560 R3. I had mentioned that I wanted to use the ARM-based Arduino Due, but they're not available to buy yet  Also, they have 3.3v logic, so the Mega is really the better choice. 

First step when working with an off-the-shelf Arduino is to obtain a shield, which is a stackable board that you hook your I/O to. I chose the NKC Electronics MEGAshield kit, and modified it a bit by adding two Sparkfun self-adhesive breadboards, which gives me a ton of prototyping space in a tiny area. Since the breadboard puts the SPI port out right in the middle of the board, I chose to re-route them to the far side of the board, along with the reset switch.



















Just a random shot of the bench with a ton of parts piling up :blush: The black rectangle on the left is the in-dash TFT LCD.









Here's the finished Arduino Mega module with prototyping area:









And a shot with the aforementioned LCD wired up:









I wrote a quick program to display some text. I also implemented a digital contrast control, that I'll describe better in a later post. This is the great thing about the Arduino. This was the first time I've interfaced an character-based LCD, and I literally was able to write the program and debug it in less than 15 minutes. They've already done all the hard work, the only reason it took longer than expected was an error on their documentation page.









Tomorrow I'll hopefully have time to get the buttons and knobs wired up. I've been putting this off, but now that I have the LCD, and the DAC is 99% complete, it's becoming more of a priority.


----------



## n_olympios

This is way over my head but I love it.


----------



## Neil_J

Here's the work necessary to interface the OEM knobs and buttons. The original board used a very dense 0.5mm pitch 50-pin flat-flex cable. The connector was removed, 30-guage wire-wrap wire was soldered directly to the pads, and strain-relieved with hot glue.









A 20-pin 0.1" pitch male header was soldered to the wire leads, and strain relieved with 1/16" heat shrink tubing.









Hot glue was added on top of the heat shrink to ensure that everything stays in one place.









The board above was re-installed in the the button housing, and the new LCD was placed where the the stock one used to be. The new LCD and the plastic housing required about two hours of sanding, dremeling, and plastic-whittling with an x-acto blade. There was too much cursing and screaming at this point to take any pictures.









Here's how it looks right now. The new LCD still doesn't fit where I want it to. It's a little too far up and the bezel cuts off part of the top row of LCD dots. I'm going to do some more sanding and dremeling to see if I can get it to line up better.


----------



## ansuser

Man, when I see such kind of things being done and posted in the midnight, two words come to my mind:

1. DEDICATION

2. DIVORSE

Be careful with the second one 

And one quick note. I know your LCD screen is in demo mode now, but why do you want fader and balance controls in DSP system 

Keep going! It's very cool!


----------



## Neil_J

ansuser said:


> Man, when I see such kind of things being done and posted in the midnight, two words come to my mind:
> 
> 1. DEDICATION
> 
> 2. DIVORSE
> 
> Be careful with the second one
> 
> And one quick note. I know your LCD screen is in demo mode now, but why do you want fader and balance controls in DSP system


Were not married yet, but she's pretty cool about car audio stuff. I'm supposed to make her a box for her MINI today (Image Dynamics 12). I actually only work on this project a few hours a day, if that; I just use the time I have efficiently. That's where my invented sport of "Extreme Circuit Boarding" came from 

As for the demo screen, it is just a placeholder for now. Just wanted to see which characters on the LCD lined up with the soft-keys. Obviously 12 doesn't go into 40 that cleanly, but you can still get pretty close.


----------



## req

awesome


----------



## Neil_J

Here's the schematic to the "Arduino Brainstem" that ties together the CarPC, the Carnetix P1900 DC-DC converter, the 7" capacitive touchscreen, 40x2 FSTN LCD, the OEM knob-and-button interface, the RS-485 bus that controls the amp racks' LEDs, amp gain, and current/voltage measurement, and other bits. 

This stuff might eventually be routed onto a custom printed circuit board, but for the moment, it's all prototyped on breadboards with jumpers, as shown in my recent posts. 

*PAGE 1: ARDUINO MEGA/DUE SHIELD HEADERS*








The first page shows the the connectors to the Arduino Mega. It has ~53 digital I/O pins, 14 analog-to-digital pins, a SPI port, and I2C port, and four serial ports. All the other I/O on the other pages of this schematic eventually make it to the Atmega 2560 processor via the connectors on this page. Since the brainstem attaches to the Arduino via stackable connectors, you don't get to see the Arduino processor here; just the connectors to it.



*PAGE 2: OEM KNOB AND BUTTON INTERFACE*








This page shows (A) the 40x2 LCD interface (as I mentioned two posts ago), and (B) the OEM knobs/button interface. This interface was reverse engineered by me a few weeks ago. The physical interface is as follows (from memory, as I've not used them for a few months):


*12 "soft" buttons* under the LCD, the function(s) depend on the mode)
*Mode button* (source select. FM, AM, XM, CD, etc)
*Menu button* (I think this brought up the trip computer)
*"Left" button* (Previous track, search left, and/or rewind)
*"Right" button* (Next track, search right, and/or fast-forward)
*"M" button* (M stands for "manual", it normally changes the L/R buttons from auto-scan to manual scan).
*"Music" button* (brings up equalization/fade/balance controls)
*"Phone" button* (used for hands-free calling)
*Eject button* (Not used for this build, as it's not located in the speedo cluster)
*Right encoder knob* (volume and momentary push-switch for power)
*Left encoder knob* (function depends on mode. has momentary push-switch as well)

The buttons above are read through nine pins (four columns setup as "outputs", and five rows setup as "inputs"). Sequentially, each column outputs a "1" while the others are "0", and then rows 1-5 are read. This is repeated for the other three columns. Here's a map of which buttons correlate to the rows and columns:


Code:


      | COL1  | COL2  | COL3  | COL4
 -----|-------|-------------------------
 ROW1 | EJECT | MODE  | B2    | B7
 ROW2 | B12   | LEFT  | B3    | B8
 ROW3 | MUSIC | M     | B4    | B9
 ROW4 | MENU  | B1    | B6    | B11
 ROW5 | PHONE | RIGHT | B5    | B10

The two encoders and their momentary switches are not a part of the columns above. Each encoder outputs an "A" and "B" quadrature, where "B" is 90 degrees out of phase with "A". So if you count the pulses on "A", you can reference "B" to see whether the knob was turned clockwise or counter-clockwise. Here's an picture of from Wikipedia Commons that shows an encoder as it would show up on an oscilliscope:









The two momentary push buttons on the encoders have their own pins, which are configured as inputs. That concludes the OEM knob/button interface.

The LCD controller, as explained in a previous post, uses the following set of pins:


Code:


1  VSS (GND)
2  VDD (+5V)
3  V0  (contrast adjust)
4  RS  (1=Data,0=Instruction)
5  R/W (1=Read0=Write)
6  En  (Enable on falling edge)
7  D0  (Data bit 0)
8  D1  (Data bit 1)
9  D2  (Data bit 2)
10 D3  (Data bit 3)
11 D4  (Data bit 4)
12 D5  (Data bit 5)
13 D6  (Data bit 6)
14 D7  (Data bit 7)
15 LED backlight anode
16 LED backlight cathode

The V0 pin (contrast adjust) normally goes to a potentiometer. I opted instead, for a digital-to-analog converter that simulates the potentiometer; this way, I can adjust contrast from the CarPC. The DAC is an MCP4725 that is commanded over I2C. I got this code working two nights ago, I find that a value of 150 is about perfect (with the overall range being from 0 to 4095).

The backlight can be faded to any value through pulse-width-modulating the BSS123 MOSFET switch. This will hopefully be useful at night if the brightness needs to be turned down. Most of the time during the day, it will be set to fully 'on', as it would otherwise be washed out in the bright Florida sunlight.

*PAGE 3: 7" TFT INTERFACE*








This is the interface to the capacitive touchscreen (not shown is the HDMI-to-DVI connector and the USB touchscreen adapter that goes to the Mac Mini. IC3 is a 50k digital pot that emulates the buttons on the TFT, as I documented in an earlier post.

*PAGE 4:SERIAL DATA (GPS AND AMP RACK)*








This is the serial RS-485 link to my custom amp rack, where I can control the gains of all four XD-series amps, measure the voltage, current, or power from each amp, and set the brightness of the 22 channels of the 500 or so LEDs in the rack. I made the protocol up myself, and is kind of a nod to the awesome computer programming language of LOLCODE:


*OH HAI!* - Starts the session
*CAN HAS STATUS AMPx?* - Gets the status of AMPx, where 'x' is 1-4.
*POWER TEH AMPS 0,1,1,1* - Global command to turn on amps 1-4.
*TURN TEH SHINIES ON!* - Turns on the 500 or so LEDs. 
*TURN TEH SHINIES OFF* - Turns the LEDs off. Normally they're off, and get turned on when the trunk opens.
*SET GAINx 255* - Set the JL Audio XD amp gain for channel x, where 'x' is 1-4. Gain is 0-255, with 255 being the loudest.
*GIMMEH ADCx* - Gets the voltage and current measurements from amp 'x', where 'x' is 1-4.
*SHINIES 0xFFFFFFFF,FF* - Sets the PWM LED brightness. The first part is the channel bitmask, so certain channels can be ignored or programmed. The second part is the LED PWM value (0-255 in hexadecimal).
*NIXIES 9876, 9999, 0999, 2344* - Sets the digits on the nixie tubes. This is a global command where each group gets sent to an amp.
*DPS 11111,00000,10101,01010* - Sets the decimal places between the nixie tube digits (kind of like a calculator where there's a decimal point between each digit). This is a global command where each group of five gets sent to an amp.
*INDECATERS 1111,1011,0101,0000* - Sets the indicators LEDs to the right of the nixie tubes. 
*KTHXBYE* - Closes the session

There's also future capability to add an EM406 GPS receiver to the Arduino. Not really used so much for navigation, but for things like actual speed estimation (most speedo's are off by 5% or so, especially if running aftermarket wheels), getting accurate UTC time, calculating sunrise or sunset based off of UTC time and GPS position, which can be used to dim or brighten interior and amp rack lighting.... Also a "Find My MINI" feature if someone steals it 


*PAGE 5: POWER DISTRIBUTION*








This page shows the power and +12V remote turnon coming from the car, and the power distribution to and from the Carnetix P1900 DC-DC CarPC power supply. The "DLYON" signal out of the P1900 is usually used to turn the amps on after the CarPC is started. In this case, the signal is sent to the Arduino, which can then decide whether to the amps on or off. The same logic applies to the CarPC turnon signal: rather than sending the car's +12V remote-turnon signal directly to the CNX-P1900, the Arduino interrupts it, which gives the option of 
(A) "always on" operation, where the CarPC stays on regardless of key position, 
(B) "auto" operation, where the CarPC turns on and off with the car igntition, and 
(C) "off" where the CarPC stays off.



Clear as mud?


----------



## Neil_J

Update 12/14/2012

The FrankenDAC pcb design has been finalized, ordered from China, manufactured, and shipped. All component parts have been ordered. I should hopefully have everything in my hands in less than a week, and should be playing multi-channel audio by Christmas.

The Arduino Brainstem (described in my last post) has been assembled, and is working fully. Still have some Arduino code to write, but that will be an ongoing thing.

The rest of my time has been spent doing mundane holiday stuff, and repairing/rebuilding a 1930's era Philco AM vacuum tube radio with fresh components.

Over my Christmas break I hope to get a center channel installed in my dash (Tang Band 3" bamboo since I'm poor, I'd much rather have a third HAT L3SE  ), get the CarPC installed, and get the basic software framework together to play audio and let me play with filters.. And attempt to write the matrix surround/center decoding if I have time.


----------



## JayinMI

You are the man! I've just started playing with my Arduino Uno to interface my BitOne with my SWC's. I can see this thread will be very helpful as I continue on. One question for you...I've been on the Arduino.cc forum and my original intent was to analogRead a pin to get the value from my steering wheel control buttons, decide if it needs to control something or if I need to let it pass to the HU. I figured (originally) that I could simply use a PWM output (taking the value it read and dividing it by 4 to get the output voltage I need) and feeding the input to the radio via digitalWrite.

However, I've found that this will not work, and it has been suggested that by using a low pass filter (resistor/capacitor) it may. Do you think that is right?
If it is, I'm unsure how to choose the values for the components for the filter. Got an tips?

Thanks.

Jay


----------



## Neil_J

JayinMI said:


> You are the man! I've just started playing with my Arduino Uno to interface my BitOne with my SWC's. I can see this thread will be very helpful as I continue on.


Thanks, I was starting to wonder whether anyone was getting anything out of this thread :worried:



> One question for you...I've been on the Arduino.cc forum and my original intent was to analogRead a pin to get the value from my steering wheel control buttons, decide if it needs to control something or if I need to let it pass to the HU. I figured (originally) that I could simply use a PWM output (taking the value it read and dividing it by 4 to get the output voltage I need) and feeding the input to the radio via digitalWrite.
> 
> However, I've found that this will not work, and it has been suggested that by using a low pass filter (resistor/capacitor) it may. Do you think that is right?


If you're trying to generate an analog voltage, I would do it with an actual DAC. If you look at my second-to-last post, you'll see that I used an MCP4725 chip to generate an analog voltage for my LCD contrast. Sparkfun sells a breakout board, and I can send you the code.

The PWM trick may work, but using a DAC isn't much more effort, and works much better.

Good luck and PM me or post here if you have any questions with your Arduino project.


----------



## JayinMI

The PWM trick didn't work. I even tried a setup where I interrupted the SWC wire with a relay, monitored the side coming from the steering wheel and then if it was something other than Vol Up, Vol Dn, or Mode it completes the circuit to allow the signal to pass through. That didn't work either. I've been contemplating using a DAC, tho. I'll look into it a little more.

Thanks.

Jay


----------



## Neil_J

JayinMI said:


> The PWM trick didn't work. I even tried a setup where I interrupted the SWC wire with a relay, monitored the side coming from the steering wheel and then if it was something other than Vol Up, Vol Dn, or Mode it completes the circuit to allow the signal to pass through. That didn't work either. I've been contemplating using a DAC, tho. I'll look into it a little more.


Not sure what a SWC is, otherwise I could probably help better :blush: Send me a PM, I'd like to get a better idea of what you're doing (or a phone number to reach you at), I'm 100% sure that I can give you all the help you need to get it working.


----------



## JayinMI

SWC = Steering Wheel Controls.

I'll shoot you a PM after I get off work tomorrow.

Jay


----------



## Neil_J

JayinMI said:


> SWC = Steering Wheel Controls.
> 
> I'll shoot you a PM after I get off work tomorrow.


Ah. I'm doing steering wheel controls on my MINI as well. Will probably be a PITA. I'm doing it all with the Arduino Brainstem, but I haven't removed and checked the wiring on my steering wheel buttons. My guess is that the pcb contains a CAN bus microcontroller, and since my Arduino doesn't speak CAN bus, I'm guessing that I'll simply cut the traces and run direct wires back to Arduino.


----------



## JayinMI

Any updates?

Other than the fact I ordered the DAC breakout board a little while ago and put in a $158 order to SparkFun last night, I haven't done anything.

Considering switching to a Mega 2560, and an 8 position 5v relay board to handle the controls w/o having to mod the radio....except for adding optical out. I already have the Toslink Transmitter.

Jay


----------



## Neil_J

JayinMI said:


> Any updates?


I can promise a big update tomorrow night  I've been making a lot of progress over winter break, but wanted to post everything at once.


Switching to the 2560 isn't a big deal, I'd say go for it if you need the pins. The code is identical to the vanilla Arduino, so all your existing code will be fine. Buying one probably costs less than an hour of labor that you would bill to a customer


----------



## JayinMI

RadioShack is closing them out, so the price is reasonable. (Around $65 IIRC)
I ordered another ATMega328p for my Uno (which I hope will fix my burned out pin 9)...I can keep playing with the one I have and then replace the chip when the bugs are worked out.

It looks like I need to open up the radio and find the point after the resistor where it monitors the voltage of the buttons and cut it. Then I should be able to just use the DAC to send the appropriate voltage in to the radio on the existing pin....if that doesn't work, I can switch to the 2560 (which has a metric-sh*t-ton of outputs) and a cheap 8 relay board to simply short the wire through a resistor to ground. I KNOW that will work, but I don't want to hear relays clicking away in my dash every time I hit a button.

If the DAC idea does work, I should be able to pull off everything I need with the Uno.

Looking forward to the update!

Jay


----------



## JayinMI

Out of curiosity, could you have used a digital pot for contrast instead of the DAC? What is the advantage of the DAC?

Jay


----------



## Neil_J

JayinMI said:


> Out of curiosity, could you have used a digital pot for contrast instead of the DAC? What is the advantage of the DAC?


Yea, either will work. I'm not sure what my reasoning was at the time. I think it was because I had a spare DAC breakout board laying around for prototyping purposes, and no digital pots laying around.


----------



## 14642

OK. Neil wins. My hat's off. This is ALL of the car PC stuff I wished I could have done when I put mine in. Too cool for school.


----------



## Neil_J

Andy Wehmeyer said:


> OK. Neil wins. My hat's off. This is ALL of the car PC stuff I wished I could have done when I put mine in. Too cool for school.


Thank you, I'm just glad someone's still paying attention here. But what about that call you promised me months ago, good sir? I never heard back from you 



BTW, I'm soldering together the custom DACs now, I'll have photos up very shortly.


----------



## n_olympios

Neil_J said:


> I'm just glad someone's still paying attention here.


Are you kidding? I'm taking notes for my next install. Not that I'll be able to replicate even half of what you've achieved here, but still I'm stealing ideas.


----------



## quietfly

As always Neil you continue to wow us all. i can't wait for your big update!


----------



## quietfly

Andy Wehmeyer said:


> OK. Neil wins. My hat's off. This is ALL of the car PC stuff I wished I could have done when I put mine in. Too cool for school.


Neil's is pretty awesome, but your's is not to shabby either....


----------



## IBcivic

Neil_J said:


> I'm just glad someone's still paying attention here.


Most lurkers are probably speechless, like me..


----------



## bbfoto

Chomping at the bit to see what's next! Infkncredible!


----------



## Neil_J

OK, below is the mini-build log for my custom DAC project. Here's the link to the post where I described all the important design details: 
http://www.diymobileaudio.com/forum/1748052-post73.html
Please read that post before asking any "why did you do it this way?" sort of questions, the answer is probably already there 

Here's a really quick summary for the lazy:

This is a custom-designed 10-channel DAC to interface my Mac Mini CarPC, to date I've not seen anything remotely like it. I designed the circuit (with a bit of borrowing from existing designs out there), sourced the component parts, did the printed circuit board layout, and then built the board assemblies.
This is a no-compromise SQ design. I wasn't content with just using off-the-shelf equipment from a Sweetwater Music catalog. I'm looking for very high SNR numbers to my amplifiers, to get a great dynamic range (my amps will likely be modded too). I will be attempting to compete with this system in March at the IASCA spring break nationals (and the MECA event there as well). Hopefully I can get my acoustic issues fixed by then.
I'm using the MiniDSP USBStreamer (image below) as my USB-to-I2S bridge (I2S being the most common electrical protocol that audio DAC chips use). This component is responsible for virtually all of the jitter (or lack of it), since it's providing all of the clocking signals to the DAC. 
Rather than use an expensive and complicated 8+ channel DAC chip, I decided to use individual low-cost stereo DAC chips and go with a "stacking" design. The clock signals are "fanned out" to the individual boards (with care taken to route the traces properly and prevent signal reflection. This design allowed me to do a lot of pcb layout tricks where I could keep all of the clock and analog signals guarded with a ground trace (which prevents signal crosstalk), and keep an uninterrupted ground plane (which prevents a lot of nasty EMI and other bad stuff from happening).
Total cost of the DAC project so far is $89 in component parts, $2.50 each for the custom circuit boards, and $145 for the MiniDSP USBStreamer. That's less than a lot of the ****ty pro-audio equipment, and I'll hopefully have better specs....

Here's a picture of the MiniDSP USBStreamer, 10-channel USB-to-I2S converter. The yellowish stuff on the USB connector is a piece of insulating Kapton tape.










Here's the original block diagram that I proposed back on October 31:









Here's the schematic of the DAC PCB. I decided on the ESS9023P DAC chip because of the low-parts count, i.e. the KISS approach. Keep in mind that there will be five of these boards stacked on top of each other (for a total of 10 channels) to complete the final design. 

J1 is the connector to the MiniDSP USBStreamer. Each board can be configured to route either of the four I2S streams to the chip, via R5-R8. 
J2 is the power header and mute circuit.
J4 is the right RCA output.
J5 is the left RCA output.
IC1 is the DAC chip, the ESS ES9023P. It's specs are pretty good, but chip specs aren't as important as getting the board layout and component part selection right.
IC2 is a 3.6V low-dropout ultra-low-noise voltage regulator. I love Linear Technology parts, but they think their **** doesn't stink and therefore have very high prices; I opted to use the Micrel MIC5205-3.6YM5 instead (as have a few other hobby DAC designs).
SHIELD1 is an EMI shield (i.e. a faraday cage).
FB1 is a ferrite bead, which is used as an input EMI filter to the power supply.
You guys know what resistors and capacitors do hopefully, no need to explain those :laugh:










Beginning of the build phase:









Powering up for the first time. Checked the voltage regulator output voltage, and a few other test points.









A close-up shot of the first board while powered up and playing a 1 kHz sine wave. Disregard the flux and wire leads sticking out, those will be gone after the testing phase.









Here's the 1 kHz sine wave coming out of the DAC, and the 5V lab supply:









Next step was to install the EMI fence. As mentioned earlier, this is a faraday cage to keep out the nasty electromagnetic radiation that plagues my BMW-designed car 









Now with the EMI fence's "lid" installed.









The bottom of the PCB is a solid ground plane. I've never really seen a DAC that managed to have this before. RF guys use this technique religously, but consumer electronics do not (ever). A solid ground plane does many things for a pcb layout: It acts as a faraday cage for stray EMI (in both directions, i.e. radiated and susceptibility). It provides a quick "return path" for high-speed RF signals (keep in mind that my I2S clock lines are ~24 *MHz* with VERY high rise times. Any upset here will cause EMI and worse yet, jitter problems. Lastly, the solid ground plane provides a very beefy ground system with extremely low resistance, so that every point on the pcb seems the same ground potential (same reason you guys use beefy ground wires on your amps  ). The holes on the board are "vias", they're plated copper and pass the ground plane to the front side of the board (but you guys already knew that, right??  )









One more shot of the first guinea pig board.










I'm still waiting on one connector to get here, and will need to order some standoffs to attach the boards together. I'll post back later with more pictures and hopefully a listening test.


----------



## quietfly

this is totall aweSOME!!!


----------



## imjustjason

I think it's safe to say that this is next level stuff.


----------



## thehatedguy

IT's the level past the next level.


----------



## quietfly

its awesome to see the love put into system design like this. you can tell he truly loves what he's doing...

i think that makes all the difference in the world.


----------



## t3sn4f2

This is mediocre at best. Everyone knows a product that doesn't use a shiny copper Faraday cage can not be highend.


----------



## ErinH

sometime, someday, you'll have to explain to me in person wtf all of this means.  


Keep up the really groovy work, dude!


----------



## JayinMI

Um, WOW? This should be amazing. Yet another reason I should spend some time in Florida. LOL

Jay


----------



## JayinMI

n_olympios said:


> Are you kidding? I'm taking notes for my next install. Not that I'll be able to replicate even half of what you've achieved here, but still I'm stealing ideas.


Show this thread to guys at a shop (not mine) and ask what they would charge for something like that, and no matter what they say, ask "Why so much?" LOL

Jay


----------



## ansuser

OK. More to say, it is really cool!
I wished I have similar skills, it would save me $$$ for my upcoming home audio DRC project.

Couple of questions though: 
1) You opted for USB transport for all the digital audio supply. Are you going to use USB isolator to stay away from PC noise?
2) Are you sure USB 2.0 bandwith is enough to supply 10 channels with 24 bit 96 kHz streams as you planned?

And I am really interested to know how your PC would detect these 5 DACs in the same order every time you power up your system. Is it something that USB streamer is responsible for? What about *ASIO* support ???


----------



## req

tons of people are watching neil 

your **** is off the chain.


----------



## Neil_J

I spent the last four days with the full-blown flu, so pardon my lack of major progress. I really wanted to work on this project instead of rest, but my extremely high fever was making it impossible to get out of bed, let alone concentrate. Here's what little bit I did get done today:

Component assembly of the remaining four boards:


















Each module is conveniently labeled 1 through 5:









Here's the complete assembly, from the back. Notice the TOSLINK in and out connectors on the MiniDSP USBStreamer, and the connectors that pass the signals back and forth between the modules. 









And finally, a shot from the front. Next step is to design and fabricate a nice metal enclosure for the whole thing to sit in.









Channel 1 thru 8 have been tested and are working. Channels 9 and 10 still require a TOSLINK-to-I2S bridge to squeeze the maximum 10 channels out of the MiniDSP USBStreamer. For this, I'm planning on hacking up the $25 FiiO D3, as described by the Hifiduino blog.


----------



## SoundsGood2Me

Neil,
Sorry about the flu. Glad you seem to be recovering.

I am so impressed by your implementation and thank you for sharing it. It is so inspiring to see such well-crafted components created by an individual (with your micro-factories ).

Wish I could hear and see it in person, but I moved from Orlando long ago and now live near Boston. Please continue to describe it well. Good luck and thanks.

Simon


----------



## MarkZ

Just wow.

Sorry I wasn't able to review your design. Obviously, it's going just fine.


----------



## Neil_J

MarkZ said:


> Just wow.
> 
> Sorry I wasn't able to review your design. Obviously, it's going just fine.


There were a few really stupid mistakes that noone caught  I noticed them only a few minutes before submitting the pcb order to Shenzhen. Also, I'm surprised noone caught the "2Vpp RMS" caption on the block diagram which makes no sense (if you did catch that one, give yourself a pat on the back)

I still can't wait to give it a listening test later on, but I'm going to have to get the enclosure finished and some software written on the PC side.


On a separate note, I have been playing with active matrix surround sound extraction with great success. I can basically do what the MS-8 does with Logic7 (although in a much more rudimentary way), which is split stereo music into front, center, left, rear left, rear right, and sub. More on that in a later post.


----------



## MarkZ

Neil_J said:


> On a separate note, I have been playing with active matrix surround sound extraction with great success. I can basically do what the MS-8 does with Logic7 (although in a much more rudimentary way), which is split stereo music into front, center, left, rear left, rear right, and sub. More on that in a later post.


Subscribed.

And it's not even a thread yet.


----------



## Neil_J

MarkZ said:


> Subscribed.
> 
> And it's not even a thread yet.


Yea, that will be a separate thread  There's just so much to it (just ask Andy W. or read some of his posts on the subject in the MS-8 thread). I've coded up several different algorithms so far: passive matrix (i.e. L-R and L+R), Dolby Pro Logic 1, and a few different approaches of Dolby Pro Logic II. Next will be to tackle Logic 7. But here's the thing... Logic7 is much more complicated, especially when the left and right channels are slightly less than correlated. This complication is by design, as Harmann/Lexicon believed that this would gain them a slight edge over Dolby Pro Logic. No idea how long it will take to wrap my head around it.


----------



## Notloudenuf

Neil_J said:


> I spent the last four days with the full-blown flu, so pardon my lack of major progress. I really wanted to work on this project instead of rest, but my extremely high fever was making it impossible to get out of bed, let alone concentrate.


Good thing you didn't give that new computer










A virus


----------



## Neil_J

Well played, sir


----------



## Neil_J

Update 1/17/2013

Two more custom circuit boards have been designed and ordered (these are my last two, I swear  )

The first is an ultra-low-noise power supply board for the FrankenDAC. The second is the Arduino Brainstem that I described in a previous post (it ties together the knobs, buttons, switches, and other bits of the CarPC that need to be integrated in a clean way. I had prototyped this circuit out on a breadboard earlier and am now going through the steps to make a finalized rugged version. It has some new features that I added, I'll explain them when I get the boards back from China.

After this step, I'll finally be able to install everything in the car. I for one can't wait for all of these custom pieces to come together


----------



## evilspoons

Keep up the great work. Personally, I loathe programming in LabView because of its graphical nature, but that would probably work well for audio signals. Hopefully that Mac Mini has what it takes to keep up!

I am pretty impressed with your integration of the OEM Mini stereo controls. Soldering on that control PCB looks like a giant pain in the arse, but having nice solid buttons is something that can be appreciated. My Pioneer head unit uses its crummy resistive touchscreen to do way too much stuff. I frequently find myself yelling at it because it selected the wrong item.


----------



## quietfly

Neil_J said:


> Update 1/17/2013
> 
> Two more custom circuit boards have been designed and ordered (these are my last two, I swear  )


i've heard that before... but usually about amps or speakers.....  i hope to be able to hear this in person one day....


----------



## Wesayso

I can't wait to read how this will evolve... great stuff, I hope it brings you what you're after. So competing is in the plans for the future. That will scare a few (lol).
Keep at it, a project like this must be ringing around in your head all day, like while getting groceries you finally figure out that thing that bugged you .


----------



## oca123

Neil,

You are mentally challenged. Your Frankendac is absolutely not sexy. Dedication? Pff, you ain't got any. Passion? You and car audio are about as passionate as Harry Potter and Ginny.

Did I mention how un-sexy that Frankendac is?

Now please excuse me, I need to pull up the picture of the stacked DACs, close the door, close the blinds, and grab some lotion.


----------



## Neil_J

oca123 said:


> Neil,
> 
> You are mentally challenged. Your Frankendac is absolutely not sexy. Dedication? Pff, you ain't got any. Passion? You and car audio are about as passionate as Harry Potter and Ginny.
> 
> Did I mention how un-sexy that Frankendac is?
> 
> Now please excuse me, I need to pull up the picture of the stacked DACs, close the door, close the blinds, and grab some lotion.


You haven't even seen the acrylic and machined aluminum case that I designed for it yet


----------



## quietfly

Neil_J said:


> You haven't even seen the acrylic and machined aluminum case that I designed for it yet


 you sir are a leecher and a tease....


----------



## Neil_J

There's a big ol' LCD display that will be going in the boxy white area. Notice the microphone XLR connector on the right; the idea is that I'll be able to do RTA and DRC stuff right from the CarPC, using an off-the-shelf mic preamp and the USBStreamer's audio input at 24-bit / 96 kHz. Status LEDs are on the left-hand side. Overall size is around 9.5" x 2.5". Will be mounted in the trunk, next to the amp rack.









The back panel. USB, 8 RCA outputs, molex power connector, and five RJ45 connectors that route the RS485 serial data from the CarPC to the amp racks. The CarPC also provides a +5V turnon to the DAC and amp racks.


Oh, and *audio is a defunct audio company that I designed stuff for once upon a time. It seemed wrong not to put a company name and model name on the front, being that I'm paying FrontPanel Express to CNC engrave stuff into it 


The software stuff is still coming along too, but that will have to wait for a future post...*


----------



## bbfoto

When will the preorder be up for the FrankenDAC? 

Dammit, why can't the off-the-shelf DSPs have 10-channels?! :/

Looks freakin' great, man. Really looking forward to see this all come together. This is just BEYOND...mind-blowingly awesome!


----------



## quietfly

Neil_J said:


> Oh, and *audio is a defunct audio company that I designed stuff for once upon a time. It seemed wrong not to put a company name and model name on the front, being that I'm paying FrontPanel Express to CNC engrave stuff into it
> 
> 
> The software stuff is still coming along too, but that will have to wait for a future post...*


*

you should incorporate as them in the Cayman Islands and then start mass producing the Frank-n-DAC.

the offshore INc would protect you from the IP law suits and you'd make a bunch of enthusiasts happy. (not to mention a pretty penny)*


----------



## Neil_J

quietfly said:


> you should incorporate as them in the Cayman Islands and then start mass producing the Frank-n-DAC.
> 
> the offshore INc would protect you from the IP law suits and you'd make a bunch of enthusiasts happy. (not to mention a pretty penny)


Lol, one defunct audiophile company is enough for me, thanks  There's no market for the stuff I'm building, that's sort of the idea


----------



## quietfly

Neil_J said:


> Lol, one defunct audiophile company is enough for me, thanks  There's no market for the stuff I'm building, that's sort of the idea



i'm sure you could sell 10.....

i could list the people on the forum, that i'm rather certain would buy one at MS8/bitone pricing. not including the mac mini. I thinks you are under estimating the draw this kind of project has. besides you've done all the heavy lifting. you should share the fruits of your labor of love...

:laugh:


----------



## SciPunk

O_O...

US:









Neil:


----------



## oca123

I researched the market for this and while I don't doubt you could survive for a year on that product, the opportunity cost is too great and the future is not too bright.
Plus this is a hobby.

FrontPanelExpress is expensive dude. I think I have a coupon from them somewhere, let me know if I should look for it. Do you have special pricing or something, or are you paying normal retail for these panels?


----------



## sydmonster

Niel, I'm not going to pretend I understand the tech behind all this but applaud the incredible dedication and less-traveled path your taking; let alone willing to share it with us. What you have written makes pratical sense and the choices you made, assesed and re-made certainly help us/me understand.



Neil_J said:


> Earlier I mentioned that I've been completely fed up with the various car DSP's out there, both the vaporware ones, and the tried-and-true ones...
> 
> 
> ...As I've said in other threads, I'm sort of in the vocal minority here, because most SQ purists don't believe the stuff above, and frankly are content with what they have. Well I don't listen to CD's. I frankly don't know how any self-respecting audiophile would (dons flamesuit)...


+1 to the above. Even though I must admit that I fit in that pigeon-hole, except I'm not an audiophile or SQ purist and I do listen to CD's, but don't actually worry about the format, I have PC based music, LP, CD's, tapes... hell I'm on the look out for a working 4-track or 8-track player.

Why??

I'm throwing this one out, and wonder if in a way we both (and perhaps a few of here too) like music, first and foremost. Then, comes the technology both passive and active behind it all... pleasure comes from creation, be it the music itself or the tech driving it.  no?


----------



## Neil_J

oca123 said:


> I researched the market for this and while I don't doubt you could survive for a year on that product, the opportunity cost is too great and the future is not too bright.
> Plus this is a hobby.
> 
> FrontPanelExpress is expensive dude. I think I have a coupon from them somewhere, let me know if I should look for it. Do you have special pricing or something, or are you paying normal retail for these panels?


Oca123 is right. He and I have actual electronics manufacturing experience, so hopefully that adds some weight to our arguments.

The Front Panel Express plates were $80 or so. I won't tell you what my amp racks costed 

I would not run a company or otherwise produce a product where it wasn't built in the US, or was made with shoddy workmanship or crappy parts. I think the so-called "maker-revolution" happening now (i.e. the wave of new cheap fabrication techniques available to hobbyists) has largely fixed this. I don't have to worry about whether or not a product exists, I can just make it myself, and in some cases, I can just download it and 3d print it from home. For example, you can print an AR15 lower receiver and magazine if you have access to an SLA 3d printer. So what if manufacturers stop making them? That's the awesome thing about it. "markets" and business people can no longer dictate to me what I can and can't have. And furthermore, if you like what I've done, you can make your own! I'm doing all this stuff full-disclosure, you can download the files and may learn a thing or two along the way


----------



## quietfly

but what about those who don't have the same expertize?


----------



## Neil_J

quietfly said:


> but what about those who don't have the same expertize?


They can stop posting on message boards and try to learn some new skills


----------



## quietfly

ouch.... i can't learn any more skills and work at the same time. besides its 9 degrees here....


----------



## Sansui350A

Neil.. I got a random e-mail about this thread of yours, and I realized just how LONG it's been since I poked about to see what's been happening; BEAUTIFUL work man.. damn. I wish I had the fundage and dedication to my own system, but sadly life has really been in the way of that for me lately. Keep up the good work man, seriously.. Great to see you're releasing designs as well. -Love to pour over the schematics and learn a fair bit for myself... though as you know I plan to keep things more into the analog realm for my own system.. 

Cheers,
Shawn


----------



## oca123

Neil_J said:


> For example, you can print an AR15 lower receiver and magazine if you have access to an SLA 3d printer. So what if manufacturers stop making them? That's the awesome thing about it.


I know of a Stratasys that has been printing 24/7 lately..... but shhh


----------



## quality_sound

Neil_J said:


> Lol, one defunct audiophile company is enough for me, thanks  *There's no market for the stuff I'm building*, that's sort of the idea


My. Ass.


----------



## Hanatsu

Really impressive and pro build! Sub'd


----------



## oca123

quality_sound said:


> My. Ass.


I dare you to try to make a living off that DAC and custom FIR filters, etc. - by the time you are done having a GUI done so regular people can use it (cause you can't use labview) and a manual written, you'll already have spent a fat load of cash. Then you gotta somehow sell the product, provide support, etc.

Hey Neil, how much did the amp rack cost? I 3D scanned my trunk and designed a bad-ass amp rack in Solidworks. I even put textures on the amplifiers 
Now I need to get all the stuff laser-cut. I know polulu, big blue saw.... where did you get yours?


----------



## Neil_J

oca123 said:


> I dare you to try to make a living off that DAC and custom FIR filters, etc. - by the time you are done having a GUI done so regular people can use it (cause you can't use labview) and a manual written, you'll already have spent a fat load of cash. Then you gotta somehow sell the product, provide support, etc.


Amen.



> Hey Neil, how much did the amp rack cost?


$293.97. That's just for the machined plates. Alltogether, all of the parts, circuit boards, LEDs, etc were over $1,000. Probably well over $10-15k for the total build (there's a lot of wasted parts I never used, however). That's not including labor, which would probably be well over $50k if billed like a normal install shop would. Not even drug dealers would pay for something like that 



> Now I need to get all the stuff laser-cut. I know polulu, big blue saw.... where did you get yours?


I've had great success with Ponoko, they accept DXF and DWG which makes it easy. Polulu still doesn't have their **** straight with file formats, last I checked. Also another great bet if you're ok going outside of the U.S. is Seeedstudio.com, based out of Shenzhen China. It's where I get my PCBs made, now they're doing acrylic laser cutting at great prices.


----------



## quality_sound

oca123 said:


> I dare you to try to make a living off that DAC and custom FIR filters, etc. - by the time you are done having a GUI done so regular people can use it (cause you can't use labview) and a manual written, you'll already have spent a fat load of cash. Then you gotta somehow sell the product, provide support, etc.
> 
> Hey Neil, how much did the amp rack cost? I 3D scanned my trunk and designed a bad-ass amp rack in Solidworks. I even put textures on the amplifiers
> Now I need to get all the stuff laser-cut. I know polulu, big blue saw.... where did you get yours?


No one said he could make a living off of it. He said there was no market. There IS a market. A small one, but it is there.


----------



## oca123

OK, granted, there is a market... but serving it would be akin to doing charity work.


----------



## ansuser

oca123 said:


> OK, granted, there is a market... but serving it would be akin to doing charity work.


Well, may be there is a market indeed  :

Check out this DIYaudio thread


----------



## oca123

Oh, I told you I would post a pic of my setup when I had a carPC. Here it is... sorry, only picture I took of the setup. I only kept it for a month before I tore it down to try something else (I enjoy the "making" part of car audio more than the "listening" part, I guess)








The screen was running the Voxengo VST spectrum analyzer.


----------



## Neil_J

oca123 said:


> Oh, I told you I would post a pic of my setup when I had a carPC. Here it is... sorry, only picture I took of the setup. I only kept it for a month before I tore it down to try something else (I enjoy the "making" part of car audio more than the "listening" part, I guess)
> 
> 
> 
> 
> 
> 
> 
> 
> The screen was running the Voxengo VST spectrum analyzer.


Very cool. I've given in and decided to run a modular plugin host as well. As much as I wanted to do all of the processing in Labview, there's an open bug that prevents me from accessing more than two channels of audio. Labview has the processing power, but I can't get around the audio channel bug without some work. I decided to go with Plogue Bidule, a modular VST/AudioUnits plugin host, routed through SoundFlower. From there, any audio or A/V program on my CarPC can be routed through the various plugins with very little overhead. 

The "glue" that holds all of the pieces together is a custom Labview frontend, with the following "hooks" to the rest of the system: 

All configurations and settings of the VST/AudioUnits within Plogue Bidule will be controlled with the Open Sound Control protocol, via UDP network packets. For example, I can change equalization, time alignment, crossover frequencies, FIR convolution kernels, and more, all from a custom (and touchscreen-friendly) interface. All the code on the Labview side is custom, and tailored for whichever plugins I decide to use. I've never seen anything like this on a CarPC.
Dozens of custom AppleScripts, which allows me to programatically control just about anything that can be clicked or typed within OSX. With iTunes, I can play/pause/next-track/prev-track, goto a playlist, enable coverflow full-screen, rate songs, enable shuffle/repeat, and play a CD right from the CD drive. I can also lauch/switch applications, enable Expose and the Dashboard, show the desktop, and so much more... All from my custom Labview interface. 
All of the custom circuit board stuff I've done is controlled from Labview, over USB, to the Arduino brainstem. So the Labview app can turn the amps on and off, set the amp gain, set the TFT brightness, read the OEM knobs and buttons and steering wheel controls, control the DC-DC power supply, and other low-level stuff.

The only missing piece that leaves is the stereo-to-multichannel surround plugin. Since such a thing doesn't exist for under $600, I'm going to write it myself using Apple AudioUnits, which is very similar to a VST plugin (with the benefit of lower cpu/memory overhead, and the disadvantage of being Mac-only). The AudioUnits API has been awesome to work with so far. The entry to writing your own plugins is very low.

The greatest part of this plan is that I'm not doing any major development work or software writing... just "gluing" various bits together, albeit in some very clever ways, to make a very intuitive and coherent CarPC interface, that lacks all of the "rough edges" that I've experienced from Windows installations in the past.

P.S. I'm looking at the Voxengo plugins, and they're looking damn sweet, albeit a bit pricy. Do you still have licenses for them?? If you're not using them, are they transferable? I'd make it worth your while


----------



## JayinMI

Neil_J said:


> (...and the disadvantage of being Mac-only)


WHAT!?! hardly a disadvantage. LOL

Jay


----------



## oca123

> I decided to go with Plogue Bidule, a modular VST/AudioUnits plugin host, routed through SoundFlower.


I played with Bidule, but I didn’t really give it much of a chance since by the time I had installed it, I already had everything working with Audiomulch. My setup was with Windows 7 embedded though. I don’t know anything about OSX and how VST plugins and hosts work on that platform.



> From there, any audio or A/V program on my *CarMac* can be routed through the various plugins with very little overhead.


^ Fixed. 
This sounds similar to the carPC setup, with a dummy sound card driver which takes outputs and re-routes them to a virtual sound card, or built-in routing capabilities for some sound cards.



> The "glue" that holds all of the pieces together is a custom Labview frontend


That’s definitely going to be a very unique thing about your install. After all, there aren’t many people who are proficient with Labview and have a license they can use in their car… and it’s not like it would make sense to go get Labview to do what you say, unless you already had it.
If I had to do it all over again, I think I would look at what’s out there in terms of USB control interfaces for DJs (the kind that route into a MIDI input) as I know for example with Audiomulch you can map MIDI events to any setting on any VST plugin. Plus, MIDI supports keypress velocity, which could be used to do some trick ****, though I can’t think of an example right now.
I give you props and I fully understand and appreciate your approach with the custom electronics.... totally within the hacker mindset, and the best way to learn. I wish I had the motivation to get into it that deep.


> The only missing piece that leaves is the stereo-to-multichannel surround plugin. Since such a thing doesn't exist for under $600, I'm going to write it myself using Apple AudioUnits, which is very similar to a VST plugin (with the benefit of lower cpu/memory overhead, and the disadvantage of being Mac-only). The AudioUnits API has been awesome to work with so far. The entry to writing your own plugins is very low.


I know for PCs, VI Suite is free, and works pretty good for pseudo 5.1 and I know there was a forum online somewhere that was dedicated to upmixing plugins and had tutorials, etc. but i think it might be gone. A lot of the plugins were commercial anyway, and IIRC the forum was geared towards engineers who were remastering videos into DVD with multichannel audio or something like that. Some of these plugins were available as torrents... I think I played with the DTS one. It had a lot of options and it wasn't really meant for real-time upmixing, but rather for re-mastering existing content for new formats if you didn't have all of the individual tracks.

If you have to remain in the “white” and have licenses for everything, though, the DTS and Dolby stuff, IIRC was very pricy.

That is the whole purpose of Bidule, though. I believe it was built with that end in mind…. Create a configuration of plugins that can be saved as a block, and then used as a plugin in a new project. Actually, I’ll just go on their website and get the example:








There is a reverb effect, create by chaining more simple plugins together… it can then be saved as a group/function and re-used as part of a larger project:








(I am explaining this in more detail for the other readers here, I think you already got what I mean)

My point is that you should be able to implement your beloved center channel extraction algorithm in Bidule, and then use it within another Bidule project, which would be a stereo-to-12 channel upmixer, using the NeilCenterChannel, the NeilRearFill, the NeilAntiCrosstalk, and the NeilLongCapConvolver plugins.

But like I said, I don’t know Macs and it’s possible that this AudioUnits API stuff is even easier.



> The greatest part of this plan is that I'm not doing any major development work or software writing... just "gluing" various bits together, albeit in some very clever ways, to make a very intuitive and coherent CarPC interface, that lacks all of the "rough edges" that I've experienced from Windows installations in the past.


CarMac 

Windows 7 embedded wasn't that bad, actually. There was a feature that let you hibernate the machine once, then save the hibernation file forever and write-protect the drive and redirect writes to a temporary ramdrive, so every boot would result in the same environment, and sudden power-downs weren't an issue. Not to mention, trial versions of software based on a number of days, would never expire, provided you had a script to reset the BIOS date to the same date on bootup.
Also there is a standby function on Windows 7 machines that is similar to what you mentioned early on in this thread. My Windows tablet has it. In fact, all I have to do if I want a carputer now, is install a USB sound card in the trunk, and I can just hook up my tablet and use it for sound processing.



> P.S. I'm looking at the Voxengo plugins, and they're looking damn sweet, albeit a bit pricy. Do you still have licenses for them??


Uhmmmm, no... I never did... I have a software debugger.:shame:

Unfortunately I wiped the drive where the carPC resided. Some Voxengo plugins are available as torrents or on usenet, though.


----------



## Neil_J

oca123 said:


> I played with Bidule, but I didn’t really give it much of a chance since by the time I had installed it, I already had everything working with Audiomulch. My setup was with Windows 7 embedded though. I don’t know anything about OSX and how VST plugins and hosts work on that platform.


I know a ton of CarPC guys that run AudioMulch with pretty good success. I decided to give Bidule a try because it supports OSC, which helps me automate DSP settings a d presets I to the GUI, Also it's cheaper, and has a ton of included plugins ("bidules"), that are more elemental in nature than off the shelf VSTs usually are, e.g. straight up time alignment rather than using an off-the-shelf delay/reverb DAW effect with a clever preset to disable or minimize the reverb. This should should save me some plugin coding and/or plugin web searching.



> I know for PCs, VI Suite is free, and works pretty good for pseudo 5.1 and I know there was a forum online somewhere that was dedicated to upmixing plugins and had tutorials, etc. but i think it might be gone. A lot of the plugins were commercial anyway, and IIRC the forum was geared towards engineers who were remastering videos into DVD with multichannel audio or something like that. Some of these plugins were available as torrents... I think I played with the DTS one. It had a lot of options and it wasn't really meant for real-time upmixing, but rather for re-mastering existing content for new formats if you didn't have all of the individual tracks.
> 
> My point is that you should be able to implement your beloved center channel extraction algorithm in Bidule, and then use it within another Bidule project, which would be a stereo-to-12 channel upmixer, using the NeilCenterChannel, the NeilRearFill, the NeilAntiCrosstalk, and the NeilLongCapConvolver plugins.
> 
> But like I said, I don’t know Macs and it’s possible that this AudioUnits API stuff is even easier.


AudioUnits is the easiest (and most reliable) path for me to implement an active matrix steering algorithm, with my current skillset. You can't implement one out of DSP plugins and L-R / L+R stuff. It's much more complicated than that, unfortunately. I *might* be able to do Dolby PL1 in Plogue, but I would bet money it would be too slow to render without clicks. My Labview version needed some heavy optimization on the matrix multiplication before it would run real-time.


----------



## Neil_J

Ermahgerd   

Real progress has been made in the last few days:

- A custom Labview CarPC frontend has been written.
- I have the IASCA CD auto-playing when inserted into the Mac Mini
- The CD audio gracefully stops playing and the CD ejects after pressing the eject button.
- Full control of Play/Pause/Next/Prev., etc from the OEM radio buttons.
- Full "scrolling" artist/song/album info on top line of 2x40 LCD (extracted from CD text)
- Track current/total time, rating, and a clock on the bottom line of the LCD.
- Full room measurement via Room Eq Wizard
- Audio is being routed through SoundFlower into Plogue Bidule for digital signal processing. I'm still playing around with various plugins.
- Ten channels of processed audio are being routed to the FrankenDAC via the USBStreamer.

And, wait for it.....

- Full stereo-to-5.1-surround in real time, via a Plogue Bidule plugin! Without having to pay for anything
Without having to pirate anything
Without having to write any code

That last one has been a bit of a unicorn. I'll go into full detail on the surround sound stuff after I get a chance to listen to it in the car. I have basically a month until IASCA Spring Break Nationals on March 2/3, that time is going to be spent getting the CarPC done as soon as possible so I've got at least a little bit of time to chase down rattles and do some tuning.


----------



## ErinH

If you're half as good at tuning an audio system in a car as you are with executing design goals for one then I'm pretty sure you will have one of the best sounding cars at SBN. Good luck to you, dude.


----------



## oca123

Neil_J said:


> Ermahgerd
> - Full stereo-to-5.1-surround in real time, via a Plogue Bidule plugin! Without having to pay for anything
> Without having to pirate anything
> Without having to write any code
> 
> That last one has been a bit of a unicorn. I'll go into full detail on the surround sound stuff after I get a chance to listen to it in the car. I have basically a month until IASCA Spring Break Nationals on March 2/3, that time is going to be spent getting the CarPC done as soon as possible so I've got at least a little bit of time to chase down rattles and do some tuning.


Did you end up on here?

or did you use something like SonicBirth to convert the VI Suite plugins to something that can be used on a Mac?


----------



## Neil_J

oca123 said:


> Did you end up on here?


No, but it was from another tiny niche forum I'd never heard of with unicorns and leprechauns running around, no **** 

They're not ranked well with Google, but they've been around for years  i don't want to spill the beans until I've had longer to vet it out... I don't want to break their servers with traffic


----------



## oca123

Oooooooooooh. I didn't think they would still be around. Cool stuff.


----------



## Neil_J

The core of the surround decoder plugin is the Center Cut algorithm, described in this virtualdub.org blog post. From what I'm reading, it isn't an active matrix at all (which was what I've been after all along), and does exhibit some issues like center leakage, phasing issues, and even echoing effects in certain cases. I guess some listening tests are in order.


----------



## oca123

Hmmm ok, the forum I'm thinking about was butt ugly with a bright green background or something. there were a lot of quad guys on there.... this was back in 2009 or so.
They had a bunch of posts on various ways to upmix stereo into multichannel audio, but they didn't have "their own" software (as in, published by a member and endorsed by the forum)

So I found spec and the forum its on, and thats not the forum i went to. put it that way... the forum i went to, had parts of it hosted on someone's home connection using a dyndns-like domain. I remember that part, b/c it was often down.

Anyway, that looks kinda cool, I'll have to d/l and give it a shot someday.

Waiting for the results of your listening tests


----------



## quietfly

nice now you have to post some video. like a virtual walk thru..


----------



## Neil_J

My last two custom PC boards are here (from Singapore this time, guess it's bad when my China manufacturer is outsourcing to other poorer countries). I'm going to get them put together tonight, and this weekend hopefully getting the pieces installed in the car. Then spend next week polishing the software, and do a walkthrough video at that time. I'll upload some pictures tonight unless something comes up.


----------



## Neil_J

This is the board that I'm calling the "brainstem", it's an Arduino shield that ties in all the electronic stuff to the CarPC. Originally it was a breadboarded prototype, but I opted to spend an afternoon designing a custom circuit board to ensure that the whole thing will survive in a harsh environment for years to come. I've explained the circuit in a previous post, it hasn't changed with the exception of the added sensor modules described below.





































The little red modules above are sensors like you'd find in a Wiimote or a modern smartphone. One is a 3-axis accelerometer, and the other is a 3-axis compass. There's also a little surface mount connector in the corner for an EM406 GPS module. These aren't really important in the context of car audio, but will be nice to have later down the road. 

Everything is powered on the bench and working fine. Not bad considering if I'd gotten one of those holes wrong, it would have been a paperweight. I'll get some better pictures of it in action tomorrow afternoon.


----------



## Sansui350A

Neil, I've got some advice on what you might be able to do to get a proper balanced sound in that Mini, but with some fun "steering" of the sound as well.. I did a bit of toying with the old analog matrix stuff, so their MIGHT be a way to get the right kind of sound via the digital realm.. look up the Sansui QS Vario-Matrix to start with; it should give you some insight.

Cheers and great progress,
Shawn


----------



## quietfly

That my friend is Car PC PORN.....


----------



## oca123

carmac


----------



## quietfly

oca123 said:


> carmac


I don't know, carmac sounds dirty,* but not in a good way*. you know what i mean? its like using it in a conversation you can feel the _'wrongness'_.

for example:

"Hey man long time no see where have you been?"

"Bro you'll never believe it, i went to Thailand and caught carmac, the wife was PISSED, I needed to wait till the Med's kicked in then laid low till the wife stopped seeing red..."


----------



## quietfly

Neil_J said:


> The little red modules above are sensors like you'd find in a Wiimote or a modern smartphone. One is a 3-axis accelerometer, and the other is a 3-axis compass. There's also a little surface mount connector in the corner for an EM406 GPS module.....
> I'll get some better pictures of it in action tomorrow afternoon.


is this for your own performance monitoring? like those ones the pioneers had that would show g's pulled and 1/4 mile times etc....


----------



## Neil_J

quietfly said:


> is this for your own performance monitoring? like those ones the pioneers had that would show g's pulled and 1/4 mile times etc....


Yea, there are smartphone apps like Dynolicious that do the same thing. It's amazing what an accelerometer and a little calculus will do. The compass is for telling me which direction I am driving, because I sometimes end up driving the wrong way :-/ the GPS won't be used for navigation, but will give me accurate clock time based off of GPS time, and an accurate speed since my speedometer is off (most cars are under a bit). I also plan to log all of the sensor data to a persistent file, for when that data may come in handy.


----------



## Neil_J

In the video above, you can see the LCD and OEM interface, the Arduino brainstem, the Mac Mini, the 7" capacitive touchscreen, and the Metra bezel. The Mac Mini is powered from the CNX-P1900 DC-DC power supply, which is running off a 12V lab supply.

There's a bit of smoke and mirrors going on, as the arduino is running of my laptop and not the CarPC. I still need to get a few pieces of software installed, it hasn't been an issue so far since the MacBook has made such a great development machine (sitting on the couch rather than in the lab, for example). I should have everything running correctly from the Mac Mini, including the DSP processing, by end of this week. I'll post more videos as everything comes together.


----------



## bbfoto

effn rad! The only FAIL I see is using iTunes as your music player.  Thanks for the teaser!


----------



## JayinMI

What's wrong with iTunes? It's easy to use, plays a ton of file formats, and doesn't require writing a new front end?

Jay


----------



## oca123

oh, I dont know, it just seems kind of clunky.
When I was growing up, a full featured media player's installation files were, like 3mb.
iTunes' installation file for Osx is like 200MB.


----------



## Neil_J

bbfoto said:


> effn rad! The only FAIL I see is using iTunes as your music player.  Thanks for the teaser!


iTunes might suck on Windows, but it's hard to beat on Mac. My only gripe is, it doesn't play FLAC. I'd like to know why you think it sucks.


----------



## Neil_J

oca123 said:


> oh, I dont know, it just seems kind of clunky.
> When I was growing up, a full featured media player's installation files were, like 3mb.
> iTunes' installation file for Osx is like 200MB.


All modern install files from large companies are like that.. Adobe for example? I don't like it any more than you do, but that's the status quo for commercial software development. I once had to install a 1.8 GB install file from NI to get a serial port to work.. At least iTunes comes loaded on the Mac, and it loads fast.


----------



## oca123

Yeah, I know, I was just trying to explain why bbfoto said what he said.
Under Windows, iTunes sucks major balls.


----------



## Neil_J

oca123 said:


> Yeah, I know, I was just trying to explain why bbfoto said what he said.
> Under Windows, iTunes sucks major balls.


Agreed.


----------



## quietfly

sometimes i think they do that on purpose just so they can say "well you know it does just work on a mac"


----------



## JayinMI

Kind of like Google maps being better on an Android machine than on an iPhone? (Of course, Apple Maps isn't any better on an iPhone, lol)

Jay


----------



## bbfoto

[email protected], didn't mean to derail your awesome thread, Neil! I was just kidding, hence the "  "

I wish it did play FLAC, though.

And I think the new Google maps for iOS 6 is actually better in some ways on the iPhone than Android devices!

Anyhooo, I'm looking forward to seeing more juicy videos and photos of your install! I'll just grab some popcorn and a soda and keep my mouth shut from now on.


----------



## quality_sound

JayinMI said:


> Kind of like Google maps being better on an Android machine than on an iPhone? (Of course, Apple Maps isn't any better on an iPhone, lol)
> 
> Jay



Odd, since EVERY review of Google maps on iOS6 says it's better than on Android. :surprised:


----------



## JayinMI

I hadn't actually checked back on it since Google came back to iOS6.

Glad to hear they updated it.

Jay


----------



## Neil_J

In an attempt to get this thread back on-topic, here are some parts that arrived today 









Custom CNC'd panels to enclose the FrankenDAC









Matrix Orbital GLK24064-16-1U graphic display.









A quick mock-up until my Digikey order with the aluminum enclosure and other miscellany get here...


----------



## bkjay

Wow that looks sweet!


----------



## quietfly

looking sweet....


----------



## JayinMI

Neil, 

you are a bad influence on me. I figured out how I'm going to do a bunch of my project...but now I want to design a board, and use surface mount resistors...smh. lol

Jay


----------



## Neil_J

So I can officially throw out the little IR remote control that comes with the Lilliput monitor now. I'm able to send commands from my Labview CarPC app to the Arduino Brainstem, to an I/O pin which is wired directly to where the Lilliput TFT's remote sensor used to be. It plays back the IR bitstream, bit-by-bit, for each of the commands. This way, I can get to the brightness, contrast, input select, and other important commands, without the clutter of having a remote. This is very similar to how some universal remotes can record and then play back an unknown device, except mine is hard-wired to avoid the sensor and remote completely.

In order to record the infrared bitstream, I wrote an Arduino sketch that uses I/O pin as an input, that was tied to a 38 kHz infrared sensor I had laying around. The sketch records to a 3000-byte array, at a 45 microsecond resolution, and is triggered by the first high-to-low event after power-up. After the buffer is full, it plays back the recorded ones and zeros to the USB serial port. An accompanying Labview script takes the copied-and-pasted ones and zeros, and generates the Arduino code that will be used later to fire off the infrared command to the monitor.

Here's the sketch that recorded the IR bitstream:


Code:


#include "Arduino.h"
//pin defs
const byte tft_ir = 25;

const unsigned long numSamples = 3000;
const unsigned long timeToRecord = 136000; //microseconds
const unsigned long timeDiv = timeToRecord / numSamples;
boolean irBuffer[numSamples];
unsigned long beginTime = 0;

void setup()
{
  Serial.begin(115200);
  pinMode(tft_ir,INPUT);
  delay(2000);
  record();
}

void loop()
{
  //empty
}

void record()
{
  for (int i=0;i<numSamples;i++)
  {
    irBuffer[i] = false;
  }

  Serial.print("timeDiv=");
  Serial.println(timeDiv,DEC);
  while(digitalRead(tft_ir)==1)
  {
  }
  for (int i=0;i<numSamples;i++)
  {
    delayMicroseconds(timeDiv);
    irBuffer[i] = digitalRead(tft_ir);
  }
  
  delay(300);
  Serial.println("Received data: ");
  for (int i=0;i<numSamples;i++)
  {
    if (irBuffer[i] == false)
    {
      Serial.print("0");
    }
    else
    {
      Serial.print("1");
    }
  }
  Serial.print("\n");

}

Here's the processed IR code (I think one of the commands is misnamed and duplicated, that was fixed but I'm too lazy to grab another screenshot)









The code generated for one of the buttons is as follows:



Code:


void LilliputIR::power()
{
  digitalWrite(thePin,LOW);
	delayMicroseconds(8235);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(3960);
	digitalWrite(thePin,LOW);
	delayMicroseconds(630);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(360);
	digitalWrite(thePin,LOW);
	delayMicroseconds(630);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(405);
	digitalWrite(thePin,LOW);
	delayMicroseconds(630);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(360);
	digitalWrite(thePin,LOW);
	delayMicroseconds(630);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(405);
	digitalWrite(thePin,LOW);
	delayMicroseconds(585);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(450);
	digitalWrite(thePin,LOW);
	delayMicroseconds(585);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(1440);
	digitalWrite(thePin,LOW);
	delayMicroseconds(585);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(405);
	digitalWrite(thePin,LOW);
	delayMicroseconds(630);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(405);
	digitalWrite(thePin,LOW);
	delayMicroseconds(630);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(1395);
	digitalWrite(thePin,LOW);
	delayMicroseconds(630);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(1395);
	digitalWrite(thePin,LOW);
	delayMicroseconds(585);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(1440);
	digitalWrite(thePin,LOW);
	delayMicroseconds(630);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(1395);
	digitalWrite(thePin,LOW);
	delayMicroseconds(630);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(1395);
	digitalWrite(thePin,LOW);
	delayMicroseconds(630);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(405);
	digitalWrite(thePin,LOW);
	delayMicroseconds(585);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(1440);
	digitalWrite(thePin,LOW);
	delayMicroseconds(585);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(1440);
	digitalWrite(thePin,LOW);
	delayMicroseconds(630);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(1395);
	digitalWrite(thePin,LOW);
	delayMicroseconds(630);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(360);
	digitalWrite(thePin,LOW);
	delayMicroseconds(630);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(405);
	digitalWrite(thePin,LOW);
	delayMicroseconds(630);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(1395);
	digitalWrite(thePin,LOW);
	delayMicroseconds(630);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(405);
	digitalWrite(thePin,LOW);
	delayMicroseconds(585);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(405);
	digitalWrite(thePin,LOW);
	delayMicroseconds(630);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(405);
	digitalWrite(thePin,LOW);
	delayMicroseconds(630);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(360);
	digitalWrite(thePin,LOW);
	delayMicroseconds(630);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(405);
	digitalWrite(thePin,LOW);
	delayMicroseconds(630);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(1395);
	digitalWrite(thePin,LOW);
	delayMicroseconds(585);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(1440);
	digitalWrite(thePin,LOW);
	delayMicroseconds(630);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(360);
	digitalWrite(thePin,LOW);
	delayMicroseconds(630);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(1395);
	digitalWrite(thePin,LOW);
	delayMicroseconds(675);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(1395);
	digitalWrite(thePin,LOW);
	delayMicroseconds(585);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(1440);
	digitalWrite(thePin,LOW);
	delayMicroseconds(585);
	digitalWrite(thePin,HIGH);
	delayMicroseconds(1440);
	digitalWrite(thePin,LOW);
	delayMicroseconds(630);
	digitalWrite(thePin,HIGH);
}

Notice how wasteful the above code is. I'm just playing the bits back one at at a time, rather than doing it in a loop... It doesn't really matter to me, because it works, and I have the space in the arduino flash memory, so it doesn't both me 

The Labview code that generates the code above is pretty ugly, but again, it's a one-time hack that I'll never use again... no big deal.









To play the commands back, a sketch was written that includes a custom library with a class that contains the code for each button's bitstream. You just instantiate the class, and call the method. Here are all the methods:


Code:


tftRemote.power(); //soft power button
tftRemote.mute(); //I won't need this one.
tftRemote.menu(); //Brings up the setup menu where brightness,contrast,etc can be changed.
tftRemote.left(); //Used in menu navigation
tftRemote.right(); //Used in menu navigation
tftRemote.up(); //Used in menu navigation
tftRemote.down(); //Used in menu navigation
tftRemote.input(); //changes the input from "Video1", "Video2", "DVI", "RGB", etc..


----------



## Neil_J

JayinMI said:


> Neil,
> 
> you are a bad influence on me. I figured out how I'm going to do a bunch of my project...but now I want to design a board, and use surface mount resistors...smh. lol


I'm glad I swayed you over to the dark side 
Just be sure to document it in a build thread, and let me know if you get stuck on anything.


----------



## JayinMI

I'll be reading about Eagle PCB stuff tonight after work. LOL
I don't know if you saw the relay board I ordered, but it's about 1/4 the size of a dollar bill and works on the I2C bus to control 8 relays with 2 outputs...should leave me enough on my Uno to control the stuff on the DRC...I just need to figure out the pinout on the 16x2 display so I can swap it for the new red on black one I bought.

Jay


----------



## Neil_J

JayinMI said:


> I'll be reading about Eagle PCB stuff tonight after work. LOL
> I don't know if you saw the relay board I ordered, but it's about 1/4 the size of a dollar bill and works on the I2C bus to control 8 relays with 2 outputs...should leave me enough on my Uno to control the stuff on the DRC...I just need to figure out the pinout on the 16x2 display so I can swap it for the new red on black one I bought.
> 
> Jay


99% of character LCDs have the same pinout. I even posted it a few pages back in my thread for my 40x2. The only difference is whether the pins are in one row or two.

As for Eagle PCB, that's what I use for all my boards. Check out Sparkfun.com for some great tutorials on how to use it. The user interface is VERY clunky and weird, but you get used to it after a while. Simple things like copying and pasting will be a mystery until you look it up or read a tutorial. Maybe the new version has got better, I'm stuck using an older version that was purchased before they were bought by Newark/Element14.


----------



## JayinMI

Yeah, the one on the BitOne DRC Board is short one pin. I believe the new one has 16 pins, but the DRC has 15. I assume the missing pin probably has to do with the backlighting or something.

I was looking over the tutorials at Sparkfun, so that was my plan. lol

Nice to see the "Code" function works on DIYMA too.

Jay


----------



## BowDown

This is very impressive.

I apologize if I missed it reading through all the posts.. but with reusing the OEM controls did you find the OEM design to be digital, or was it already a resistive control setup similar to OEM steering wheel controls?


----------



## Neil_J

The buttons were a series of row and columns, like you'd find in a PC keyboard. They're scanned one column at a time, which allows several keys to be read simultaneously, whereas the resistor ladder trick only allows a single button press to be read at a time (usually the one with the lowest resistance to ground). The knobs were regular rotary encoders, with quadrature output on two wires ("A" and "B"). The hardest part was figuring out which of the 50 or so pins on the end of the 0.5mm ribbon cable did what. It was a methodical process of using a DMM and an excel spreadsheet and a bit of intuition. Once I had the pins defined, writing the Arduino sketch wad trivial. I think the end result will be very nice, but it did delay my project considerably to implement it. Sometimes I wish I would have just gone with a Pioneer radio and called it a day :-/


----------



## BowDown

Neil_J said:


> The buttons were a series of row and columns, like you'd find in a PC keyboard. They're scanned one column at a time, which allows several keys to be read simultaneously, whereas the resistor ladder trick only allows a single button press to be read at a time (usually the one with the lowest resistance to ground). The knobs were regular rotary encoders, with quadrature output on two wires ("A" and "B"). The hardest part was figuring out which of the 50 or so pins on the end of the 0.5mm ribbon cable did what. It was a methodical process of using a DMM and an excel spreadsheet and a bit of intuition. Once I had the pins defined, writing the Arduino sketch wad trivial. I think the end result will be very nice, but it did delay my project considerably to implement it. Sometimes I wish I would have just gone with a Pioneer radio and called it a day :-/


Thanks for the input. 

I'm almost wondering if I would be further ahead just creating my own resistive network for the buttons I plan to reuse. The interface connector from my stock HU controls only has 4 wires. I would imagine 2 of those are just for illumination? No idea till I take it apart.


----------



## Neil_J

BowDown said:


> Thanks for the input.
> 
> I'm almost wondering if I would be further ahead just creating my own resistive network for the buttons I plan to reuse. The interface connector from my stock HU controls only has 4 wires. I would imagine 2 of those are just for illumination? No idea till I take it apart.


Yea, you won't know until you take it apart. It could be Power, ground, and CAN bus  

Are you interfacing to a CarPC?


----------



## BowDown

Neil_J said:


> Yea, you won't know until you take it apart. It could be Power, ground, and CAN bus
> 
> Are you interfacing to a CarPC?


You know.. you are prbly right. I would be willing to bet it is CanBUS. :laugh: Doh!

Yes, actually our builds are quite similar. Same vintage mac mini, OS 10.6.8, Lilliput HB 669 Screen... but mine will dump audio to my Music Fidelity V-Link, then to the miniDSP 4x10HD. I played the game of running VST's and such on a Win carPC in the past and really like the simplicity of a standalone DSP. 

I'm also using a Avantree Cara Bluetooth 4.0 APT-x handfree into the line-in on the mini for handsfree calling, and A2DP support (that the mac mini lacks as a receiver). 

I had hoped to reuse the stock controls and place the mini directly behind the bezel to reuse the stock CD slot. Then mod the bezel to fit the double-din screen above.

I'm currently using a JoyCon Ex USB to resistive steering wheel control interface. Works well except you have to program it via a Windows PC.


----------



## Neil_J

I've not been able to look at my SWC buttons yet, but I do need to start that in the next day or so. They have four wires coming out, but I've no clue if it's resistive, CAN bus, or otherwise. That was one of the important things I wanted done before Spring Break Nationals.


----------



## BowDown

If it does end up being CanBUS what avenue are you going to take?


----------



## Neil_J

BowDown said:


> If it does end up being CanBUS what avenue are you going to take?


I will disassemble it, cut the traces to the switch contact terminals, solder 30 AWG solid Kynar wire (better known as wire-wrap wire) to the pcb, and run those wires to my Arduino microprocessor. This is guaranteed to work unless they've potted it in epoxy. I'm sincerely hoping they didn't


----------



## BowDown

Neil_J said:


> I will disassemble it, cut the traces to the switch contact terminals, solder 30 AWG solid Kynar wire (better known as wire-wrap wire) to the pcb, and run those wires to my Arduino microprocessor. This is guaranteed to work unless they've potted it in epoxy. I'm sincerely hoping they didn't


Sounds like fun. lol.

I am stuck taking my panel apart because the vol and tuning button area a press/screw type and I need to release about 5 plastic clips at once to get the damn knob off. 

Looking forward to your experiences. 

That Arduino microprocessor is more or less a digital input usb interface?


----------



## Neil_J

BowDown said:


> I am stuck taking my panel apart because the vol and tuning button area a press/screw type and I need to release about 5 plastic clips at once to get the damn knob off.


The two knobs I interfaced in my Mini's radio (what I was calling the OEM interface) were the exact same way. I was able to get both of them off without breaking them. Damn hard though. I used two small flat jewelers screwdrivers, my SMT tweezers, and an exacto knife, all at the same time. Go that route rather than pulling really hard, or you'll probably break something. 



> That Arduino microprocessor is more or less a digital input usb interface?


It's a full blown 8-bit computer with digital IO pins, a few analogs, and a USB virtual serial port. More power than my old Commodore 64. I sound like a religious zealot when I say it, but they're the best thing since sliced bread when it comes to quickly interfacing your PC to the outside world.


----------



## quietfly

ZEALOT!!!!!

now when's the video walk through happening?


----------



## Neil_J

Within the next two weeks.


----------



## JayinMI

Neil_J said:


> It's a full blown 8-bit computer with digital IO pins, a few analogs, and a USB virtual serial port. More power than my old Commodore 64. I sound like a religious zealot when I say it, but they're the best thing since sliced bread when it comes to quickly interfacing your PC to the outside world.





quietfly said:


> ZEALOT!!!!!


I too, have drank the Kool-aid. I am constantly amazed at what other people do with an Arduino, and what I've been able to figure out with it in just a short period of time. Admittedly, I did a little programming when I was younger, but nothing in C++, so this is basically new to me. 

The Arduino is amazing! Amen!

LOL

Jay


----------



## JayinMI

Neil_J said:


> I will disassemble it, cut the traces to the switch contact terminals, solder 30 AWG solid Kynar wire (better known as wire-wrap wire) to the pcb, and run those wires to my Arduino microprocessor. This is guaranteed to work unless they've potted it in epoxy. I'm sincerely hoping they didn't


Just out of curiousity, how will you run all that wire through the clock spring? You will still need to be able to turn the steering wheel. 
Is it a total of 4 wires coming from the clock spring or 4 wires just for the steering wheel controls? IME, typically everything inside the steering wheel (besides your 2 airbag wires) are switching ground. So, it is possible you have 2 ground feeds and a left and right SWC wire. Or a ground, horn, L+R SWC, or possibly an illumination wire.

Most of the cars I've seen use some form of resistance based switching, which can usually be had somewhere on the output side of the clockspring.

It is switched to a CANbus system at the BCM. 

Possibly, you could use a steering wheel control interface like an ASWC (Metra is based in Florida, btw) and use that to interface and then measure the outputs from it with the Arduino. The ASWC doesn't list having been tested on a 2011 Mini, but suggests you call them. 

Typically, if you have Canbus wires, they are twisted together. They may be Orange/Green and Green if they are Canbus. I would assume the other 2 wires would have to be power and ground for some kind of CANbus driver module, if the 4 wires you have are, indeed, all for the SWC.

Another thought (if they are CANbus and the CANbus is ONLY for the SWCs) is you could cut the CANbus wires, tap one side with ground, the other would be your output, and then you could manually wire your buttons to a resistor ladder.

Finally, couldn't you use a CANbus shield on the Arduino to read it?

Jay


----------



## Neil_J

JayinMI said:


> Just out of curiousity, how will you run all that wire through the clock spring? You will still need to be able to turn the steering wheel.
> Is it a total of 4 wires coming from the clock spring or 4 wires just for the steering wheel controls? IME, typically everything inside the steering wheel (besides your 2 airbag wires) are switching ground. So, it is possible you have 2 ground feeds and a left and right SWC wire. Or a ground, horn, L+R SWC, or possibly an illumination wire.
> 
> Most of the cars I've seen use some form of resistance based switching, which can usually be had somewhere on the output side of the clockspring.
> 
> It is switched to a CANbus system at the BCM.
> 
> Possibly, you could use a steering wheel control interface like an ASWC (Metra is based in Florida, btw) and use that to interface and then measure the outputs from it with the Arduino. The ASWC doesn't list having been tested on a 2011 Mini, but suggests you call them.
> 
> Typically, if you have Canbus wires, they are twisted together. They may be Orange/Green and Green if they are Canbus. I would assume the other 2 wires would have to be power and ground for some kind of CANbus driver module, if the 4 wires you have are, indeed, all for the SWC.
> 
> Another thought (if they are CANbus and the CANbus is ONLY for the SWCs) is you could cut the CANbus wires, tap one side with ground, the other would be your output, and then you could manually wire your buttons to a resistor ladder.
> 
> Finally, couldn't you use a CANbus shield on the Arduino to read it?
> 
> Jay


You know... I never thought about that.  Yea, the wheel has gotta turn  :surprised:  Sometimes can't believe how dumb I can be.

According to my Bentley manual, there are four black wires going from the steering wheel radio buttons, over to the right side (cruise control buttons). From there, three black wires and one blue/white-striped wire to the steering column switch cluster. They may be using the cast metal steering wheel hub as ground, because none of the wires are brown. <shrug>

I'll call Metra tomorrow, and get one on order if they think it could work at all. Thanks for the heads up.


----------



## JayinMI

Or this?

CAN sniffing for steering wheel button presses

Jay


----------



## Neil_J

JayinMI said:


> Or this?
> 
> CAN sniffing for steering wheel button presses
> 
> Jay


God bless Hackaday. Freaking love that site 

I'll start looking into that one tomorrow as well.


----------



## JayinMI

Neil_J said:


> They may be using the cast metal steering wheel hub as ground, because none of the wires are brown. <shrug>


That's pretty typical. When I added steering wheel controls to my old Neon using cruise control buttons (I modded a left side button cluster, so I had 6 controls instead of 5) IIRC it used the steering column as a ground. I used a cruise control clock spring (had an extra couple of wires in it) that I got from the junk yard.

I've also seen it on GM cars, where someone removed the airbag, then used the ground for the horn (attached to the steering wheel) as a video ground, the horn wire as a video + and the airbag wires as + and - to add a video screen into the steering wheel.


Jay


----------



## JayinMI

Neil_J said:


> According to my Bentley manual, there are four black wires going from the steering wheel radio buttons, over to the right side (cruise control buttons). From there, three black wires and one blue/white-striped wire to the steering column switch cluster. They may be using the cast metal steering wheel hub as ground, because none of the wires are brown. <shrug>


Any chance you could post the diagram? Or is it just wiring info? I'm curious.
I just finished soldering up my resistor ladder for use with the 8 relay board I bought. After I verify that all these controls work, I can work on rewriting the software to use the I2C bus and the relay board. I put all 9 controls on the board, but will just use the 6 I need....maybe if I use a tablet later, I can add another relay board and control it all from the tablet, but that's in the future.

Jay


----------



## JayinMI

BowDown said:


> Sounds like fun. lol.
> 
> I am stuck taking my panel apart because the vol and tuning button area a press/screw type and I need to release about 5 plastic clips at once to get the damn knob off.


Why are you doing this? Are you interfacing with a carpc? I'd make the same recommendation I did to Neil. Use a Steering Wheel Control interface and then use the outputs from that so you don't have to disassemble the somewhat delicate control switches.

Jay


----------



## JayinMI

I was just looking at the ASWC instructions for a BMW 3 series, since it should use a similar setup as the Mini (and the 1 series wasn't showing as having been tested.) The nice thing about the ASWC vs any of the PAC parts is that it will do CAN bus w/o an adapter. The instructions also list everything you need at the radio harness, so it might save you some time. 










Is this the plug you have at your radio?

The only issue I see is that it won't autodetect your radio, because you won't have one hooked up, but it says you can add a resistor in the event a JVC is detected as a Kenwood (or something like that) so that might fool it into thinking it's plugged in to a specific radio. If you get one I'd try to fool it into thinking it's something other than a Pioneer. They recently changed the software and you might need to update the unit, where if it thinks it's seeing an Alpine, JVC, Kenwood, etc...it should work fine. Might want to ask them if you speak to them, maybe they can give you info on that side of the interfacing.

The output from the ASWC is a 3.5mm connector, but I believe only 2 of the wires are used, since it comes with an adapter to use w/ Eclipse and Kenwood radio that is a female 1/8" to 2 wire pigtail.

Hope this helps.

Jay


----------



## BowDown

JayinMI said:


> Why are you doing this? Are you interfacing with a carpc? I'd make the same recommendation I did to Neil. Use a Steering Wheel Control interface and then use the outputs from that so you don't have to disassemble the somewhat delicate control switches.
> 
> Jay


Yes, i'm interfacing with a carPC. I already have my steering wheel controls (resistive) patched in via a JoyCon EX USB interface. Works well. Now I wish to add the OEM radio controls which are part of the stock radio bezel. The stock controls use a 4-wire interface that I believe is CanBus to interface with the removed stock headunit. I would really like to use these buttons for an OEM carPC integration.. but it looks like I may have to modify the button panel to make it resistive so I can use the extra channel available on the JoyCon EX. 

No worries.. this button panel is a spare panel. I have my OE parts stowed away in a tote.


EDIT: Or are you saying some sort of CanBus to resistive steering wheel interface?


----------



## n_olympios

This is now 7 pages full of unknown symbols, terms and phrases. Why do I love it so much?


----------



## Neil_J

JayinMI said:


> I was just looking at the ASWC instructions for a BMW 3 series, since it should use a similar setup as the Mini (and the 1 series wasn't showing as having been tested.) The nice thing about the ASWC vs any of the PAC parts is that it will do CAN bus w/o an adapter. The instructions also list everything you need at the radio harness, so it might save you some time.
> 
> Is this the plug you have at your radio?


Yea, but the connector is upside down on a MINI, apparently  I went over to northamericanmotoring.com, I see a few people have tried it on the MINI, I believe quality_sound (who happens to be on diyma and has chimed in on this thread in the past) has an ASWC in his MINI. I'm going to do a bit more research just to be thorough, but I think this is going to be a slam dunk.









^^ bad angle, but that's a previous shot I took from last year or so.



> Hope this helps.


Yea, it just helped me spend another 45 bucks on this project :laugh: Thanks, really. That probably made the difference of actually having SWC done in time for SBN. This is the reason I post this stuff. Couldn't do it without some of you guys.


----------



## JayinMI

Since the ASWC uses a 3.5mm jack, I wonder if you could "read" the microphone input on the Mac Mini to get the values? When I was (much) younger and had my old Radio Shack Color Computers (2 & 3) they did a lot of interfacing through the RS232 port on the back. I wonder if it could be done similarly?

Just a thought.

Jay


----------



## Neil_J

JayinMI said:


> Since the ASWC uses a 3.5mm jack, I wonder if you could "read" the microphone input on the Mac Mini to get the values? When I was (much) younger and had my old Radio Shack Color Computers (2 & 3) they did a lot of interfacing through the RS232 port on the back. I wonder if it could be done similarly?


No reason to when I've got the Arduino. It has plenty of analog-to-digital pins, I will most definitely be going that route. I'll be sure to document it and post the source code here when I get it all working 

Thanks again for the ASWC recommendation btw. I ordered it from Amazon Prime for $45 and it should be here tomorrow.


----------



## JayinMI

I figured the Arduino would be the better way, but I've been wondering if the mic jack thing would work, I was mainly thinking out loud.

Jay


----------



## JayinMI

BowDown said:


> EDIT: Or are you saying some sort of CanBus to resistive steering wheel interface?


I was thinking of using an ASWC or Pac SWI-RC or something that you would use if you were installing an aftermarket radio. But instead of using an aftermarket radio, I'd use an Arduino or something to interface with the output and then pass the signal via serial to the PC. You would be able to grab the wires right behind the radio w/o having to rewire the buttons.

Jay


----------



## Neil_J

JayinMI said:


> I was thinking of using an ASWC or Pac SWI-RC or something that you would use if you were installing an aftermarket radio. But instead of using an aftermarket radio, I'd use an Arduino or something to interface with the output and then pass the signal via serial to the PC. You would be able to grab the wires right behind the radio w/o having to rewire the buttons.
> 
> Jay


Way ahead of you there, Justin just sent me his bezel for some Arduino modification. I think we're starting a trend in OEM integration here


----------



## Neil_J

BTW... The FrakenDAC is completed... pictures are on the way.


----------



## BowDown

Neil_J said:


> Way ahead of you there, Justin just sent me his bezel for some Arduino modification. I think we're starting a trend in OEM integration here


You are the man. Lol. 



Posted from my Samsung Galaxy S III 32gb via tapatalk 2.


----------



## quality_sound

Neil_J said:


> No reason to when I've got the Arduino. It has plenty of analog-to-digital pins, I will most definitely be going that route. I'll be sure to document it and post the source code here when I get it all working
> 
> Thanks again for the ASWC recommendation btw. I ordered it from Amazon Prime for $45 and it should be here tomorrow.


Dude, you should have said you need one. I'd have given you the one in my garage.


----------



## Neil_J

quality_sound said:


> Dude, you should have said you need one. I'd have given you the one in my garage.


I can always return it to Amazon. Hook a brother up!


----------



## JayinMI

Neil_J said:


> Way ahead of you there, Justin just sent me his bezel for some Arduino modification. I think we're starting a trend in OEM integration here


It's kinda fun!

Jay


----------



## t3sn4f2

Neil_J said:


> BTW... The FrakenDAC is completed... pictures are on the way.


Awesome!


----------



## astrochex

Neil_J said:


> I can always return it to Amazon. Hook a brother up!


Nutz, I was gonna ask him about the bargain ASWC.

Phenomenal work Neil.


----------



## Neil_J

So I've made some interesting progress today on the Digital Signal Processing front. As mentioned before I'm using Plogue Bidule to handle all of the DSP heavy hitting. Any audio on my Mac Mini gets routed through SoundFlower to Bidule for processing. The multi-channel surround upmixer takes this stereo data and upmixes it to 10 channels, which then go through the MiniDSP USBStreamer within the frankenDAC.

The progress I made today is to provide a touchscreen GUI capable of being used in a car environment, to control all of the various parameters in Plogue Bidule. I'm doing this through the OpenSoundControl protocol, which is sent over the localhost network via UDP transmission protocol. Bidule supports OpenSoundControl server natively, what I needed to do was come up with a client from which to send the commands. I wrote the code in Labview, so I can use the sliders and other controls to set crossover frequencies, filter parameters, and enable/disable certain parts of the processing, all with Plogue Bidule being minimized in the background.

The protocol is very straightforward, to start processing you send it:
"/Play" with an Int32 parameter of "1".

To stop processing, you send it:
"/Play" with an Int32 parameter of "0".

To change a particular biquad filter mode, you send it: 
"/Biquad_Filter_6/Mode" with a string parameter of "Band Pass".

All commands are hierarchical, similar to a directory structure. Every single parameter within Bidule is controllable, to my knowledge. All of the controls that I'll be creating will be sort of like an iPhone, where they're big enough to get your finger on without using a stylus or other input device, and popup keyboards or whatever for data entry. This is going to make tuning a snap.


----------



## BowDown

Awesome! How about some screen shots. 



Posted from my Samsung Galaxy S III 32gb via tapatalk 2.


----------



## Neil_J

Looks like the Axxess AWSC module worked out. It auto-detects my Mini, and with nothing hooked up to the radio jack, it defaults to Alpine. I gave up trying to find another radio type that output analog. The Alpine puts out a series of digital pulses. I found a guide on mp3car where someone else reverse engineered the codes. I'm going to try to implement this sometime over the next few days hopefully.

Thanks again to JayInMI for the help.


----------



## JayinMI

Glad it worked out. I didn't expect it to be digital pulses...weird, I would have figured it would be analog somehow. Nice to see someone decoded all that stuff. Can't wait to see it all working. We will require video proof. lol

Jay


----------



## JayinMI

Neil_J said:


> Looks like the Axxess AWSC module worked out. It auto-detects my Mini, and with nothing hooked up to the radio jack, it defaults to Alpine.


From the vehicle specific instructions, troubleshooting section:




AxxessInterfaces said:


> The 2nd set of led flashes represents what brand radio the ASWC believes it is
> connected to. Each flash is for a different radio manufacturer. For example if you are
> installing a JVC radio the ASWC should blink 5 times.
> 
> 1st led flash is for Eclipse
> 2nd led flash is for Kenwood
> 3rd led flash is for Clarion
> 4th led flash is for Sony and Dual
> 5th led flash is for JVC
> 6th led flash is for Pioneer and Jensen
> 7th led flash is for Alpine*
> 8th led flash is for Visteon
> 9th led flash is for Valor
> 10th led flash is for Clarion 5v
> 11th led flash is for Metra OE
> 
> * Note: If the ASWC flashes 7 times and you do not have an Alpine radio connected to it
> that means that the ASWC did not see any radio connected. Verify the 3.5mm connector
> is connected to the SWC input on the radio.


Thought this might be of interest. I remembered this a few minutes ago....also might make sure it's programmed for the latest firmware (v3.09). Probably have to drive to your local Metra dealer for that tho.

Also:



AxxessInterfaces said:


> **Some of the newer Kenwood radios will auto detect as a JVC. If this is the
> case you can use a 10k to 12k ohm resistor (included) in line between the
> Blue/Yellow and brown wire of the female 3.5mm jack during programming. *Or
> you can manually set the radio type which is in ASWC manual. *


Jay


----------



## Neil_J

Yea. I read that and tried a few other radio types, but settled on the Alpine that comes up default. I really don't think it'll be that hard to decode the pulses. I've done very similar stuff before decoding infrared remote controls on projects in years past. 


BTW... I cut a hole in my dash this evening for a center channel  It was too dark for photos, however  I'm just hoping I can get it all buttoned up in the next 12 days before SBN...


----------



## cyrusthevirus23

Neil_J said:


> This is my first CarPC build since 2003 or so. This project is unique in that the CarPC is designed to be a platform for my custom DSP development. I've been dis-satisfied with all of the commercial off-the-shelf DSP's out there, so I've decided to do everything myself. Here's a link to my build thread if you haven't read it yet, it may explain some of the insanity  http://www.diymobileaudio.com/forum...ild-hat-jl-alpine-knu-secondskin-sds-pwk.html
> 
> More on the software in a bit.
> 
> Here is the hardware that I decided to go with, for one reason or another:
> 
> *Computer:*
> 
> 
> 
> 
> 
> 
> 
> 
> Apple Mac Mini, A1283, circa 2009. This used to be my HTPC back when I had a 100" projector.
> Yep, a Mini in a MINI
> 
> 
> 
> 
> 
> 
> 
> 
> 
> *Storage:*
> 
> 
> 
> 
> 
> 
> 
> 
> I'll be retrofitting the mechanical hdd with an SSD (solid-state drive), as my car is lowered, and the roads in Florida are crappy, and I wouldn't trust a mechanical hard drive as far as I could throw it. Flash-based drives are finally down to $1 per gig, for example this model, 128 gigs for $99, with VERY positive online reviews.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> I topped out the RAM at 4GB, I'll need every byte I can get with the DSP stuff that I'll be doing :worried:
> 
> *Power Supply:*
> 
> 
> 
> 
> 
> 
> 
> 
> 
> The Carnetix P1900 was an easy choice, as it was designed around the Mac Mini, and is available with all the necessary cables (i.e. the MacPac).
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> The P1900 provides +19V to the Mac Mini, to replace the power brick, and a +12V output that will power my LCD screen. I opted for the add-on 15-watt +5V regulator, which can provide 5V power to whatever I might need it for...
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> *PC Location:*
> So I can't really tell you where I'm mounting the PC, because it's a secret.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Don't tell anyone, it's going in the "Secret Compartment"  :surprised: If you're not a MINI owner, you wouldn't understand
> 
> Note: The pics above aren't from my car, they're from this thread on NorthAmericanMotoring. I've not started taking my dash apart yet. I'll probably start in the next few weeks..
> 
> 
> Next up, the LCD display and user control system...


 very slick hiding spot and a great setup


----------



## quality_sound

Neil_J said:


> I can always return it to Amazon. Hook a brother up!


Shoot me your address.


----------



## Neil_J

quality_sound said:


> Shoot me your address.


I went ahead and installed it yesterday and don't feel like going through the trouble of ripping it out. Thanks anyway


----------



## quality_sound

Ah. I was out of town and didn't see you post. My bad.


----------



## Heterosapian

Everything in this thread is way over my head but I still enjoy lurking it for an occasional tech boner. 

Does it seem like the factory radio/display setup could be disassembled, keeping the lcd and controls in place (mainly for looks and the board computer) while stashing the guts nearby using an extended ribbon cable of sorts? Did that make any sense? The power/speaker harness is a PITA given how short it is, but extending it is no big deal. I like the idea of retaining the fuel economy data and stock look of the tachometer when I go full aftermarket.


----------



## Neil_J

Heterosapian said:


> Does it seem like the factory radio/display setup could be disassembled, keeping the lcd and controls in place (mainly for looks and the board computer) while stashing the guts nearby using an extended ribbon cable of sorts? Did that make any sense? The power/speaker harness is a PITA given how short it is, but extending it is no big deal. I like the idea of retaining the fuel economy data and stock look of the tachometer when I go full aftermarket.


There's a thread on NorthAmericanMotoring about exactly that. The factory radio is mounted behind the speedo, and connected to the controls via an eBay ribbon cable. It allows you to run an aftermarket radio while still retaining the LCD and trip computer. I'll post a link when I get home if I can remember.

Edit: http://www.northamericanmotoring.com/forums/navigation-and-audio/206597-2007-double-din-install.html


----------



## JayinMI

Man, I got all excited cause I thought we were getting an update, but sadly, no. What are you? On a deadline or something? lol

I think I got some of my software (I2C bus controlled relay board) written, I will hopefully get to try it out this weekend....one question, from what I've read the wire.h library uses 7 bits...how do I access 8 relays? I assume 0 is all off, and 00000001 turns on relay 1, 00000010 turns on relay 2, etc. Or am I wrong?

How's it coming? What did you decide to use for a center channel? I know you mentioned a TB Bamboo and (at one point) putting an L8SE where the speedo is.

Jay


----------



## Neil_J

JayinMI said:


> Man, I got all excited cause I thought we were getting an update, but sadly, no. What are you? On a deadline or something? lol
> 
> I think I got some of my software (I2C bus controlled relay board) written, I will hopefully get to try it out this weekend....one question, from what I've read the wire.h library uses 7 bits...how do I access 8 relays? I assume 0 is all off, and 00000001 turns on relay 1, 00000010 turns on relay 2, etc. Or am I wrong?
> 
> How's it coming? What did you decide to use for a center channel? I know you mentioned a TB Bamboo and (at one point) putting an L8SE where the speedo is.
> 
> Jay


Absolute panic is ensuing at the moment, no ****  I wired three of the connectors wrong on the brainstem pcb and am having to perform triage rework under the stereo microscope at the moment. Oh, and the enclosure that holds the TFT, arduino, and Carnetix DC-DC supply? That went up in smoke this morning. Just got done inspecting that as well, it was just a cheap chinese electrolytic cap blew out on an input filter... phew. got that fixed. I should be back on track after the craziness of today. 

The center channel should *hopefully* be operational by SBN next weekend. Whether or not my speaker grill cloth shows in up in time, I'm not as sure  I'm going to use a pair of Tang Band's in the center vent hole. The girlfriend WOULD NOT let me put a midbass in the speedo housing ... she was very clear on that  Gotta pick my battles I guess.

If I get all of the electronic stuff sorted out (which would be a small miracle), I really need to tame some rattles/resonances in the door. Realistically, that takes importance over the electronic stuff, because the resonances are so bad. Basicaly the interior door skin is just ABS plastic, and resonates at a certain midbass frequency. I'd like to weight it down with fiberglass and maybe some lead or steel pieces... I may send you a PM and try to solicit some advice. I took off the Friday before SBN so I may be able to do the fab stuff that day, as long as it's supplies I can pick up locally.


----------



## JayinMI

I'd have **** my pants when that cap blew. Hope you get everything straightened out. If not, take a break, and have a beer. 

Jay


----------



## Neil_J

Hopefully I'll have a walkthrough video of the whole system onthe bench, amp rack and all, posted tonight. The frontend software and Arduino code that I've been writing is really coming along. There are three or so outstanding issues I have to address before I can install it in the car. After that, I can put everything in the car and maybe get some tuning done before SBN this coming weekend.


----------



## quietfly

Neil_J said:


> Hopefully I'll have a walkthrough video of the whole system onthe bench, amp rack and all, posted tonight. The frontend software and Arduino code that I've been writing is really coming along. There are three or so outstanding issues I have to address before I can install it in the car. After that, I can put everything in the car and maybe get some tuning done before SBN this coming weekend.



Good luck!


----------



## BowDown

Awesome man. I hope it all comes together before sbn. 



Posted from my Samsung Galaxy S III 32gb via tapatalk 2.


----------



## Neil_J

List of things still giving me major grief:
- When plugged in, the Arduino comes up with a random serial port number. I've fixed this by writing a script that narrows the list down to the most likely port, and attempts to use that one, or gives an error message if not found.
- When waking the computer from sleep, Labview doesn't handle open serial connections properly, my app will error out, and Labview needs to be closed and reopened. I will likely get docked a few points for this by the judges. I'm going to try to tell them to hit the "stop" button before turning the car off.
- The included HDMI to DVI cable (with USB pigtail for the touchscreen) is faulty, so I had to splice in a USB cable to the touchscreen controller and use another HDMI to DVI cable.
- The capacitive touchscreen has been intermittently going crazy and clicking the wrong point of the screen. Still playing with low pass filter values, but it's gotten better.
- Sometimes the Mac Mini boots up to a gray screen of death, likely caused by the USB touchscreen controller.
- The custom power supply in my FrankenDAC blew up, and I'm evaluating my options on a replacement that I can have ready by tonight. I can't order the LT1129 voltage regulator chip and have it here in time for this weekend. 
- I'm having issues getting Plogue Bidule (my DSP processing app) to reliably find my audio "aggregate device" which contains my USBstreamer multichannel device and SoundFlower. Not sure what the issue is, but it's annoying.

Sigh.


----------



## ErinH

Sorry to hear of the issues. The good thing is you're the guy to solve the problems. Nothing worse than feeling completely helpless and I'd say you certainly have the skill and knowledge to keep it moving in the right direction. 

Success isn't a destination. It's a journey.


----------



## BowDown

Neil_J said:


> List of things still giving me major grief:
> - When plugged in, the Arduino comes up with a random serial port number. I've fixed this by writing a script that narrows the list down to the most likely port, and attempts to use that one, or gives an error message if not found.
> - When waking the computer from sleep, Labview doesn't handle open serial connections properly, my app will error out, and Labview needs to be closed and reopened. I will likely get docked a few points for this by the judges. I'm going to try to tell them to hit the "stop" button before turning the car off.
> - The included HDMI to DVI cable (with USB pigtail for the touchscreen) is faulty, so I had to splice in a USB cable to the touchscreen controller and use another HDMI to DVI cable.
> - The capacitive touchscreen has been intermittently going crazy and clicking the wrong point of the screen. Still playing with low pass filter values, but it's gotten better.
> - Sometimes the Mac Mini boots up to a gray screen of death, likely caused by the USB touchscreen controller.
> - The custom power supply in my FrankenDAC blew up, and I'm evaluating my options on a replacement that I can have ready by tonight. I can't order the LT1129 voltage regulator chip and have it here in time for this weekend.
> - I'm having issues getting Plogue Bidule (my DSP processing app) to reliably find my audio "aggregate device" which contains my USBstreamer multichannel device and SoundFlower. Not sure what the issue is, but it's annoying.
> 
> Sigh.


Wow! I'm sorry to hear you have been running into all these issues. You do have alot of custom things going that need to come together quickly. I wish you luck on that. One thing I have learned is there's always another show to prove you have the skills. Hope everything comes together for you before SBN though!


----------



## quietfly

i'm keeping my fingers crossed for you! I know the list looks daunting. Just remember the list of things you've already accomplished is much more so. You've already tackled bigger, more complicated issues, so you know you have the ability to complete these few left ahead of you. 
I look forward to seeing/reading about how you overcome these challenges!

Thanks for sharing your build with us.


----------



## Neil_J

Aww, thanks guys


----------



## BowDown

Lol



Posted from my Samsung Galaxy S III 32gb via tapatalk 2.


----------



## req

damn neil. 

way more awesome than my carPC lol.

if it makes you feel better, if the amplifiers get turned on prior to windows7 boot, i get a nasty pop through all channels. vice versa, its fine - and i have narrowed it down to a windows problem with optical that nobody else has because of my specific situation. and usb drivers in windows7 are not handeled properly on resume from sleep, causing the pc to error on startup if any usb stuff is left on (the touch screen controller works fine though - thank god). this means hard drives, usb flash memory, usb keyboard\mouse, ect. and lastly if a CD is left in the cdrom when turned off, windows attempts to load the cd prior to booting the OS and this causes a delay in the boot sequences and my amps will power on prior to windows boot - and then i have the nasty pop again lol.

custom problems for custom parts.

i feel your pain - your pain is just way more complicated than mine haha


----------



## ErinH

Neil_J said:


> Aww, thanks guys


Just trying to help you stay positive. I know how it is to have problems with this stuff and sometimes it makes you regret bothering.


----------



## quietfly

Neil_J said:


> Aww, thanks guys


Actually I should be thanking you, and guys like you that are so willing to share their experiences good and bad. 
it helps guys like me realized how much blood sweat and tears these builds take. 
Also it shows us that ingenuity can solve some of the most difficult problems, and that thinking out side of the established norm can yield very sound results (pun intended)


----------



## Neil_J

I might sound like an ass sometimes, but I do appreciate the encouragement. Usually I enjoy this stuff and have had a blast working on it, but the stress of trying to meet impossible deadlines can get a little overwhelming, especially when everything stops working (or blows up in a poof of smoke) all at the same time. Only having one decent event in Florida makes it even worse. I'm hoping Octave and others throw more diyma get-togethers in the future, those are a hell of a lot more fun.


----------



## JayinMI

Good luck, Man! Not a big fan of deadlines myself. lol

The one good thing is that you built all the custom stuff, so you can figure it out. 

Did you decide to forgo the steering wheel control interface for SBN, or is that thrown in the mix too?

Jay


----------



## Neil_J

JayinMI said:


> Did you decide to forgo the steering wheel control interface for SBN, or is that thrown in the mix too?


It's not working at the moment, seems to be a problem with accessing the hardware timer registers on the arduino. It's probably about a line or two of code away from working, so who knows, maybe I'll get it working by early Saturday.


----------



## Neil_J

Video is up:


----------



## bertholomey

Wow! Amazing job Neil - thanks for the video - now I can 'see' all of the things I have been reading about in this thread. I think it will be even more impressive inside the mini. Best of luck getting everything in the car, by today  

PS - love the couch! That first shot, I thought was inside the mini - incredulous until you panned out


----------



## BowDown

Lol awesome couch indeed! 

Some crazy LED work on the amp rack wiring too. Very nice man.


----------



## quietfly

wow its great to see all the stuff you are working on! Good luck this weekend...


----------



## Neil_J

The Mac Mini won't boot up, no LED, no fans, nothing. FML.


----------



## astrochex

sorry to hear that Neil.


----------



## JayinMI

Carnetix power supply issue, maybe? Or do you think it's the actual Mac?

Jay


----------



## BowDown

Even on the ac adapter? If it's the carnetix an inverter would at least get you running. 



Posted from my Samsung Galaxy S III 32gb via tapatalk 2.


----------



## quietfly

Let us know how things went once you get a chance.


----------



## Neil_J

JayinMI said:


> Carnetix power supply issue, maybe? Or do you think it's the actual Mac?


Definitely the Mac, I tried powering it up with the AC brick power supply at least a few dozen times before giving up. I'm pretty sure it's the main logic board, probably broke the power connector when I was shoving the whole thing in the compartment above the glove box. I'll be able to fix it or replace it for cheap.


----------



## Neil_J

quietfly said:


> Let us know how things went once you get a chance.


I hobbled something together at 12 in the morning the night before, got five hours of sleep, and made it to registration by 8:00 (I ended up in MECA ModEx and IASCA ProAm). I cant say exactly what the system consisted of, because frankly I'd be ashamed to admit. Got some basic tuning done and had some competitors listen and give feedback. Only one IASCA judge made it to my car, so I've still got at least five more judges tomorrow). Imaging and staging is the bast I've had in the car so far. Center is a lot less diffused than has been in the past with my car, and is either dead-center or slightly to the left depending on the listener. Width depends on the recording, the better ones were well outside the car boundaries. Tonality isn't great but not terrible. Typical destructive interference and room modes at certain frequencies that come with the door mounting locations I'm using. I'm obviously not happy with it, but it's slightly better than not competing at all, given the situation, I suppose. This will probably be my last competition until the car is officially done.


----------



## BowDown

I'm glad you got something together after all that work. Lol. Good luck! Dash mids put you into proam? 



Posted from my Samsung Galaxy S III 32gb via tapatalk 2.


----------



## quietfly

it might not be possible, and its alot to ask, but if you can make a video of the car all together doing a walk around of the install. i'm curious to see the stuff installed and in your car . If you don't want to or dont have the time i understand. 

Good luck tomorrow. and remember this is supposed to be fun. enjoy what you can of it. it exciting to see people get to this stage.


----------



## sydmonster

Unbeleivable commitment on this build!! Please keep at it!


----------



## chevbowtie22

I am COMPLETELY blown away!! Well done sir!!


----------



## BowDown

How did you fair? 



Posted from my Samsung Galaxy S III 32gb via tapatalk 2.


----------



## Neil_J

BowDown said:


> How did you fair?


Somewhere between fourth and last place  My average score was 75.42 (Third place was less than a point away from that I think). My highest was a 79 from Justin who really liked the car a lot, and said it was a huge improvement from how it sounded at last year's competition. Vinny pretty much hated what I did with the center channel, and gave me a terrible score on the placement section. He said over and over that center was directly over the steering wheel, even though the other dozen or so people that heard it said center was dead-nuts in the middle of the car, including the other three judges. It admittedly does pull a bit left only on the midbass, from 250 and and up, it was freaking center. He said the whole thing pulled left "because that's what happens when you have a center channel". I tried for five minutes or so to explain to him what it did and what that wasn't true. He said that I should basically rip it all out and go with a basic stereo setup like everyone else there. I'm not saying I deserved a better score, but he did come off as a bit of a zealot, and I find it hard to believe that his judgment of the car was so different from the other people that heard it. That's really the only thing I'm unhappy with on the MECA side. I'll never do IASCA SQ again after this event, but that's a different story.

ModEx was stacked with a lot of great sounding cars, competition was very fierce and I showed up with a hobbled-together system put together at 12 in the morning, day of the show. I had turn-on pops and hiss, and only an hour or so of tuning with Room Eq Wizard on the laptop. Had the CarPC worked out for the show, I might have stood a chance. I guess there's always next year.


----------



## ErinH

Neil, I'm puting this here because I need a reminder for a reminder...

I'm tired and in bed on my phone. If you don't get a PM from me in a day or so shoot me a PM. I'd like to talk to you a out your post above. 

Look on the bright side: you got sound now.


----------



## quietfly

Neil_J said:


> Somewhere between fourth and last place  My average score was 75.42 (Third place was less than a point away from that I think). My highest was a 79 from Justin who really liked the car a lot, and said it was a huge improvement from how it sounded at last year's competition. Vinny pretty much hated what I did with the center channel, and gave me a terrible score on the placement section. He said over and over that center was directly over the steering wheel, even though the other dozen or so people that heard it said center was dead-nuts in the middle of the car, including the other three judges. It admittedly does pull a bit left only on the midbass, from 250 and and up, it was freaking center. He said the whole thing pulled left "because that's what happens when you have a center channel". I tried for five minutes or so to explain to him what it did and what that wasn't true. He said that I should basically rip it all out and go with a basic stereo setup like everyone else there. I'm not saying I deserved a better score, but he did come off as a bit of a zealot, and I find it hard to believe that his judgment of the car was so different from the other people that heard it. That's really the only thing I'm unhappy with on the MECA side. I'll never do IASCA SQ again after this event, but that's a different story.
> 
> ModEx was stacked with a lot of great sounding cars, competition was very fierce and I showed up with a hobbled-together system put together at 12 in the morning, day of the show. I had turn-on pops and hiss, and only an hour or so of tuning with Room Eq Wizard on the laptop. Had the CarPC worked out for the show, I might have stood a chance. I guess there's always next year.


Oy! Sorry to hear about the one judge. It sucks to have one person bring down the experience for you. 

however, I'd glad you did get to compete and even thought you weren't completely where you wanted to be. 

Like Erin said before, at least you have sound now. 

Thanks again for sharing!


----------



## chefhow

Why no IASCA just out of curiosity?


----------



## Neil_J

I'm just getting less out of it, compared to MECA. I like MECA's judging process better (1 random judge compared to three that are averaged), I get a lot more advice on what's wrong with my car, and seems to be more fair. I don't really think that is news to anyone here, I'm just late to the party


----------



## chad1376

quietfly said:


> it might not be possible, and its alot to ask, but if you can make a video of the car all together doing a walk around of the install. i'm curious to see the stuff installed and in your car . If you don't want to or dont have the time i understand...


I second this. This is an awesome build thread, but my small brain can't put together the big picture. :bucktooth: A summary would be cool.


----------



## nepl29

Neil_J said:


> I'm just getting less out of it, compared to MECA. I like MECA's judging process better (1 random judge compared to three that are averaged), I get a lot more advice on what's wrong with my car, and seems to be more fair. I don't really think that is news to anyone here, I'm just late to the party


I agree!!!


----------



## BowDown

I agree as well. I personally like the Iasca scoring better, but even at finals it's one judge? What gives. 



Posted from my Samsung Galaxy S III 32gb via tapatalk 2.


----------



## Neil_J

The MECA scores for SBN are being posted now, looks like I came in fourth place! Only 0.5 points away from a trophy, and that's on a pretty crappy hobbled-together system. 

Next year, it's on  If you're in ModEx, you'd better watch out!


----------



## quietfly

congrats!


----------



## BowDown

Awesome man. I'd love to cross paths with you in meca, but I'm only collecting points in iasca.  



Posted from my Samsung Galaxy S III 32gb via tapatalk 2.


----------



## Neil_J

Obtaining a replacement logic board for my Mac Mini is proving difficult. Here are the options that I've come up with so far, ordered from cheapest to most expensive:


Attempt to repair it myself. I've already looked at the logic board under my stereo microscope and haven't seen anything obvious. I'm going to try a few other things before I give up and consider the options below.
Take it to a local shop, maybe at the least they can confirm the power brick is still okay and might have a spare logic board laying around.
Send it out to an internet repair shop and hope they can actually get it fixed, for ~$180. For only a bit more, I could buy a replacement logic board.
Buy a replacement logic board for $200. For only a little more, I could buy a complete used one on Craigslist or eBay.
Buy a replacement Mac Mini of the same model/year (A1283 ) for ~$250.
Buy a brand-new Mac Mini (A1347) for $599 (or the Quad Core version for $799). The newer ones are too big it fit in the MINI secret compartment above the glove box, so it would have to go under the seat. Also, the newer ones don't have CD drives, so I'd have to buy the $80 external USB drive if I plan to compete in MECA and wish to use it for CD transport. Oh, and I don't believe anyone has came out with a 12V DC-DC power supply, so I'd have to come up with something there.

Obviously the advantage of going with the Core i7 Quad Core is the raw processing power for running VST plugins and other stuff. Less chances of skipping or other jittery nastiness. I'm probably already approaching the limits of what I can process with the current setup (Core 2 Duo 2.0 GHz). The disadvantage of the newer model is the extra few hundred bucks invested, and coming up with a DC-DC supply. 

Even with all the Apple troubles I've had, I'm not switching to Windows and a PC just yet.


----------



## JayinMI

$200ish doesn't seem too bad for a new logic board. When my G4 iBook **** the bed, they wanted like $695 for a new logic board and labor...for a 2 year old computer I paid $999 for. Get real, I just waited and then popped for the MacBook I have now. (After some douche bag stole my car, and the insurance paid me for it.)

Hope you get it going soon...I'm still looking forward to seeing the Steering Wheel Controls working! lol

Good luck!

Jay


----------



## ErinH

You may have covered this already, but do you know the exact cause of the issue (so it doesn't happen again)?


----------



## BowDown

My vote is for a parts machine. I would keep looking... For just the base unit I'm sure you can find it sub 200. 



Posted from my Samsung Galaxy S III 32gb via tapatalk 2.


----------



## Neil_J

bikinpunk said:


> You may have covered this already, but do you know the exact cause of the issue (so it doesn't happen again)?


I'm still trying to root-cause it. I was trying to get the thing into the secret compartment above the glove box, and gave it a shove, and it didn't turn on. Removed it and noticed that the little 28 gauge wires sticking out for the ACPI turnon (part of the Carnetix kit to wake it from sleep mode) had frayed, so I brought it inside to solder thicker wires and replace the included connector with a Dean's Ultra connector. Took the case off and unscrewed/removed the CD/fan assembly, made the mod, and brought it back outside. Wouldn't even turn on. Brought it back in and tried with the lower brick. Nothing. Could have been ESD discharge as it was very cold that day (well for Florida) and low humidity is bad for ESD. Could have been that I bent/broke the power connector or video connector when shoving it into the compartment. Or the Carnetix power supply might have browned out or over-voltaged and killed it. It had been acting up for about a week before, turning on, but not booting, which I assumed was because of the USB touchscreen controller being a piece of crap. But maybe the thing had been slowly dying the whole time. Hard to say. I've only had time to do a visual inspection on the board so far, under a stereo microscope, nothing looks suspicious. Ehh, I shoulda just bought a P99 and been done with it


----------



## Neil_J

BowDown said:


> My vote is for a parts machine. I would keep looking... For just the base unit I'm sure you can find it sub 200.


I'm just not sure the Base model (or any model with a Core 2 Duo) will be fast enough for what I want to do. I'm already at 30% CPU with the center/rear upmixing and crossovers/filters running, and I've not even started with the FIR stuff yet.


----------



## BowDown

Well the new minis are nice... Could mold a slot load usb dvd drive into the radio bezel? 



Posted from my Samsung Galaxy S III 32gb via tapatalk 2.


----------



## Neil_J

BowDown said:


> Well the new minis are nice... Could mold a slot load usb dvd drive into the radio bezel?


No room, but I could mount the USB slot load SuperDrive in the secret compartment, and have room left over for a pair of sunglasses. Lol @ the fact that my iPhone autocorrects SuperDrive to the proper case, it's like a pocket-sized Apple propaganda machine


----------



## quietfly

id vote for the new mini, but i'd also look and see if the aerobook would. could fit anywhere and could be adapted to the install. aslo what about creating a custom case out of the secert compartment for the new mac mini and a usb drive...


----------



## BowDown

What about a slightly used MacBook? Use it like a mini but it gives you the ability to tune at higher resolution when needed. Also would be removable if needed. 



Posted from my Samsung Galaxy S III 32gb via tapatalk 2.


----------



## Neil_J

The new Mac mini is about 7.7" wide, and the secret compartment is about 7" on the inside. I really don't want to ruin the secret compartment mechanism as it's one of the cooler parts about the car. The other option is to disassemble the new unibody mini and put the guts in the secret compartment with a custom aluminum faceplate. It's doable but I worry about breaking something. I could 3d print a custom case for it to hold the guts together, but that's getting into a lot of custom work, and I'd still have to come up with a DC-DC power supply. Seems a nice way to go but adds a lot of work to an already crazy amount of work I have left to do.


----------



## Neil_J

BowDown said:


> What about a slightly used MacBook? Use it like a mini but it gives you the ability to tune at higher resolution when needed. Also would be removable if needed.
> 
> 
> 
> Posted from my Samsung Galaxy S III 32gb via tapatalk 2.


Lol, I could buy a new one with my tax return and use my old one in the car. It's been a champ for like 3 or 4 years now. No clue on what kind of DC power requirements it needs, but I could wake it up with an Arduino simulated keyboard event, and put it to sleep with an AppleScript command, which means no wires other than power, mini displayport, and USB. If I could figure out AirPlay for the video, and get it working reliably, that would be pretty sweet. I'm still not sure I've got room under the seat for it though.


----------



## BowDown

Neil_J said:


> Lol, I could buy a new one with my tax return and use my old one in the car. It's been a champ for like 3 or 4 years now. No clue on what kind of DC power requirements it needs, but I could wake it up with an Arduino simulated keyboard event, and put it to sleep with an AppleScript command, which means no wires other than power, mini displayport, and USB. If I could figure out AirPlay for the video, and get it working reliably, that would be pretty sweet. I'm still not sure I've got room under the seat for it though.


Glad I could help you spend your money. Lol. I like this idea best. Carnetix may have the correct output.. 



Posted from my Samsung Galaxy S III 32gb via tapatalk 2.


----------



## Neil_J

I think I've got a new crazy idea that might take the CarPC digital signal processing in a direction that I never intended. And by crazy, I mean reliable and uncomplicated and robust, which is just plain crazy by my standards  All of this of course is the result of all of the problems I've had over the last month or so.

More details to follow.


----------



## astrochex

^ You know how to tease, you could work in the broadcast industry.


----------



## JayinMI

Neil_J said:


> And by crazy, I mean reliable and uncomplicated and robust


At least we know he isn't switching to Windows. lol

Jay


----------



## Neil_J

Not Windows, not OSX...


----------



## BowDown

Linux? Or android. Tis all that's left. 



Posted from my Samsung Galaxy S III 32gb via tapatalk 2.


----------



## Neil_J

BowDown said:


> Linux? Or android. Tis all that's left.


Negative. That leaves everything that's not a desktop OS :surprised:


----------



## BowDown

Java? 



Posted from my Samsung Galaxy S III 32gb via tapatalk 2.


----------



## Neil_J

BowDown said:


> Java?


No, I'm more of a Red Bull guy myself :laugh:


----------



## BowDown

Gives you wings to fly into windows or eat apples? 



Posted from my Samsung Galaxy S III 32gb via tapatalk 2.


----------



## bbfoto

FORTRAN, LOL? JK. Yeah, I'm old.

QNX


----------



## BowDown

Bsd? 



Posted from my Samsung Galaxy S III 32gb via tapatalk 2.


----------



## JayinMI

bbfoto said:


> FORTRAN, LOL? JK. Yeah, I'm old.
> 
> QNX


If we're gonna go back to that, how about Assembly? lol


----------



## Neil_J

You guys are way off base, I can't take it 

I'm looking at using a real DSP to do the heavy-hitting, and only use the CarPC for the touchy-feely stuff  

In a car analogy, a Windows PC would be a Ford Excursion with choice of Triton V8 or Cummins Diesel. Powerful, but huge and slow around the corners. Lots of cupholders and may an LCD screen for the kids.

A Mac would probably be a Mercedes or Audi. Fast, nimble, expensive, full of creature comforts, and in the shop a lot 

A digital signal processor (e.g. Analog Devices SHARC, Texas Instruments TMS series) would be like a raced out Ferrari or an F1 racecar. No luxuries at all, and break-neck speed at all cost. DSP's only need to be good at two things: Addition and multiplication (as fast as possible). This process is called _convolution_, and is the heart of digital signal processing. The Mosconi 6to8, the Arc PS8, all the Alpine and RF processors... all of them use a DSP of some sort. The reason I hadn't used one off-the-shelf earlier, is that I'm trying to do some very unique stuff, and that rules most of them out. 

Using a PC to do DSP works in theory, but the devil is in the details. A desktop operating system does not guarantee you that you can get your DSP calculations done within a timeslot. For that, you need an RTOS, or Real Time Operating System. It an operating system, but it lets you schedule tasks to run at a specific rate, (e.g. the reciprocal of the sampling rate), while guaranteeing that no other processes will screw the timing up. This is why you never hear an off-the-shelf DSP skip.

The tough part now is trying to pick out one that does everything I need. It's likely going to be a kit or built from scratch, and programmed in C++. If I'm lucky, I can hook it up to my DACs and the MiniDSP USBStreamer. There was a guy competing in IASCA last year that did exactly this. There's also a guy on diyma doing it... so it might be reinventing the wheel but it's not a pipe dream either.


----------



## Neil_J

JayinMI said:


> If we're gonna go back to that, how about Assembly? lol


Nope if we're doing it oldschool, I'm going to enter the raw assembly code into an Altair 8080 using dip switches


----------



## bbfoto

Neil_J said:


> I think I've got a new crazy idea that might take the *CarPC digital signal processing* in a direction that I never intended.



Ahhh...okay. The Bold part above threw us off I think. That's my excuse at least.


----------



## Neil_J

Picked up a replacement Mac Mini on eBay, same exact specs except about 260 MHz or so faster. As long as I'm doing some of the processing external, I don't need a super-fast new one with a Quad Core i7 processor and 16 GB ram. Kinda bummed that this one screw-up costed me an extra $300, but I guess you gotta pay to play.


----------



## BowDown

Neil_J said:


> Picked up a replacement Mac Mini on eBay, same exact specs except about 260 MHz or so faster. As long as I'm doing some of the processing external, I don't need a super-fast new one with a Quad Core i7 processor and 16 GB ram. Kinda bummed that this one screw-up costed me an extra $300, but I guess you gotta pay to play.


You paid 300$? I would of sold you mine. Lol. 



Posted from my Samsung Galaxy S III 32gb via tapatalk 2.


----------



## Neil_J

BowDown said:


> You paid 300$? I would of sold you mine. Lol.


Yes, they're expensive, I'd say even sought after. Is it an A1283 model?


----------



## BowDown

Not sure off hand. I would have to check tomorrow. For 300 I could make a sweet itx pc. Lol. But the mac is nice too. 



Posted from my Samsung Galaxy S III 32gb via tapatalk 2.


----------



## Neil_J

BowDown said:


> Not sure off hand. I would have to check tomorrow. For 300 I could make a sweet itx pc. Lol. But the mac is nice too.


I would absolutely love to do all of the processing and touchscreen stuff in Linux, but that would be very risky and is a huge project that would take a team of experienced people to pull off. I decided on using the Mac Mini and Labview not because it was the best, but because it seemed like the quickest path to the finish.


----------



## Neil_J

Apparently, the reason Labview is running so slow on the Mac, is that the whole thing is compiled as PowerPC legacy code and run through OSX's Rosetta emulator. This is why it doesn't support the latest OSX version, where Rosetta has been removed. That's a huuuge reason to either (A) get rid of Labview and re-code what I have in another development environment, or (B) bite the bullet and load Windows and the Windows version of Labview, which unlike the OSX version, is proven to be very fast, and will likely even work with my multi-channel DAC natively, which means I can likely do the processing right from Labview just like I originally intended.


----------



## BowDown

Win7 in bootcamp?


----------



## BowDown

Neil_J said:


> Yes, they're expensive, I'd say even sought after. Is it an A1283 model?


According to system profiler mine is: A2383B


----------



## Neil_J

BowDown said:


> According to system profiler mine is: A2383B


A1283B maybe?? A2383 is not a valid model # afiak.


----------



## BowDown

Neil_J said:


> A1283B maybe?? A2383 is not a valid model # afiak.


Not sure. I checked the case and found no markings there.

Here's the screen capture.


----------



## Neil_J

BowDown said:


> Win7 in bootcamp?


Most likely. Not that I'd be happy about it. All of my previous calculations show that I should be able to meet the timing necessary to do some crazy FIR multitap filters in the time domain, in addition to the stereo-to-surround upmixing (also in the time domain). The only problem I'd likely run into is skipping, but that would have to be tested, and I think there are even some workarounds there. And as long as the processing is being done before being converted to I2S, it has the added bonus of reducing jitter (many DSPs with I2S out have really crappy jitter specs compared to the latest offering of low-jitter PC-to-I2S transports, e.g. the USBStreamer and ExaU2I). Either way though, I'm going to have all sorts of tradeoffs, at this point I'm just trying to pick the one that will give me the least grief.


----------



## BowDown

True. 

A good reason why I use a standalone processor. I went the route with console, vst's, 8-10 channel sound cards, software loopbacks... blah blah. At this point I can just use whatever front end I want.. and dump the output into the miniDSP via my Music Fidelity ASYNC Digital Coax/Toslink soundcard. 

Ahh.. simplicity without compromise.


----------



## Neil_J

BowDown said:


> True.
> 
> A good reason why I use a standalone processor. I went the route with console, vst's, 8-10 channel sound cards, software loopbacks... blah blah. At this point I can just use whatever front end I want.. and dump the output into the miniDSP via my Music Fidelity ASYNC Digital Coax/Toslink soundcard.
> 
> Ahh.. simplicity without compromise.


If I wasn't doing the stereo-to-surround upmixing, I'd go that route in a second. And believe me I've recently thought about dumping my entire setup and going old-school with just a two-way and a sub like everyone else. But I've made it this far I guess.


----------



## chad1376

You know, if you "really" wanted to go old school, the orange heater glow of a vaccum tube filaments + blue glow of electrons hitting the tube glass would compliment your amp rack quite nicely.


----------



## BowDown

Neil_J said:


> If I wasn't doing the stereo-to-surround upmixing, I'd go that route in a second. And believe me I've recently thought about dumping my entire setup and going old-school with just a two-way and a sub like everyone else. But I've made it this far I guess.


Ah, I must have missed that in your thread. I love how you are using your knowledge to think outside the box.. so I'm not going to push the off the shelf (even though a couple products that do upmixing come to mind)... what fun would that thread be. :laugh:


----------



## Neil_J

chad1376 said:


> You know, if you "really" wanted to go old school, the orange heater glow of a vaccum tube filaments + blue glow of electrons hitting the tube glass would compliment your amp rack quite nicely.


If I buy a classic Mini Cooper in the future, I'll definitely go that route. I love the sound of tubes, and building something like that from scratch would be an incredibly fun project. Unfortunately for this project, I need the efficiency that Class D amps allow me to achieve.


----------



## BowDown

Neil_J said:


> If I buy a classic Mini Cooper in the future, I'll definitely go that route. I love the sound of tubes, and building something like that from scratch would be an incredibly fun project. Unfortunately for this project, I need the efficiency that Class D amps allow me to achieve.


Now that would be a huge turn-on delay for judging... "Hold on.. I need to warm up my tubes... for a couple minutes."


----------



## Neil_J

Yea, but very low risk of turnon pops..


----------



## evilspoons

Neil_J said:


> Apparently, the reason Labview is running so slow on the Mac, is that the whole thing is compiled as PowerPC legacy code and run through OSX's Rosetta emulator. This is why it doesn't support the latest OSX version, where Rosetta has been removed. That's a huuuge reason to either (A) get rid of Labview and re-code what I have in another development environment, or (B) bite the bullet and load Windows and the Windows version of Labview, which unlike the OSX version, is proven to be very fast, and will likely even work with my multi-channel DAC natively, which means I can likely do the processing right from Labview just like I originally intended.


I suppose it's probably down to what version of LabVIEW you already have access to (as it's a pretty expensive piece of software to just go and buy...) but I believe the newest versions are Intel native 64-bit.

Some reading: Mac OS X 64-bit Kernel and Rosetta Compatibility with National Instruments Software - National Instruments

EDIT: It just occured to me the dingbats at NI might have "fixed" it by just adding their own PPC->Intel translation layer rather than doing a rewrite, hopefully that's not the case.


----------



## Neil_J

evilspoons said:


> I suppose it's probably down to what version of LabVIEW you already have access to (as it's a pretty expensive piece of software to just go and buy...) but I believe the newest versions are Intel native 64-bit.
> 
> Some reading: Mac OS X 64-bit Kernel and Rosetta Compatibility with National Instruments Software - National Instruments
> 
> EDIT: It just occured to me the dingbats at NI might have "fixed" it by just adding their own PPC->Intel translation layer rather than doing a rewrite, hopefully that's not the case.


I payed $20 for the student version of LV (can't remember if it's 2010, 2011, 2012), and I've gotten that much out of it thankfully. I could never pay the full retail, NI prices for very large companies unfortunately. In my experience, the OSX version has proven to be very slow and buggy with 10.6, and they don't officially support the latest (Lion or Mountain Lion or whatever) version, according to their website, and certain people on their forum that have tried it (those posts were from mid to late 2012). NI's roadmap doesn't break down individual OSX versions, so I'm not sure when/if they'll get around to it. OSX and Linux are definitely second (and third) fiddle compared to Windows, that's where they make 99% of their money 

I'd really like to use their FlexRIO platform to do all the processing in hardware, though written in Labview. You get an FPGA and an embedded processor running a real-time operating system for scheduling time critical tasks. But you don't want to know what the whole package costs, I could by a new car for cheaper :surprised:


----------



## Neil_J

evilspoons said:


> EDIT: It just occured to me the dingbats at NI might have "fixed" it by just adding their own PPC->Intel translation layer rather than doing a rewrite, hopefully that's not the case.


I'd put money on it. Its just sooo slow compared to the Windows version, what else could it be. 

The other crappy part about upgrading to latest OSX will be, all of their included OSX frameworks are through Carbon which I believe has also been depreciated (rightfully so since it's 10+ years old now, NI has had plenty of time to re-implement in Cocoa, but nope, they dropped the ball there too).

And oh yea, multi-channel audio output has been broken for several versions now with no timeline to be fixed. That was the whole reason for starting this thread, and it turns out it doesn't work and might not for a while. My choices are use LV for Windows, or re-write everything in C++ natively via XCODE (which is a huuuge task in itself, not sure I have time to go that route)


----------



## BowDown

Bootcamp woes on my end here. I was going to install windows 7 as a trial os... But it fails partitioning due to unmovable files. Recommended fix is to erase the drive and start again. Would work fine if I had the media for 10.6.8. Lol. 

You going to try win7?



Posted from my Samsung Galaxy S III 32gb via tapatalk 2.


----------



## Neil_J

BowDown said:


> Bootcamp woes on my end here. I was going to install windows 7 as a trial os... But it fails partitioning due to unmovable files. Recommended fix is to erase the drive and start again. Would work fine if I had the media for 10.6.8. Lol.
> 
> You going to try win7?


As a last resort, yes  I've been running it through Boot Camp on my MacBook with no issues. My only gripe is my hatred of Microsoft and the limitations of their OS.


----------



## BowDown

Bootcamp with win7 pro 32bit was fairly painless on the mini. Did have it lock up once during install but resumed and hasn't locked since. Sp1 built in installed almost all the drivers needed. 

Started my simple dock bar/launcher programming today. I'll show ya what it looks like a little later. 

Still keeping the mini in the plans? 



Posted from my Samsung Galaxy S III 32gb via tapatalk 2.


----------



## Neil_J

So the replacement Mac Mini showed up today, the one I ordered on eBay almost two weeks ago. It was cosmetically very damaged, and on the inside, it was even worse. Like the thing had been dropped out a three story window. But the logic board was surprisingly ok. I replaced it and it boots up, and the OS and all my files show up as expected. 

So I might have the Mac Mini and all the CarPC stuff ready for the Palm Springs MECA show on the 30th of this month (I'll be competing there either way, but having the CarPC ready would be pretty cool)


----------



## BowDown

Gotta love eBay. At least the motherboard was in decent shape. 

Outside of some monitor weirdness using the lilliput on Win7 I'm really happy with the change. Just makes programming much easier (for me).


----------



## Neil_J

I'm so frustrated after two days of running into every software bug and hardware problem imaginable, I'm about to sell everything and go buy a P99RS.


----------



## Neil_J

Most of my anger is directed square at Mosconi and their wonderfully crappy 6to8. My god what a shining turd the user interface software is.


----------



## subwoofery

Neil_J said:


> Most of my anger is directed square at Mosconi and their wonderfully crappy 6to8. My god what a shining turd the user interface software is.


Please do tell what went wrong with this 6to8 DSP. Was interested in using one maybe in 2 years from now  

Kelvin


----------



## CDT FAN

Neil_J said:


> I'm so frustrated after two days of running into every software bug and hardware problem imaginable, I'm about to sell everything and go buy a P99RS.


You just pointed out the reason why I haven't attemped a car PC. I've thought about it many times, but I figured the end result would be frustration.


----------



## Hanatsu

Neil_J said:


> Most of my anger is directed square at Mosconi and their wonderfully crappy 6to8. My god what a shining turd the user interface software is.


OMG. Completely agree, the bugs in that software are horrible. The interface is a mess as well.

Edit; The most annoying "Bugs" I've noticed, after entering T/A values the numbers simply reset after pressing back once in while... and if the DSP looses connection if has to run through every damn preset AND ACTIVATE THEM one after eachother, if the crossovers are set to fullrange and you have some volume on; Bye bye tweeters ^^


----------



## Neil_J

Hanatsu said:


> OMG. Completely agree, the bugs in that software are horrible. The interface is a mess as well.


Their stuff is overpriced, their software buggy and only available on a single OS (not counting the android app as I'm only talking about tuning here). Using it with Room Eq Wizard is a freaking pain. Running through VMWare Fusion is terrible, the fan kicks on in my laptop, since I'm running two entire OS's simultaneously, so I'm forced to move the laptop outside the car which is great until it starts raining. Shut the laptop lid, and POOF, three and a half hours of tuning, GONE. The save files I was saving, those seem to load in weird values for god knows why. Oh, and for some reason today, my MobilePre decides to stop working until I shut down VMWare Fusion, Win7, and the Mosconi app, and restart it. Then it works. Which is fine, except that workaround takes 20 minutes. By which time it's raining again.

I can't afford their digital input board, so I'm running a FiiO D3 DAC, which was only $25. Which works great surprisingly. Go figure.


----------



## Neil_J

What really pisses me off is, they've been selling it for what, like a year now? And those bugs aren't being fixed? What gives? Did they lay off their engineers after the product launch? (wouldn't be the first time, _believe me_).


----------



## Neil_J

Since I'm stuck with it, and will be likely using it in my girlfriends car after the meca competiton on the 30th, I have an idea to make the process of tuning with it a million times easier. Need to do a few experiments to see if it's doable.


----------



## quietfly

Neil_J said:


> Since I'm stuck with it, and will be likely using it in my girlfriends car after the meca competiton on the 30th, I have an idea to make the process of tuning with it a million times easier. Need to do a few experiments to see if it's doable.


once again down the rabbit hole..... I hope things work out for you my friend.


----------



## Neil_J

quietfly said:


> *once again down the rabbit hole.....* I hope things work out for you my friend.


Tell me about it. I came to this site two years ago looking for a pair of 5x7's for my old Ford Focus. And now here I am gutting a brand-new car, shoving Mac Minis in little compartments and building DAC's from scratch. And none of that works so I'm scrambling to use off-the-shelf gear just so I can have _something_ decent for the show this weekend.

My car has sounded like crap since the day I picked it up.  I am chasing unicorns at this point. I've lost the idea that it's even possible. I don't know how some of you guys do it.


Edit: Actually I do know how you guys do it. I think it has to do with the K.I.S.S. approach.


----------



## BowDown

It's a sickness Neil. Lol. It only gets worse my friend.  hope you find some sanity. 



Posted from my Samsung Galaxy S III 32gb via tapatalk 2.


----------



## bertholomey

Hate to hear that Neil. After nearly a year of running the 6to8, I was convinced to pull it out and use my P99 for tuning (instead of just using it as an expensive transport). It only was a 60 second decision......I went to a friends house to tune, after 30-40 minutes of tuning with the 6to8, the car did its auto off thing, and I couldn't get the Bluetooth to reconnect. This is the only time that happened, but after rebooting Windows/VMWare, it wouldn't connect. My friend said, "Dude, I have a couple long RCAs". Different situation because I already had the piece in the car, but I understand the frustrations (a little bit). Good luck my friend.


----------



## ErinH

agree with Jason. I was using the 80prs+6to8 and finally had enough of the weird 6to8 stuff so I just sold it. If I weren't constantly swapping out gear and tuning, it wouldn't have been as bad. But there's something to be said for the simple elegance and convenience of the p99. If they'd slap a few PEQ bands on it to complement the global 31 band EQ, I'd see no reason anyone would want or need anything more.


----------



## SunShade

Hi Neil,
do you maybe have 4-10 DAC boards left over for sale?


----------



## Neil_J

SunShade said:


> Hi Neil,
> do you maybe have 4-10 DAC boards left over for sale?


I'm currently working on Rev 2, which will hopefully be available for purchase at the MiniDSP store  No timeframe yet.


----------



## SunShade

Thanks. Too bad it has become a commercial product... 
Any for fun non commercial DIY info (e.g. layout) about rev 1? What needs to be improved on Rev 1 (if you can tell, of course).
Also, I believe the ministreamer doesn't have a specific I2S master clock or the ability to use an external master clock. Have you measured the I2S jitter, how does it look like?


----------



## pcpete

Well, I'd welcome a commercial product as I'm not to proficient in circuits and stuff, especially if it were to mate with a minisharc  .... but it would be nice to see more diy projects and options evolve...can you share any more info neil_j?


----------



## Neil_J

pcpete said:


> Well, I'd welcome a commercial product as I'm not to proficient in circuits and stuff, especially if it were to mate with a minisharc .... but it would be nice to see more diy projects and options evolve...can you share any more info neil_j?


MiniDSP is definitely interested in doing some sort of "hobbyist corner" on their site for makers and hardware hackers such as myself. This is just another reason why I love this small company, they've got their head on their shoulders, and are watching niche communities like ours and working alongside us, not against us like some other conglomerate companies out there do at the corporate level. That being said, the ball is in my court to get them a decent design, as they're not even doing so much as a peer review on it. They're just buying the parts, stuffing the boards, and listing it on their website.. and hopefully I'll get a small percentage to make it all worthwhile, which would motivate me to make an even better DAC, such as one with the ES9018 Sabre 8-channel (which would be cutting my teeth on my first 4-layer design, which is fun and finally affordable in 2013 thanks to seeedstudio in Shenzhen China)

The FrankenDAC itself works great, the second rev is only to fix a very minor mechanical issue with the RCA's and where they end up relative to the front panel. Also, I had a complementing power supply board built for it, that will need a second rev as well, that one had a bit more wrong with it. My whole approach to the design was that the power supply was one of the four pillars of the entire design, so selling it without the power supply board is like selling an HDTV and hooking it up without an HDMI cable. The other pillars btw were jitter mitigation, extreme attention to routing the analog and high-speed clock lines on the pcb, and extensive RF shielding for mitigation against RF susceptibility, RF emissions, conducted susceptibilty, and conducted emissions. I've not been able to measure it yet, but everything seems very promising. MiniDSP has an Audio Precision analyzer and has offered to do some very quick and dirty S/N ratio and distortion testing. I'll obviously report back here with how that goes, but it could be a while.

Edit: pcpete, your setup in your sig sounds very interesting, I'm running the same FiiO DAC in my car at the moment as a temporary setup. How does it sound? Do you have any noise issues or pops/clicks on turnon or shutdown?


----------



## pcpete

Thx for the feedback and info, I'll be watching your progress, I'll probably be your first customer 

I've already bought a minisharc and some mystery i2s input es9023 dacs from ebay to mess around with, but would prefer something properly tested and configured. I put up a post about these, could you tell me what you think of these based on the specs and layout?

http://www.diymobileaudio.com/forum/technical-advanced-car-audio-discussion/145968-need-help-minisharc-dsp-meets-buffalo-iii-dac.html

I definately agree with you on minidsp! I've been reading the minidsp forums and there section on diyaudio forums..I really love their community involvement! That is probably the main reason I decided to go with them.

All these car audio companies making dsp's is fine and dandy , but software and dsp's aren't their main thing , and it shows in their software quality and support. When i read all the nightmares that people are having with the 3sixty.3 , your 6to8 and on and on, I just makes it easier to choose a company like minidsp that specializes and supports their MAIN product and actually listens, works with and implements user suggestions. I really hope the new minidsp based PPI and Soundstream dsp's do well...

As for my setup....I'm loving it! No hiss or pos/clicks....the sound quality is pretty damn good considering for now i'm just using my Alpine PDX V9 built in crossover's and no EQ or TA.

I was worried about the HDMI to SPDIF path, as I have heard people having problems with Android not processing the audio properly via HDMI, but for the life of me I can't see a problem with this toshiba tablet...I'm definately getting the full 20-20khz range. I am using a good power regulator (minibox DCDC USB) to feed both the dac and my Viewhd HDMI to SPDIF stripper.


----------



## Neil_J

pcpete said:


> *All these car audio companies making dsp's is fine and dandy , but software and dsp's aren't their main thing , and it shows in their software quality and support. *When i read all the nightmares that people are having with the 3sixty.3 , your 6to8 and on and on, I just makes it easier to choose a company like minidsp that specializes and supports their MAIN product and actually listens, works with and implements user suggestions. I really hope the new minidsp based PPI and Soundstream dsp's do well...


Yes! You nailed it there. Couldn't agree more. I wish we could all show up at Mosconi's doorstep with pitchforks and torches and tell them to get their sh*t together. It really turns me the wrong way to see how badly their software interface fails.. it probably bugs me more than anyone in the world, I'd imagine.

MiniDSP is a shining example of what is possible for a small niche company to achieve. I love using their software, it just works! And they even give you a place to enter your own biquad filters (which gives you, among other things, all-pass filters, that none of the Big Guys can do). Oh, and the very best part of all. Integration with Room Eq Wizard. Freaking amazing.

I was very close to getting a MiniSHARC and going that route. I've been in touch with MiniDSP and I'm pushing them to talk to Dolby and others about licensing it for stereo surround upmixing so crazy people like me can do center channel and rear fill and stuff. Licensing is going to be tricky, that's for sure. If I run out of processing power on the Mac Mini, I'm buying it right away. 

Also, have you guys seen their new UMIK-1? Just like the Behringer ECM8000 mic, except with a built-in phantom 48V power supply, preamp, and a USB-interface. And it comes with real calibration numbers. For 75 bucks. My ECM8000, MobilePre, and USBmicMate are going to the diyma classifieds.


----------



## SunShade

Neil_J said:


> MiniDSP is definitely interested in doing some sort of "hobbyist corner" on their site for makers and hardware hackers such as myself.


Neil, that makes it a completely different thing. I thought you were selling your design to them, I apologize if I was going in the wrong direction.
BTW, I like that company a lot, however sometimes they make some design choices that leave me wondering why they did not go the extra mile.
Examples:
MiniSHARC: I2S master clock can only be an output, software generated and without any special care; also, 96KHz max (even if they state up to 192 KHz somewhere); might change, but that is the way it is now according to the user manual they have on their website
Ministreamer: again, it's not clear how good the I2S master clock is

As you are taking so much care in the DAC layout to make sure jitter is under control, it would be nice to have some numbers about jitter from MiniDSP, as it seems they have the proper equipment to test.

Anyone got any information about that?


----------



## Neil_J

SunShade said:


> Neil, that makes it a completely different thing. I thought you were selling your design to them, I apologize if I was going in the wrong direction.
> BTW, I like that company a lot, however sometimes they make some design choices that leave me wondering why they did not go the extra mile.
> Examples:
> MiniSHARC: I2S master clock can only be an output, software generated and without any special care; also, 96KHz max (even if they state up to 192 KHz somewhere); might change, but that is the way it is now according to the user manual they have on their website
> Ministreamer: again, it's not clear how good the I2S master clock is
> 
> As you are taking so much care in the DAC layout to make sure jitter is under control, it would be nice to have some numbers about jitter from MiniDSP, as it seems they have the proper equipment to test.
> 
> Anyone got any information about that?


I got no indication that MiniDSP has done jitter measurements, or even has the equipment to do it. Either way I think it should be done third-party.
I need a spectrum analyzer to measure jitter (or a few other pieces of specialized equipment). I don't own one (cheapest new one I could get one is the Rigol DSA815 for $1300, most go for $20,000 and up to over $100k). I could rent one locally or get a winning lotto ticket  or, send it to someone to measure, e.g. the NwAvGuy blog. We'll see, I'd like to get it measured alongside some other DSPs and maybe a few radios like the p99.


----------



## JayinMI

Neil_J said:


> Yes! You nailed it there. Couldn't agree more. I wish we could all show up at Mosconi's doorstep with pitchforks and torches and tell them to get their sh*t together. It really turns me the wrong way to see how badly their software interface fails.. it probably bugs me more than anyone in the world, I'd imagine.


You know, when that thing first hit and people whose opinion I trust started using them and giving their sound quality reviews and such, I recommended them to a couple of people. One guy bought one, and I was careful to explain it got very good reviews for it's sound, and that I'd never *personally* used one, but when I finally went to use the software I was appalled. It's extremely complicated to use compared to the BitOne or the RF 360.2. But it seems like a lot of the manufacturers call it good enough and then just paste a warning that it's not meant for amateurs, or call it 'professional grade' or some such nonsense. Frankly, using the 6to8 is one of the big reasons I decided to keep my BitOne.




Neil_J said:


> MiniDSP is a shining example of what is possible for a small niche company to achieve. I love using their software, it just works! And they even give you a place to enter your own biquad filters (which gives you, among other things, all-pass filters, that none of the Big Guys can do). Oh, and the very best part of all. Integration with Room Eq Wizard. Freaking amazing.


Really? I haven't looked into their stuff (since I haven't been in the market for a new processor) for quite some time, but their customer service has always been raved about. Maybe I'll look into them for a setup in my GF's Jeep with my leftover equipment. lol



Neil_J said:


> I was very close to getting a MiniSHARC and going that route. I've been in touch with MiniDSP and I'm pushing them to talk to Dolby and others about licensing it for stereo surround upmixing so crazy people like me can do center channel and rear fill and stuff. Licensing is going to be tricky, that's for sure. If I run out of processing power on the Mac Mini, I'm buying it right away.
> 
> Also, have you guys seen their new UMIK-1? Just like the Behringer ECM8000 mic, except with a built-in phantom 48V power supply, preamp, and a USB-interface. And it comes with real calibration numbers. For 75 bucks. My ECM8000, MobilePre, and USBmicMate are going to the diyma classifieds.


Interesting. I had my ECM8000 calibrated, so I might as well keep it. 

Jay


----------



## Neil_J

JayinMI said:


> You know, when that thing first hit and people whose opinion I trust started using them and giving their sound quality reviews and such, I recommended them to a couple of people. One guy bought one, and I was careful to explain it got very good reviews for it's sound, and that I'd never *personally* used one, but when I finally went to use the software I was appalled. It's extremely complicated to use compared to the BitOne or the RF 360.2. But it seems like a lot of the manufacturers call it good enough and then just paste a warning that it's not meant for amateurs, or call it 'professional grade' or some such nonsense. Frankly, using the 6to8 is one of the big reasons I decided to keep my BitOne.
> 
> 
> 
> 
> Really? I haven't looked into their stuff (since I haven't been in the market for a new processor) for quite some time, but their customer service has always been raved about. Maybe I'll look into them for a setup in my GF's Jeep with my leftover equipment. lol
> 
> 
> 
> Interesting. I had my ECM8000 calibrated, so I might as well keep it.
> 
> Jay


Re: Mosconi. I'm so ticked off that I think I'm going to write an open letter to Mosoni/Gladen, and include quotes from people here that have left scathing or at best lackluster comments on it. Maybe if they know that people are selling them and staying away from them, and installers wouldn't recommend them to customers, maybe they'd either (A) fix it, or (B) open the protocol up so that the community could write their own UI, or for example, integrate it with Room Eq Wizard.

Re: MiniDSP. Once you realize that you can take a cal'd mic and do a sweep from Room Eq Wizard, and press a button and it calculates the parametric Eq filters for you, and then those can be directly imported to MiniDSP.. Your world changes. Would be a huuuge advantage to use this process in an install shop. Quick, efficient, and accurate.


----------



## BowDown

Neil_J said:


> Re: MiniDSP. Once you realize that you can take a cal'd mic and do a sweep from Room Eq Wizard, and press a button and it calculates the parametric Eq filters for you, and then those can be directly imported to MiniDSP.. Your world changes. Would be a huuuge advantage to use this process in an install shop. Quick, efficient, and accurate.


In theory yes. In real world no. A calibrated mic w/multiple samples will help you correct errors, but in a vehicle Room EQ is a farse. Have you ever ran with a resulting tune from it? Most of the time I find the REW result worse than what I started with. Just doesn't work well with all the reflections and such.


----------



## Neil_J

BowDown said:


> In theory yes. In real world no. A calibrated mic w/multiple samples will help you correct errors, but in a vehicle Room EQ is a farse. Have you ever ran with a resulting tune from it? Most of the time I find the REW result worse than what I started with. Just doesn't work well with all the reflections and such.


Read Bikinpunk's guide, it can absolutely be used if you understand what it does and what it cannot do. I can tune by ear, so it's what I rely on.

Edit: By saying that it was easy to use, I didn't mean that the learning curve wasn't steep. It is.


----------



## BowDown

This is true.. but in the end it's the ear that determines how accurate the tune is. I just find that an over used RTA = a terrible tune.


----------



## JayinMI

But anything that can point you in the right direction is helpful, no?

Jay


----------



## BowDown

JayinMI said:


> But anything that can point you in the right direction is helpful, no?
> 
> Jay



Yes, assuming it is. REW is a great tool... just not so sure it's useful in car audio.


----------



## Neil_J

BowDown said:


> Yes, assuming it is. REW is a great tool... just not so sure it's useful in car audio.


And your reasoning behind your statement? You've tried it and it didn't work? Just a wild-ass guess? Or maybe it works, if, and only if, you know how to properly use it? I'll buy that it's dangerous to use if you don't know what you're doing. But saying that it's not useful is just plain wrong.


----------



## quality_sound

bikinpunk said:


> agree with Jason. I was using the 80prs+6to8 and finally had enough of the weird 6to8 stuff so I just sold it. If I weren't constantly swapping out gear and tuning, it wouldn't have been as bad. But there's something to be said for the simple elegance and convenience of the p99. If they'd slap a few PEQ bands on it to complement the global 31 band EQ, I'd see no reason anyone would want or need anything more.


Hell, even as is it's VERY tempting. If they made a DD version with a DVD drive and XM/BT built-in I'd already have it.


----------



## BowDown

Neil_J said:


> And your reasoning behind your statement? You've tried it and it didn't work? Just a wild-ass guess? Or maybe it works, if, and only if, you know how to properly use it? I'll buy that it's dangerous to use if you don't know what you're doing. But saying that it's not useful is just plain wrong.


Have tried it with less than stellar results on a few occasions. I honestly have no idea where it comes up with some of the values it does.


----------



## Neil_J

BowDown said:


> Have tried it with less than stellar results on a few occasions. I honestly have no idea where it comes up with some of the values it does.


Ah, so you're using it wrong


----------



## pcpete

LOL  For $75 I'll definitely be getting one to mess around with...


----------



## BowDown

Neil_J said:


> Ah, so you're using it wrong


Anything is possible.. but RTA in my experiences has not = ear. Things can look great on a multi sample plot then you sit down and use your ears and get the big WTF? look. :laugh:

Tool to use? Yes. Something I would believe to show me the way? No.


----------



## Neil_J

pcpete said:


> LOL  For $75 I'll definitely be getting one to mess around with...


For me, it's just less cables to get tangled up, since the whole thing is built into the mic. I mounted a USB hub in the bottom of my console, so there's just the one wire to hook up... Sweet!


----------



## Neil_J

I'm thinking about pulling the trigger on an Alpine H800 as a surround upmixer/decoder and light-duty DSP, and run the CarPC through it. I could always add a MiniDSP MiniSHARC after it if I needed more equalization.

Seems like it would answer a lot of the problems that I've had. I've not read the h800 thread so I'm not sure if there are any major problems that anyone has had. Anyone think this is a good/bad idea?


----------



## ErinH

I seriously considered it at one point recently before going all separate. 

I owned the h800 a couple years ago when it first came out and had nothing but trouble with it. Now that they've resolved those issues, I think it's a great option. I know you said carpc front end...I have even been considering it again but I feel the real advantage is when you use an ai-net deck with it (optical isn't a selling point to me in this regard) because you get some features like sub control and panning if so desired. Plus, having a single shielded cable rather than RCAs is a nice thing to have. Alpine dropped ainet here but the UK has a nice little single din cda-137bti. Or you can go back a couple years or before with the 9887,117, or dva models. MP3car had/has some guys trying to implement ai-net via carPC. My buddy (a member here who is probably one of the smartest fellas I know... and I work in missile defense so that's not said lightly) was also trying something along these lines last year but I think he went a other direction for other reasons. 


I will say you should search the thread for information regarding powering it up. IIRC, it won't start up without control from the c800 or ai-net deck. There's something in my memory telling me this but I can't point to anything solid. So, just look in to it first ... Don't take my word as gospel.


----------



## pcpete

Nooooo!  Does that mean you would stop development of that custom sabre dac for minidsp?


----------



## quality_sound

bikinpunk said:


> I will say you should search the thread for information regarding powering it up. IIRC, it won't start up with control from the c800 or ai-net deck. There's something in my memory telling me this but I can't point to anything solid. So, just look in to it first ... Don't take my word as gospel.


Your instincts are pretty spot-on. There are three options to get an H800 to power up. This is in the manual but the last time I looked it wasn't on Alpine US's site. I got mine from the UK or Australian site before I actually got my H-800.

1 - Ai-Net HU
2 - RUX-C800
3 - Connect to a laptop that is actively running the tuning software


----------



## Neil_J

bikinpunk said:


> I seriously considered it at one point recently before going all separate.
> 
> I owned the h800 a couple years ago when it first came out and had nothing but trouble with it. Now that they've resolved those issues, I think it's a great option. I know you said carpc front end...I have even been considering it again but I feel the real advantage is when you use an ai-net deck with it (optical isn't a selling point to me in this regard) because you get some features like sub control and panning if so desired. Plus, having a single shielded cable rather than RCAs is a nice thing to have. Alpine dropped ainet here but the UK has a nice little single din cda-137bti. Or you can go back a couple years or before with the 9887,117, or dva models. MP3car had/has some guys trying to implement ai-net via carPC. My buddy (a member here who is probably one of the smartest fellas I know... and I work in missile defense so that's not said lightly) was also trying something along these lines last year but I think he went a other direction for other reasons.
> 
> 
> I will say you should search the thread for information regarding powering it up. IIRC, it won't start up with control from the c800 or ai-net deck. There's something in my memory telling me this but I can't point to anything solid. So, just look in to it first ... Don't take my word as gospel.


I was just reading that part. So they've barely just got the thing working, and they've just discontinued the very thing(s) needed to turn it on? It's probably an I convenience I could live with, if I bought the Commander, at least I could make basic adjustments without much fuss, even if the computer breaks (lots of failure points there so redundancy is a good thing, that's kinda the whole point of getting an external DSP).

Thanks for the quick reply. I'm going to meditate on this for a few minutes and possibly buy it for Thursday/Friday delivery, in time for the Palm Springs MECA event.


----------



## quality_sound

Neil_J said:


> I was just reading that part. So they've barely just got the thing working, and they've just discontinued the very thing(s) needed to turn it on? It's probably an I convenience I could live with, if I bought the Commander, at least I could make basic adjustments without much fuss, even if the computer breaks (lots of failure points there so redundancy is a good thing, that's kinda the whole point of getting an external DSP).
> 
> Thanks for the quick reply. I'm going to meditate on this for a few minutes and possibly buy it for Thursday/Friday delivery, in time for the Palm Springs MECA event.


I actually MUCH preferred tuning on the C800. It's faster and can do everything except the auto-tun which you won't do anyway so you're not really losing anything. It would also be your volume control.


----------



## Neil_J

Ok, the H800 and RUX controller are on the way 

Pcpete, the DAC development will likely continue, but in the meantime, I need some music in my car. It's almost been 2 years without decent sounding music, I need a short term solution for now


----------



## Neil_J

For sale: I have a Mosconi 6to8 with Bluetooth, two JBL MS-8's, and some other bits and pieces that need to go, PM me if interested.


----------



## BowDown

Neil_J said:


> For sale: I have a Mosconi 6to8 with Bluetooth, two JBL MS-8's, and some other bits and pieces that need to go, PM me if interested.


$5 shipped 



Posted from my Samsung Galaxy S III 32gb via tapatalk 2.


----------



## Neil_J

I'm crazy but not that crazy


----------



## chad1376

Neil_J said:


> ... It's almost been 2 years without decent sounding music...


After lurking in this build for only a few months, I can't decide if I admire your compulisive drive for perfection, or if I am a little worried for you. Mostly though, I am inspired. 

Personally, my ADD would have driven me to say _"Eff it - it's good enough!" _a long time ago.


----------



## Neil_J

chad1376 said:


> After lurking in this build for only a few months, I can't decide if I admire your compulisive drive for perfection, or if I am a little worried for you. Mostly though, I am inspired.
> 
> Personally, my ADD would have driven me to say _"Eff it - it's good enough!" _a long time ago.


It's an evil curse, that I wouldn't wish on my best enemy


----------



## ecbmxer

I forgot about this thread! Earlier on I say you using the Arduino for some stuff and it sparked me to get one to do some high speed camera triggering stuff for work! I might ask you some questions later on if I get stuck with anything. Keep up the good work!


----------



## t3sn4f2

Neil_J said:


> Ok, the H800 and RUX controller are on the way
> 
> Pcpete, the DAC development will likely continue, but in the meantime, I need some music in my car. It's almost been 2 years without decent sounding music, I need a short term solution for now


Cool, hope their multi channel option works out well in your car.

By the way, haven't forget about what we talked about. Just that my PC's PS went out and I'm currently on my 14 year old _Dino -1.0_ till I get the part in.


----------



## Neil_J

t3sn4f2 said:


> Cool, hope their multi channel option works out well in your car.
> 
> By the way, haven't forget about what we talked about. Just that my PC's PS went out and I'm currently on my 14 year old _Dino -1.0_ till I get the part in.


Refresh my memory, what did we talk about?


----------



## t3sn4f2

Neil_J said:


> Refresh my memory, what did we talk about?


Subscription mp3s from MOG and how they fair on up mixing multichannel processors.


----------



## Neil_J

t3sn4f2 said:


> Subscription mp3s from MOG and how they fair on up mixing multichannel processors.


I must be getting old, I remember now. Should be cake now, thanks to the H800, especially since I can use the Aux In's to route 5.1 into it, which would allow somewhat-decent ABX testing between the H800's Dolby PLII, "Euphony" which I've no idea what it is, Harman Logic7 (via MS-8), and the SurroundByUs Spec/ZAG upmixer (via the CarPC, via Plogue Bidule plugin).

I'm really hoping the H800 and RUX-C800 was a good choice, it seems to do everything that I'm wanting it to at the moment. Obviously I'll still have the CarPC and FrankenDAC to play around with, but at least I'll have the lowest common denominator to play music while I'm making modifications to the carpc hardware and/or software.

P.S., 1000 posts


----------



## Neil_J

Ordered the H800 and RUX yesterday, it's on my doorstep today at 3:00, I'm in the process of installing it now


----------



## quietfly

Neil_J said:


> Ordered the H800 and RUX yesterday, it's on my doorstep today at 3:00, I'm in the process of installing it now


and people say you can't always get what you want...... ( you can try some times, but you just might find.....)


----------



## oca123

I liked the H800. A lot. I loved all of the features the RUX provided.

For some reason, though, something was off about the way the H800 sounded. I have heard this from other users, as well.

I was too lazy to look into it more.... but I do know that with all processing turned off, something was still strange about the sound.

I'll be curious to see how you like it.


----------



## t3sn4f2

oca123 said:


> I liked the H800. A lot. I loved all of the features the RUX provided.
> 
> For some reason, though, something was off about the way the H800 sounded. I have heard this from other users, as well.
> 
> I was too lazy to look into it more.... but I do know that with all processing turned off, something was still strange about the sound.
> 
> I'll be curious to see how you like it.


Way to plant a seed!


----------



## Neil_J

Whatever, dudes 

Oh em gee, this thing is wonderful, I'm already in love.


----------



## oca123

t3sn4f2 said:


> Way to plant a seed!


smoking gun


----------



## quality_sound

I LOVED mine. My PS8 is a tad more transparent but I would run an H800 again in a heartbeat.


----------



## bbfoto

I'm sure Neil will find a way to implant his FrankenDAC into the H800. 

I've always preferred processors that allow you to tune on-the-fly without a computer. Sometimes at a random time you hear a little something in a particular track and you just need to make a quick and simple tweak, but it's a pain to have to drag out the notebook/laptop, or you are somewhere without your computer, so you forget about it.

Interested to hear your thoughts as well. What do you think about the software/GUI if you do hook it up to a computer?

Good luck, Neil. Hope this works out for you.

Edit: [email protected], already updated your sig, haha.


----------



## Neil_J

We'll see if it makes it past the honeymoon phase


----------



## BowDown

Neil_J said:


> We'll see if it makes it past the honeymoon phase


That's what she said.


----------



## quietfly

I'm sure given a few sleepless nights and a case of REdBull Neil can reverse engineer it and incorporate it into his new product. 

"the Borg" 

(sound) resistance is Futile....


----------



## Neil_J

quietfly said:


> I'm sure given a few sleepless nights and a case of REdBull Neil can reverse engineer it and incorporate it into his new product.
> 
> "the Borg"
> 
> (sound) resistance is Futile....


I'm still not convinced I'd gain anything by replacing the H800 Wolfson DACs with the FrankenDACs... yes it could be done, but what's the point when the H800 performs so well out of the box?

Instead, I'm thinking about going about it another way, I can send analog 5.1 channel data into the H800 via the analog inputs, so I can wire the FrankenDAC, as-is, into the H800's inputs, and then the RUX controller can switch between optical (likely via the USBStreamer rather than the Mac Mini's since it's likely got better jitter specs and the cable will be much shorter), and the 5.1 analog from the CarPC. That gives me great redundancy, if the CarPC craps out, I can at worst-case listen to iPod via the second optical in, or from whatever else is handy. When the CarPC is actually working okay, I can play back discrete multichannel music via Dolby Digital, DTS, etc., or try a few of the other stereo upmixing codecs that I can come up with, e.g. the SPEC/ZAG plugin(s).

All in all, a pretty robust and fun system that's still got that mad scientist touch.


----------



## thehatedguy

I found a DVA9861 for the cheapness because the H800 looked so good. Just no amber illumination on the DVA .

It doesn't take too many trips down the overly complicated road to appreciate something more simple...and in the end better because it actually works all the time.


----------



## Neil_J

thehatedguy said:


> I found a DVA9861 for the cheapness because the H800 looked so good. Just no amber illumination on the DVA .
> 
> It doesn't take too many trips down the overly complicated road to appreciate something more simple...and in the end better because it actually works all the time.


I'm truly loving this thing. It's just so damn easy to go in and start tweaking T/A and Eq and stuff. This afternoon on lunch break, I muted all but the midbass channels to listen for resonances and start trying to do T/A by ear, all without going through all the crap with the laptop (It usually takes me a half hour just to get the laptop and other stuff setup!!). For the last month or so, I was always wondering why I was getting these weird harmonics on the left side during high transient peaks, and within a minute, before my ADD switched to something else, I was able to isolate it down to the voice coil on my L6SE, rubbing up on the magnet/voicecoil/whatever  On the plus side, I never knew that's what caused it, and it was easy to find, on the down side, I've gotta figure out how to get it repaired/replaced now (talking to Scott via email as I type this, I'm hoping their customer support will make this smooth and easy). 

I'm admittedly very ignorant of Alpine products for whatever reason, especially their head units and processors. I do think that their past and present lineup is VERY confusing, especially about which mandatory accessories are needed for which products, etc.


----------



## thehatedguy

I do agree with it all.

I had a H900 and installed a few H700s...and it was always so easy to use them because the remote let you do nearly everything. I liked the Rane better than the H900, but dragging out the laptop everytime I wanted to tweak something got to be a pain. Which is why I haven't bought a Behringer DCX and modded it yet...damn laptop thing.


----------



## Neil_J

On another note... I'm about to start work on my girfriend's Mini, and I'm starting to think about the possibility of doing an oldschool Alpine single-DIN CD player and one of the older Alpine DSPs with external controller (similar to mine but hopefully cheaper). She's wanting to compete in MECA Street class, and it would be a pretty simple way to go. It's either going to be that, or a MiniDSP.

Any suggestions from those with a bit more Alpine experience than me?


----------



## thehatedguy

I wouldn't go anything older than the H700/701 in terms of processors. The others just won't give you the flexiblity that you would want/need.


----------



## BowDown

thehatedguy said:


> I wouldn't go anything older than the H700/701 in terms of processors. The others just won't give you the flexiblity that you would want/need.


My h700 was a great little unit. Coming from a minidsp user it's easier to get results from the alpine. Tuning on the fly is a big plus. 

If you are willing to laptop tune and jump through hoops the minidsp yields a better sound in my experience. 



Posted from my Samsung Galaxy S III 32gb via tapatalk 2.


----------



## Neil_J

I'm skipping the MECA show tomorrow in Palm Springs because my right midbass is broken  What's another week and a half without sound, right?


----------



## BowDown

Are you planning to hit up finals? If so some points are better than no points. Lol. 



Posted from my Samsung Galaxy S III 32gb via tapatalk 2.


----------



## Neil_J

BowDown said:


> Are you planning to hit up finals? If so some points are better than no points. Lol.


True, but I don't have the financial and temporal resources to do the whole racking-up-points thing. I just wanted to do a few shows to get some real advice from some experienced judges. This show was kinda out of the blue, at this point I'm not going to compete until the install is done. Well it'll never be done, but you know...


----------



## n_olympios

thehatedguy said:


> I found a DVA9861 for the cheapness because the H800 looked so good. Just no amber illumination on the DVA .


That's weird, the euro version has it (blue/green/amber/red).


----------



## ErinH

One less midbass sometimes works better. If you miss the output just increase the one left by 3db. Lol.


----------



## Neil_J

bikinpunk said:


> One less midbass sometimes works better. If you miss the output just increase the one left by 3db. Lol.


I'll just tell the judges that it's simulating the soundstage of a concert with a broken /missing speaker..


----------



## Neil_J

I just did the imprint Eq and auto time correction, holy mother of god, it did it. It freaking did it. Even with the midbass issue, I've got laser beam imaging. This is literally the first time this is happenened and its awesome!


----------



## Hanatsu

Loved the auto T/A of my imprint system. Much better auto tune function than Pioneer's.

Glad it fixed it, how do the FR plot look now?

Sent from my Samsung Galaxy 3 via Tapatalk.


----------



## bbfoto

Neil_J said:


> I just did the imprint Eq and auto time correction, holy mother of god, it did it. It freaking did it. Even with the midbass issue, I've got laser beam imaging. This is literally the first time this is happenened and its awesome!


That's great news, man.  Congrats. Enjoy your tunes.


----------



## oca123

Neil_J said:


> I just did the imprint Eq and auto time correction, holy mother of god, it did it. It freaking did it. Even with the midbass issue, I've got laser beam imaging. This is literally the first time this is happenened and its awesome!


Really? Go into the t/a settings and look at what the H800 picked.

Yup. When doing a 3-way for example, it is unable to assign different delays for tweeter, mid, and midbass. It will align the left and right side, though.

Weird how that goes.


----------



## Neil_J

oca123 said:


> Really? Go into the t/a settings and look at what the H800 picked.
> 
> Yup. When doing a 3-way for example, it is unable to assign different delays for tweeter, mid, and midbass. It will align the left and right side, though.
> 
> Weird how that goes.


I will take a look. I've been trying for the last three hours to fix my iPad / iTunes syncing issues so that I can go out and actually listen to some stuff. I'm positively sure it's not perfect, but it got it in the ballpark, more so than the ms-8 or anything I've ever attempted to do manually. And as long as I can edit it after the fact, I'm a happy camper, never could do that with the ms-8.

Edit: nope, there are definitely different values for each speaker. Maybe I'm using a newer firmware or software version than what you were using?


----------



## JayinMI

Ever get the steering wheel controls straightened out? You said you thought you were only a line or two of code away.

I got mine working like I want, now I can work on the BitOne interface.

Jay


----------



## Neil_J

JayinMI said:


> Ever get the steering wheel controls straightened out? You said you thought you were only a line or two of code away.


Still a line or two of code away... Any day now, lol.


----------



## Notloudenuf

Neil_J said:


> I just did the imprint Eq and auto time correction, holy mother of god, it did it. It freaking did it. Even with the midbass issue, I've got laser beam imaging. This is literally the first time this is happenened and its awesome!


That's promising. How is the width? I guess after reading your last few posts I'll wait until you have time to listen to some stuff....


----------



## ErinH

Interesting. So far, I've yet to find the alpine auto tune (on any of their units) to get good imaging. Good tonality, though.


----------



## quality_sound

I didn't like the imaging or the tonality when I ran it in my Tundra. Weird.


----------



## Neil_J

Now that I've had time to listen to it, and the excitement has wore off, it's night-and-day from what it was, but still has a lot of room to improve. I'd say that I just leveled up, and obviously it gets harder on every level  The T/A is a lot better but the auto eq was way off in the midbass region. I have a deaf ear for tonality compared to most (I'm not a musician and can't tell notes by ear), but it definitely had the modal bass blooms that haunt my car more than most. The midbasses are still rattling the doors like crazy and the right one's voice coil is rubbing on the phase plug, so that's my number one issue, that's gotta get fixed one way or another. I really wish the car was big enough to do kick panels, as I'm really over the door-midbass thing


----------



## Neil_J

bikinpunk said:


> One less midbass sometimes works better. If you miss the output just increase the one left by 3db. Lol.


The L6SE has been shipped back to Hybrid for repair or replacement, and you know what... The rubbing/resonances were so bad, it images better without it, from 250 and up. That's not saying a lot because it was downright unlistenable when it was turned up
The interesting thing is, my RMA# is 0017, which either means I'm only the 17th person in the history of Hybrid to have an RMA, or they've just started tracking them with numbers. I'll give them the benefit if the doubt there. Their customer support has been great, and they're going to swap it for free if they determine it's a defect, even though it's out of warranty.

My car sounds kinda ghetto though, all bass and tweets. Need to break out my gangsta rap collection.


----------



## BowDown

DJ Jazzy Jeff & The Fresh Price isn't gangster rap Neil.


----------



## quality_sound

Anyone that grows up in a neighborhood where guys are up to no good is a gangsta.


----------



## Heterosapian

Neil_J said:


> The midbasses are still rattling the doors like crazy and the right one's voice coil is rubbing on the phase plug, so that's my number one issue, that's gotta get fixed one way or another. I really wish the car was big enough to do kick panels, as I'm really over the door-midbass thing


My plan is to eliminate all midbass frquencies from the doors and move them under the front seats. It looks like an enclosure of 0.25+ sqft could easily be integrated under each front seat but you then lose that space for anything else. Mounting depth is a concern but it looks like I'll be able to squeeze two silver flute 6.5s under each seat without contacting anything or having to lift the seat. Porting each enclosure and running a periscope 90 degrees up through the carpet should produce plenty of output with no localization under 250Hz.


----------



## ecbmxer

I'll be following your experiences with the H800 because I think ultimately that will be what I pick up (especially the prices I've seen lately). I can run it straight into my W900 via AI-net and it will do everything I need. Good to hear the auto-tune is worthwhile! On the cheapie Alpine H100 I have, the auto tune sucks.


----------



## Neil_J

ecbmxer said:


> I'll be following your experiences with the H800 because I think ultimately that will be what I pick up (especially the prices I've seen lately). I can run it straight into my W900 via AI-net and it will do everything I need. Good to hear the auto-tune is worthwhile! On the cheapie Alpine H100 I have, the auto tune sucks.


The H800 is a very worthy DSP, especially if you have an alpine HU. I'm still not certain that my original praise for the autotune was valid, as it might have just been confirmation bias. I wiped the settings by accident by unplugging it, so I've been using a manual tune ever since. And I need my midbasses fixed before I can try the autotune again.


----------



## Neil_J

Heterosapian said:


> My plan is to eliminate all midbass frquencies from the doors and move them under the front seats. It looks like an enclosure of 0.25+ sqft could easily be integrated under each front seat but you then lose that space for anything else. Mounting depth is a concern but it looks like I'll be able to squeeze two silver flute 6.5s under each seat without contacting anything or having to lift the seat. Porting each enclosure and running a periscope 90 degrees up through the carpet should produce plenty of output with no localization under 250Hz.


I think you could have localization issues for sure, especially if you get any harmonic distortion or rattling/resonances down there. Even a stray french fry or two bouncing around would give them away, I'd think. This is all just conjecture for me, I've never listened to a car with seat mounted midbasses before. I'll be watching your build log to know how it works out.


----------



## oca123

I'm a gangster!

I too thought the autotune was very good the first time around... but then i realized it sounded like ass.


----------



## Neil_J

Neil_J said:


> The L6SE has been shipped back to Hybrid for repair or replacement, and you know what... The rubbing/resonances were so bad, it images better without it, from 250 and up. That's not saying a lot because it was downright unlistenable when it was turned up
> The interesting thing is, my RMA# is 0017, which either means I'm only the 17th person in the history of Hybrid to have an RMA, or they've just started tracking them with numbers. I'll give them the benefit if the doubt there. Their customer support has been great, and they're going to swap it for free if they determine it's a defect, even though it's out of warranty.
> 
> My car sounds kinda ghetto though, all bass and tweets. Need to break out my gangsta rap collection.


Got a replacement L6SE speaker back from Hybrid today to replace my broken one. This weekend, I'll hopefully get some install work done and posted in the other thread, and possibly get the CarPC installed (only a few months late but who's counting). I think I'm also going to do a writeup on how I plan to finish up the rest of this build, as a lot has changed in the last few months, and I've thoroughly confused everyone here, including myself  I'll be doing some system diagrams in Photoshop, posting some pictures, source code, etc. to hopefully better document the whole system as it currently sits. And to hopefully show some of the software stuff I've been working on for a few weeks.


----------



## audiguy

Neil_J said:


> I think you could have localization issues for sure, especially if you get any harmonic distortion or rattling/resonances down there. Even a stray french fry or two bouncing around would give them away, I'd think. This is all just conjecture for me, I've never listened to a car with seat mounted midbasses before. I'll be watching your build log to know how it works out.


I have mid bass in the floor and they work great. Car floors are pretty darn solid.


----------



## Neil_J

audiguy said:


> I have mid bass in the floor and they work great. Car floors are pretty darn solid.


Yea but at what crossover frequencies?


----------



## quality_sound

You can go all the way to 250Hz with no localization issues.


----------



## Neil_J

quality_sound said:


> You can go all the way to 250Hz with no localization issues.


Hmm.. I'm sure that's assuming:

Decent T/A with the other drivers
Decent equalization, especially if running the drivers in a sealed enclosure with a high qtc  Most midbasses, including mine, need space to breathe.
No rattles/resonances to speak of, which would give off higher harmonics above 250 Hz that could be localized
Decent THD on the driver, for same reasons as above, and 
Steep crossover slopes, around 24 dB/octave
Correct? Assuming all of those things can be achieved, then maybe I should probably put my L6SE's under the seats. They resonate like crazy in the doors, even after all the sound deadening I've done... it's gotten a lot better, but still not where I'd like it to be. Now that I'm about to start a good bit of fiberglass work in the coming weeks, so maybe I'll give it a shot.


----------



## deepsky

I just read this whole thread, very impressive. Like you, I really love what a good surround processor can add. I've bought and tried many, and my favorite is Dolby ProLogic IIx. I've had the Alpine H800 from day one, and it leaves me cold. The Euphony is a joke. Total waste, its like echoey 5 channel stereo. Dolby ProLogic II is not IIx. The x is a big improvement for surround upmixing. Alpine cheaped out with the licensing I guess. Without the extra features of IIx, the surround just isn't what it could be. I'm looking at going CarPC route so I can get real IIx processing in the car. Are there any options for Dolby IIx VST plugins? It would be great to have a tablet with HDMI m/c out with Dolby IIx, but that's a dream. Great job, I'm interested in your opinion of the H800 for surround application.


----------



## oca123

You know, the first draft of the HDMI specification includes the support of 8 channel LPCM/192 kHz/24-bit audio. That's 8 channels of uncompressed audio.

But I have no idea how to take advantage of that.


----------



## oca123

there you go:
MOTU.com - Audio I/O

not all chipsets support 8 channels over hdmi, research before buying.

Apple says this about the mac mini, 2010 and newer: "Apple supports 8 channel 24-bit audio at 192kHz, Dolby Surround 5.1 and stereo output."

Neil, ever looked into that?


----------



## oca123

Sorry for multiposting 

This guy http://koonlab.com/MultiAmpForEveryone/FIR_HDMI_AVAMP.html

did it using FIR filters, and apparently using Nvidia CUDA (look at how fast gpu computing does compared to CPU!!!!) can do 8 channels real-time and send them via HDMI....


----------



## Neil_J

deepsky said:


> I just read this whole thread, very impressive. Like you, I really love what a good surround processor can add. I've bought and tried many, and my favorite is Dolby ProLogic IIx. I've had the Alpine H800 from day one, and it leaves me cold. The Euphony is a joke. Total waste, its like echoey 5 channel stereo. Dolby ProLogic II is not IIx. The x is a big improvement for surround upmixing. Alpine cheaped out with the licensing I guess. Without the extra features of IIx, the surround just isn't what it could be. I'm looking at going CarPC route so I can get real IIx processing in the car. Are there any options for Dolby IIx VST plugins? It would be great to have a tablet with HDMI m/c out with Dolby IIx, but that's a dream. Great job, I'm interested in your opinion of the H800 for surround application.


I'm 100% in agreement with you. Dolby Pro Logic II is more of a group of technologies with a common theme, rather than a specific technique. There are good PLII decoders, and there are bad ones. If you read the patents, the first ones (US7280664 et. al.) were using discrete opamps and a few specialized VCA chips to determine steering angle and apply gains in a matrix fashion, with the L/R in, to the four channels out (L/R/C/S). The newer techniques (US20110274280) basically decode the incoming L/R datastream into spectral bands, all of this in the digital domain obviously, and compute the steering direction for each band (so it's basically like the discrete design, being done many dozens of times for each spectral band, and then recombined). The latter works much better, however it uses more processing. This process is actually done with overlapping sections and combined together in a way to not allow windowing errors and other bad stuff to make an audible difference. There are so many ways to do it, and each have their benefits and disadvantages, not to mention each were designed for home theater, this that, etc, not necessarily car audio, let alone to be used by true audiophiles that know what to listen for.

I'm also with you in that the H800 surround processing stinks a big one. The PLII just tonally changes everything and seems to reduce dynamics, the Euphony is cool at first, but something's just off about it. Being that I've studied stereo upmixing until my head hurt, and still never heard of Euphony until I got my H800, tells you something. Logic7 on my ms8 sounds a million times better, and is very enjoyable. IIx is awesome, but I've never heard it in the car.

There are two ways to get Dolby IIx into the car, as far as I'm concerned. I'm not aware of a CarPC app or plugin to do this yet. Well, there's one, from a company called Minnetonka Audio, but it's several hundred $$$ and I've no idea how well it works. However, there are a great many home receivers out there that support it. So, with a multichannel sound card and Pro Tools LE, you can record your favorite songs to your PC, after being processed by IIx, and then burn this to an audio DVD with Dolby Digital or DTS, or played back in a CarPC (hopefully in a format less lossy than AC3), using a multichannel sound card (the H800 is nice enough to accept a discrete surround sound signal in, which is why I don't care if its built in surround stucks... I can pipe in my own  ) The second option, is to take one of these home receiver/decoder units (or possibly a smaller home device if you can find one) and convert it to work in the car. I almost did this (would have been a Harmann unit), but .... wait for it... it wouldn't fit in my Mini 



oca123 said:


> You know, the first draft of the HDMI specification includes the support of 8 channel LPCM/192 kHz/24-bit audio. That's 8 channels of uncompressed audio.
> 
> But I have no idea how to take advantage of that.


I'm less concerned about getting data out across HDMI, because USB supports all the bandwidth I need. My little USBStreamer pulls 8 channels, at 192 kHz, 24 bit... so my FrankenDAC solution is ideal. The hard part is getting the CarPC software and hardware to play nicely, namely the touchscreen drivers, my VST/AU plugin host, my custom app to read button presses and drive the monochrome LCD, etc...

The burning to an audio DVD with DTS or Dolby Digital is a very robust solution, if you have an Alpine DVD player in your car. Just feed the output to the H800, and you're done. So although I've wandered in my post a bit, there are a lot of choices out there, which is pretty awesome. I still need to do a thread on surround decoding like i said I would... it would be nice to have it all in one place.


----------



## deepsky

Dolby ProLogic II has bandwidth limited surrounds, and in the Alpine implementation, only center width is adjustable. In the IIx in Music mode there is Dimension, and Panorama, too. Adjusting these, and using a small amount of stereo expansion before the processing, I can get very close to discrete sounding surround sound. Of course it isn't as good as true discrete, but often it's better than a poor discrete surround mix. 
The Minnetonka software requires a usb dongle, which sounds like it may even need access to the internet. Not friendly to a car application! It's sad that Alpine gave us cripple ware.


----------



## Neil_J

Not sad really, they're running a business, and it works great for the average drug dealer or family dad with cash to buy a multimedia system for their suv. Remember we're a very picky, very tiny crowd here... I wouldn't want to have us as a customer base... Bunch of whiny assholes, we are 

There is a forum called SurroundByUs, that is run by a bunch of ex recording engineers, with some plugins that according to the people who wrote it, blow everything out of the water, including Logic7 and all the Dolby Pro Logic spinoffs. The process is very akin to "remastering" a recording (fitting considering they were recording engineers), but it can be automated, and there are demos available on various torrent sites (with SBU, etc, appended to the name). You might want to try and give their workflow a try just for comparison purposes. You can burn to DVD and play on any DVD player, and even drive an H800 with it, if you have a device capable of 8-channel analog playback (alpine DVD player or carPC)


----------



## quietfly

Neil_J said:


> ... it works great for the average drug dealer or family dad with cash to buy a multimedia system for their suv. Remember we're a very picky, very tiny crowd here... I wouldn't want to have us as a customer base... Bunch of whiny assholes, we are  .......


This is sig worthy!


----------



## Neil_J

quietfly said:


> This is sig worthy!


Really, that, and not the stuff about masturbating to Yanni?  Or was that in the other thread? I can't remember.


----------



## thehatedguy

Wow...how would you convert the home unit to the car? Just power supplies like a proaudio conversion?


----------



## n_olympios

Neil_J said:


> Really, that, and not the stuff about masturbating to Yanni?  Or was that in the other thread? I can't remember.


Give me a break, I had long tried to forget that whole thing ever happened! 

So, how does that whole SBU thing work? Do you need a certain program to play the specific media back? Or is it decoded as normal DTS 5.1 by any suitable amp/processor?

Edit: replying to myself (I do that sometimes) it's probably the latter.


----------



## quietfly

thehatedguy said:


> Wow...how would you convert the home unit to the car? Just power supplies like a proaudio conversion?



I've talked to people about this and i still don't understand what makes it so hard to do....


----------



## Neil_J

It's not hard at all, just inconvenient as hell to go through all the effort, especially if there's something more purpose built.


----------



## thehatedguy

I mean the Sherwood Newcastle D972 can be had for about $600, and it's loaded and has some nice RC software.

But it wouldn't fit in your car.


----------



## subwoofery

Found this when I was searching for new ideas and sound localization: 
http://resource.isvr.soton.ac.uk/FDAG/VAP/pdf/car_finland.pdf 
This is way over my head but you might, "might" find it useful  

Lots of good info on their website too: 
Virtual Acoustics and Audio Engineering

Kelvin


----------



## quietfly

thehatedguy said:


> Wow...how would you convert the home unit to the car? Just power supplies like a proaudio conversion?



a wise man once told me about the process

"power supplies are what EEs call 'nontrivial'".....


----------



## Neil_J

*2011 MINI Cooper CarPC Build version 2.0*

Here's the "2.0" version of the CarPC version that I've been working on into the late hours.

So first off, let me apologize for not having a working CarPC setup after five months of changing my mind over and over. I've ran into several roadblocks along the way which have caused me a lot of grief and my SQ tank has been on Empty for much too long now. I have a new plan to move forward, but first, here are some of the issues that I ran into, that caused me so much grief:


My Mac Mini died on me, the night before Spring Break Nationals. Replacement parts aren't cheap and the model I have is out of production.
Labview, which I planned to used to implement the DSP software, was not up to the job. The OSX version is very crippled and slow (it actually runs a PowerPC emulator because that's the cpu architecture that it was originally implemented on years ago, and National Instruments hasn't gotten off their asses to fix it, even after having more than five years to do it). Furthermore, the audio input/output interface has a major bug that prevents my multichannel DAC from working.
After suspending and waking the Mac, Labview doesn't recognize the USB serial port until the application is restarted. This really complicates things since the whole idea was for the Labview app to constantly be talking to the Arduino controller.
There are no free OSX touchscreen drivers for the capacitive touchscreen controller; only a $100 option that I discovered after much research. 
After the Labview DSP stuff didn't pan out, I decided to use a program called Plogue Bidule to do the heavy work. It doesn't play nicely when suspending and waking the Mac. Also, it only supports up to 48 kHz sampling rate, which isn't a bad thing, except that it ****s the bed when plugging in the USB DAC, which always defaults to 192 kHz. I never payed to register it, it does work for a month or so before quitting, but it's getting a little annoying.
Removal of the car interior pieces to get to the touchscreen and arduino pieces takes way too long. In hindsight, the arduino should have been located somewhere more accessible.
iTunes is great for listening to mp3's, and with AppleScript, automation with buttons and knobs is a breeze. However, it doesn't (and will likely never) support FLAC format, which I've been encoding my ever-growing collection of CD's to... somewhere around 1500 to 2000 at the moment. Rather than dealing with re-converting all of those to yet another format (ALAC or otherwise), it would be better to just use a music player that supports FLAC directly, and it would be ideal if it had a decent API or client interface so that I could implement a CarPC frontend to control it.

So after all of those issues, I bought an Alpine H800 processor on impulse, and I've been extremely happy with it, enough to the point of where I'm not sure that doing my own DSP is worth the effort at this point. I mean, maybe later down the road, but it's not #1 on my list of issues, by any means. 



















What _is_ high on my priorities, however, is getting rid of that damn touchscreen which has been nothing but problems. I didn't really want one to begin with (it's a Mini after all, which is solely for driving, not surfing the web while driving). And maybe getting rid of the Mac Mini, since I don't need the horsepower since the H800 is doing the heavy hitting. Something, maybe in the $35 price range. For those that aren't familiar with Raspberry Pi, it's the latest boner in the portable computing scene. Basically it's a credit card size computer with a cellphone processor (Broadcom 700 MHz ARM processor with 512 MB RAM), and it's super cheap at $35. It's pretty barebones, but I can dig the modular approach, I grew up before personal computers got all integrated anyway.










The operating system gets loaded onto an SD card. The operating system is Linux, by the way  The whole thing only puts out 3.5 watts, which is less heat than a squirrel farting  The accessories obviously push that number higher, but you get the idea, it's very efficient.










Obviously I'll need a USB hub. My D-Link DUB-H7 should do.









For a power supply, I'll probably just use one of those cigarette lighter USB adapters for charging iPhones and stuff. I might not even need this, it's likely I can just plug it in to the D-Link USB hub, it has some "extra power" ports that supposedly do up to 2 amps.. However there may be caveats there, I'll find out soon.









If I go with an external USB hard drive case for the SSD, and make the whole thing removable, then I don't have to worry about how to get all that music transferred to my car.

















For wireless access, I'll likely go with the Apple Airport Express. It's expensive, but in my experience, it's rock-solid and a lot of the other wifi hubs have been very spotty. 









*User Controls*
The user controls will be the same as what I have been using so far. The stock OEM controls which are interfaced to my custom Arduino Brainstem shield, which is attached to the Arduino Mega 2650, and sent over to the Raspberry Pi, probably via ethernet, which is another piece I'll need to add to the brainstem.



















*And last but not least, the audio transport.*
The MiniDSP USBStreamer will be feeding TOSLINK stereo data to the H800, and I've also got the option of using the FrankenDAC to feed six channels of analog surround sound into the H800 (just another feature I love about it). I'm not sure the Raspberry Pi is up to it, but it keeps the door open for further work.


















So not a total 180 degree swing from where I was.. but damn close.

I'll get to software in my next post. Be prepared to get schooled in embedded Linux systems and some more Arduino programming know-how.

Oh. And I owe a system diagram and some other pictures..


----------



## pcpete

Sounds like a good plan! That frankendac always gives me a boner 

Actually , in my previous install I did use a 
Carpc and was using plogue bidule, and other vst based solutions...frequency allocator etc..feeding a 6 channel maudio FireWire dac..

It just came to a point where the complexity/reliability became a headache to manage and the benefits no longer outweighed the other options available, at which time I switched to a zapco dsp...so I can definatelly feel for your decision to switch plans...

So now here I am again messing with minisharc's and eBay dacs and trying to run it all of an android tablet! I've blown my tweeters , bricked my minisharcs fw as well as butchering my dacs by desoldering headers....I'm almost ready to just get an h800 and be done with it as well! Nah  



Sent from my AT270 using Tapatalk HD


----------



## Neil_J

I'm really hoping the Raspberry Pi, Arduino, and FrankenDAC combo give a nice, frustration-free experience compared to most CarPC's. The way I look at it, I've reduced the complexity by a huuuuge amount while still keeping the stuff I care about. The software is pretty awesome too, can't wait to get into that part in a future post.


----------



## BowDown

I can't wait too. Maybe a new thread is in order. So you're looking to eliminate the screen all together? Just use the heads up display? Or did I miss something?


----------



## Neil_J

BowDown said:


> I can't wait too. Maybe a new thread is in order. So you're looking to eliminate the screen all together? Just use the heads up display? Or did I miss something?


Yes, the touchscreen goes away  The Raspberry Pi is basically going to be running server-style, with daemons that run in the background to do the actual playing of music and such. You don't even have to type in a command when it boots. The display is the 40x2 character LCD in the nice OEM-matching amber-orange, I just haven't decided to keep it and the buttons/knobs on the Arduino (most likely), or move them to the Raspberry Pi (which is already short on GPIO pins, and they're all 3.3.v). That's why I've not posted on the software yet, there's still a few problems to solve.

I forgot to mention, this also solves another important issue... where in the hell do I mount that RUX-C800 controller? With the touchscreen taking up half the console, it didn't leave any sensible locations left. I've got a great spot now that the touchscreen is gone, and I don't even need that Metra kit I bought.


----------



## BowDown

Seems like the multitouch was the issue with your screen. Mine really hasn't been bad in test mode. Occasionally I have to wake the mini up twice to get it to come back.. but with the power button it's not a big deal.

I know where I want the mini to live.. just have other projects taking up my next couple weeks .


----------



## Neil_J

BowDown said:


> Seems like the multitouch was the issue with your screen. Mine really hasn't been bad in test mode. Occasionally I have to wake the mini up twice to get it to come back.. but with the power button it's not a big deal.
> 
> I know where I want the mini to live.. just have other projects taking up my next couple weeks .


Never did ask if yours used the same touch controller as mine. I'm pretty sure it was from Cando Touch, which is a Chinese factory with little to no support. The only place I found a driver was a software company that specialized in writing drivers for unsupported touchscreens, or unsupported OS's for supported touchscreens. $100 was the "sale price", for personal use. That's why I'm so happy about the Raspberry Pi, the whole damn thing is $35.


----------



## quietfly

Wow you've been busy, but looks it it will yield some good results soon. I'm looking forward to seeing what you come up with.


----------



## DeBida

Hi Neil, 

I'm following your thread closely! I like the idea of using the raspberry pi with the lcd display! I've been wanting to do this in my car for a while, but been a bit weary in buying the hardware as I've got no programming experience! 

Hopefully I can learn from your build, and get something similar going to play my flac files! Keep going! Really been enjoying this thread a lot! 

Sent from my GT-I9300 using Tapatalk 2


----------



## Neil_J

quietfly said:


> Wow you've been busy, but looks it it will yield some good results soon. I'm looking forward to seeing what you come up with.


Lol, not really, I've barely done anything in the last month.. Nothing to show for it except my tune has improved a bit.


----------



## quietfly

well you did have to think it all through. that can be more stressful than anything else..


----------



## evilspoons

I'm quite interested in how well the Raspberry Pi performs as a FLAC library player. It's unlikely I'd use it in my current setup as my head unit does a pretty decent job just by playing M4As transcoded from FLAC in advance on my desktop PC, but it would be awesome to have absolutely every piece of my collection without having to do any encoding. Hmmmm.

The list browser touchscreen also leaves a lot to be desired on the AVIC-X930BT. Resistive touchscreen plus drag-to-scroll = yuck. Give me up and down scroll buttons any day of the week.


----------



## Neil_J

evilspoons said:


> I'm quite interested in how well the Raspberry Pi performs as a FLAC library player. It's unlikely I'd use it in my current setup as my head unit does a pretty decent job just by playing M4As transcoded from FLAC in advance on my desktop PC, but it would be awesome to have absolutely every piece of my collection without having to do any encoding. Hmmmm.


It handles FLAC very well apparently (google Raspberry Pi mpd), and at only $35 plus the cost of a decent USB DAC or USB to TOSLINK bridge, the value is excellent. SSD prices and SD card prices haven't been better in a while, so it makes sense to put your whole collection into the Pi rather than syncing select songs and playlists. I think it would be a great semi-portable device to hook into an existing head unit.


----------



## porscheman

I'm interesting in this also. I've been poking around with this idea for my Z. have the full blown carpc in the cube, but am wanting something lighter and less complicated in the z. was thinking about a pi into a ministreamer and a minidps 2x4.


----------



## Neil_J

porscheman said:


> I'm interesting in this also. I've been poking around with this idea for my Z. have the full blown carpc in the cube, but am wanting something lighter and less complicated in the z. was thinking about a pi into a ministreamer and a minidps 2x4.


That actually sounds like an excellent low cost setup.


----------



## porscheman

my pi should be here Wednesday or so. time to try to forget years of window and relearn Linux


----------



## bbfoto

*Re: 2011 MINI Cooper CarPC Build version 2.0*



Neil_J said:


> For a power supply, I'll probably just use one of those cigarette lighter USB adapters for charging iPhones and stuff. I might not even need this, it's likely I can just plug it in to the D-Link USB hub, it has some "extra power" ports that supposedly do up to 2 amps.. However there may be caveats there, I'll find out soon.


Just a heads up, I had one of those exact Griffin USB chargers Spit Sparks, Smoke, and Sizzle in my car with nothing even plugged into it! It probably would have caught on fire if I hadn't yanked it out of the socket quickly! I wouldn't trust them. As a replacement, I've used the Kensington PowerBolt Duo with no issues for several years now.

Don't want to see any harm done to anyone's system or vehicles! Carry on.


----------



## Neil_J

Sorry for the delay, I'm just getting back from a restful 7-day vacation. I'm in the process of typing up the next installment now, it'll be done, well, when it's done


----------



## Neil_J

I've been fighting an uphill battle trying to get the Raspberry Pi to recognize the MiniDSP USBStreamer DAC. I keep getting this error in the /var/log/messages: 

snd-usb-audio: probe of 1-1.3.4:1.0 failed with error -5

That's very bad, it basically means that it sees it, but refuses to run because of some corner case that I'm not aware of yet. Such is the status quo when it comes to trying to get **** to work in Linux. Everything is a hack on top of a hack. I'm going to keep digging for a few days, as I really want to use the Pi and the USBStreamer, I just hope I can get them to get along...


----------



## BowDown

Neil_J said:


> I've been fighting an uphill battle trying to get the Raspberry Pi to recognize the MiniDSP USBStreamer DAC. I keep getting this error in the /var/log/messages:
> 
> snd-usb-audio: probe of 1-1.3.4:1.0 failed with error -5
> 
> That's very bad, it basically means that it sees it, but refuses to run because of some corner case that I'm not aware of yet. Such is the status quo when it comes to trying to get **** to work in Linux. Everything is a hack on top of a hack. I'm going to keep digging for a few days, as I really want to use the Pi and the USBStreamer, I just hope I can get them to get along...


I have a nice Music Fidelity VLink available . 24/96 SPDIF coax/optical and claims Linux Compatibility.


----------



## Neil_J

BowDown said:


> I have a nice Music Fidelity VLink available . 24/96 SPDIF coax/optical and claims Linux Compatibility.


Send it my way, for, uh, research purposes  Seriously, there's an ever-growing list on RasPyFi of supported DACs, that's one's not on the list yet. I'm gonna send you a PM.


----------



## Justin Zazzi

Neil,

I'm fascinated by your work here, thank you for sharing everything. Two questions:

You mentioned there might be some kit or otherwise purchasable version of your 2 channel dac boards, or the frankendac as a whole. I do not remember exactly your words, but I am interested if you still aim to release any of your work for purchase? I am having some trouble finding a cost effective way to get 10 channels out of a small pc like this.

Also, do you believe the Rasberry Pi will have enough processing power for all of the work you want it to do? I'm not familiar with the demands of the filters you're talking about, but "long tap" and other terms you've mentioned makes it sound like the simple processor in the Pi might struggle with the task.

-J


----------



## Neil_J

Jazzi said:


> Neil,
> 
> I'm fascinated by your work here, thank you for sharing everything. Two questions:
> 
> You mentioned there might be some kit or otherwise purchasable version of your 2 channel dac boards, or the frankendac as a whole. I do not remember exactly your words, but I am interested if you still aim to release any of your work for purchase? I am having some trouble finding a cost effective way to get 10 channels out of a small pc like this.
> 
> Also, do you believe the Rasberry Pi will have enough processing power for all of the work you want it to do? I'm not familiar with the demands of the filters you're talking about, but "long tap" and other terms you've mentioned makes it sound like the simple processor in the Pi might struggle with the task.
> 
> -J


I've been busy but will hopefully get the ball rolling on the kits in the next few months. For the Pi, I plan to keep the Alpine H800 for the processing, the Pi is only for digital media transport (i.e. a FLAC and mp3 player, with my custom LCD and button interface). I hear someone got BruteFIR running, but I don't see that working well. I *might* try to add a simple parametric eq with simple IIR filters that I can change on a per-genre basis, since the H800 doesn't do that. But mainly, it'll be commandline only, no GUI or anything, and will communicate to the arduino for the buttons and the 40x2 character LCD. I think it'll be a great compromise and should be bulletproof unlike the Mac Mini turned out not to be. I still need to write a thread explaining the setup, but I need to see if I can get my DAC talking to it first, and that's proving to be very difficult.


----------



## Orion525iT

Very impressive stuff. But I have to ask some questions. Is there any reason to not simply use off the shelf parts? 

Its clear you have skill and knowledge, but maybe there is an easier route. I have mentioned this before, but many of the newer Samsung devices work with some very nice external DACs through usb. Its something Samsung added support for, but its not really advertised. There are other Andriod devices that also work. The guys at headfi.org keep a running list of proven compatible DACs, the list is very long. The downside is stereo only output for most, but thats where the mini dsp comes in.

From what I have read, design and implementation of a DAC is a bit of a black art. There are engineers and sound gurus who's entire job is to design DACs. Its not just the components, its how the board is designed and laid out and the materials used that makes or breaks the DAC. In my mind, that means getting the DAC "right" is a difficult task.

So why not something like the Note 8.0. It seems that it is an enlarged version of the Note II that I have. I know my Note II will work with the list of DACs at headfi.org. So very easily, Note 8.0 into usb DAC, DAC analog out to minidsp for processing. You wont be able to program the mini dsp on the fly through andriod of course. 

The only issue is getting clean power to each, but I am sure with your skills, you can achieve that. For parametric eq, you can download Neutron Player which has 4 band parametric and a host of other features.


----------



## oca123

It's fun and it lets us grow as humans - in knowledge, experience, and wisdom.

It is this kind of spirit that has taken the human race from a bunch of cavemen figuring out how to light a fire, to harnessing power at the level of the atom - and actually having a slight idea of what we are doing.

Whether this is good for the overall happiness of humans is debatable, as "studies" show that humans may have been happier in roman times, but I believe that it is a path that the human race is supposed to go down and that one day (long after all of us here pass away) maybe we will understand why we are here.

It is what differentiates us from animals. Maybe it is an anomaly, an error of nature, a chemical imbalance in our design that causes some of us to seek more. I like to think that there is more to it than that.


----------



## t3sn4f2

_Are_ there any headphi threads worth reading?


----------



## Neil_J

^^^ What he said  (oca123's post)

I just have a weird set of unique requirements for this build, and like oca123 said, I really enjoy doing this crazy stuff on a philosophical level. It's my Zen time.

When I'm done, I'm going to have access to a ginormous collection (>1 TB) of legally purchased and ripped FLAC music, with a very cool, very ingenious database app that helps me sort and get to exactly what I need, when I need it, and rate, delete, flag, etc, while driving, safely, all through the OEM controls. That's something that not one single player or tablet or portable device can do right now, and I think that's cool


----------



## Ultimateherts

Neil_J said:


> ^^^ What he said  (oca123's post)
> 
> I just have a weird set of unique requirements for this build, and like oca123 said, I really enjoy doing this crazy stuff on a philosophical level. It's my Zen time.
> 
> When I'm done, I'm going to have access to a ginormous collection (>1 TB) of legally purchased and ripped FLAC music, with a very cool, very ingenious database app that helps me sort and get to exactly what I need, when I need it, and rate, delete, flag, etc, while driving, safely, all through the OEM controls. That's something that not one single player or tablet or portable device can do right now, and I think that's cool


The problem is when the hardware fails. Like losing all your music which has happened to me before. Hard drives fail, now solid state I would like to see that incorporated. No moving parts means longer lasting in my experience


----------



## Neil_J

Orion525iT said:


> From what I have read, design and implementation of a DAC is a bit of a black art. There are engineers and sound gurus who's entire job is to design DACs. *Its not just the components, its how the board is designed and laid out and the materials used that makes or breaks the DAC*. In my mind, that means getting the DAC "right" is a difficult task.


I know the black arts, man  I do a lot of that stuff at work. The FrankenDAC sounds good, there's no denying that... I need to get it measured with an ATS-1 and/or a decent Spec An, but it's really at the forefront as far as I'm concerned. I believe that I've done with mine, what even some of the most expensive ones haven't (I emboldened the part of your post that hits it on the head. Layout and EMI/RFI mitigation is 99% of it, and my design focused extensively on exactly that. The only thing it's lacked so far is access to decent test equipment, and that will change in the coming months as MiniDSP as graciously offered to measure it.


----------



## Neil_J

Ultimateherts said:


> The problem is when the hardware fails. Like losing all your music which has happened to me before. Hard drives fail, now solid state I would like to see that incorporated. No moving parts means longer lasting in my experience


The whole thing is controlled via rsync to the linux server in my lab  I use a very comprehensive backup and redundancy system including a RAID 5 array and backuppc. 

I am using a solid state drive btw, the one illustrated in my first (or second?) post. With the Raspberry Pi, the only thing that changes is the addition of a USB to SATA adapter.


----------



## Orion525iT

t3sn4f2 said:


> _Are_ there any headphi threads worth reading?


Lol, dont know really, I just use it for the running list of DACs.


----------



## Orion525iT

oca123 said:


> It's fun and it lets us grow as humans - in knowledge, experience, and wisdom.
> 
> It is this kind of spirit that has taken the human race from a bunch of cavemen figuring out how to light a fire, to harnessing power at the level of the atom - and actually having a slight idea of what we are doing.
> 
> Blah, blah, blah




I joke, but this point in the exercise is not lost on me one bit. After all, I am the guy laminating E-glass and Kevlar over PVC foam, MDF and cement board to reduce thickness and maximize physical properties of driver enclosures. I have been told its a waste and overkill, or could have been done using x, y, z traditional materials. Some of those experiments had exceptional results (particularly the cement board laminate). 

The main point was that there is a huge number of technical variables to juggle here. Getting one wrong, will mean failure. Its not any easy curve here, this is really expert territory.


----------



## Orion525iT

Neil_J said:


> I know the black arts, man  I do a lot of that stuff at work. .


Well if you say you do, then I guess you do! 

Dont get me wrong, I am not in the naysayers camp. It just thought it was a legitimate point of concern. I have read many articles and technical aspects about DAC design and implementation. In subjective and objective comparisons, the exact same DAC can yield different results based on implementation. At this juncture, even the best design team, with countless hours and money in R&D and testing, end up with less then optimal results.

That is all.

Its life, you only get one shot at it, follow your bliss.


----------



## Neil_J

Orion525iT said:


> Its life, you only get one shot at it, follow your bliss.


Lol, I'm happier than a pig in ****. :laugh:

OTOH, I'm kinda like a dog chasing car tires, I don't know what I'd do if I caught one


----------



## Tominizer

Weird..........


----------



## astrochex

* deleted *


----------



## porscheman

any updates on making the pi work? i'm almost to the point that i need to start finalizing stuff and would really like to make something like this work.


----------



## Neil_J

Not really, the CarPC is on the back burner for a while. Trying to get my car tuned and other install details finished.


----------



## OldScoolCA

Pretty impressive stuff. I have considered building my own OEM integration preocessor but don't want to write custom firmware let alone my own DSP firmware. I might build one if I get access to a PCB source, but the software will be minimal. 

Looking forward to the finished product.


----------



## rockin

Neil_J said:


> I'll never do IASCA SQ again after this event, but that's a different story.


LOL. This was my LAST SBN. I may compete in other IASCA events. SBN is a total waste of time and $$$$$$$.

Sad to see you didn't come to compete in MECA.


----------



## rockin

My bad. I'm done with IASCA, too. Just got word professional installs are now allowed in Amateur. Kind of defeats the purpose of having an Amateur class IMO. There are only a couple trivial modification restrictions between Pro AM and Amateur. Too bad there is nowhere for non-professional, self installed systems to compete!


----------



## BowDown

rockin said:


> My bad. I'm done with IASCA, too. Just got word professional installs are now allowed in Amateur. Kind of defeats the purpose of having an Amateur class IMO. There are only a couple trivial modification restrictions between Pro AM and Amateur. Too bad there is nowhere for non-professional, self installed systems to compete!


Where did you get this information? This is not accurate. Professional installs should be in Pro class (and up). The issue IASCA has is enforcing this. It seems that most people who pay a shop for their install are not eager to disclose this.


----------



## rockin

BowDown said:


> Where did you get this information? This is not accurate. Professional installs should be in Pro class (and up). The issue IASCA has is enforcing this. It seems that most people who pay a shop for their install are not eager to disclose this.


Pretty sure its accurate, it came directly from Moe. The language requiring amateur class systems to be installed by the competitor and forbidding shop built installs is deleted from the 2014 rules.


----------



## Neil_J

Agreed, **** like this pissed me off enough to leave the competition circuit for good. 

Kind of a good thing in retrospect, now that I've escaped the black hole of audiophile hell, I'm actually off doing fun and creative projects that actually make money rather then consume it.

BTW, my super-secret project will be on Kickstarter soon. Andy W. isn't the only up and coming entrepreneur on this board  Oh, it doesn't have anything to do with car audio. But it's still gonna be cool


----------



## BowDown

Neil_J said:


> Agreed, **** like this pissed me off enough to leave the competition circuit for good.
> 
> Kind of a good thing in retrospect, now that I've escaped the black hole of audiophile hell, I'm actually off doing fun and creative projects that actually make money rather then consume it.
> 
> BTW, my super-secret project will be on Kickstarter soon. Andy W. isn't the only up and coming entrepreneur on this board  Oh, it doesn't have anything to do with car audio. But it's still gonna be cool


Looking forward to it. 



Posted from my Samsung Galaxy S III 32gb via tapatalk 2.


----------



## req

hey neil. just checkin in to see how things are going. have not seen ya around in a while!


----------



## Neil_J

req said:


> hey neil. just checkin in to see how things are going. have not seen ya around in a while!


I've been pretty busy! I've been rocking out in my car although I never got the CarPC done. The Alpine H800 has been a champ, and the opamp sq mod I did to it is still working well. Would be nice to not be limited to an ipod and CD's, but it is what it is. 

I'm adding a shameless plug to what I've been up to over the last eight months, for anyone that hasn't yet seen it in the off-topic area, or my main build log:

http://www.diymobileaudio.com/forum/off-topic/166992-im-building-robot-army-beat-chinese.html


----------

