Etching a PCB for the IEBus Module

Posted by angrycamel at September 30th, 2007

I completed the etching process of my first printed circuit board tonight. It took a lot of work just to learn how to use the Eagle software to produce the board layout but once I had it done I printed it onto some generic glossy laser paper. Next I took it downstairs to the ironing board, and armed with a piece of cardboard to stiffen the ironing surface, the heat from the iron began to transfer the toner from the printed piece of paper to the blank copper PCB.

After about 4 minutes (read online that 4 minutes was a good time to ensure a good transfer) I took the board with the paper now stuck to it, and put it into a plastic container filled about an inch high with hot water. Immediately I began to see the paper coming away from the copper and forming little bubbles between the paper and the board. Finally, after about 30 seconds of watching the water soak into the paper, I grabbed the corner of the paper and pealed it off like a sticker. Most all of the paper came off leaving behind the toner and a little bit of the paper that rubbed off with my thumb very easily.

Next it was time to put the board into a bath of etchant. I went all cheap and purchased the little $15 kit from RadioShack to test all of this out, but I plan to put together an acrylic bubbler along with some of that nice Ammonium Persulfate that is see through. The board sat in the etching chemical for a little over an hours just because I didn’t feel like babysitting it and went to watch some boob-tube. When I came back the board was done and I transfered it back to the water to deactivate the chemical.

Now that the copper that I didn’t want is gone, all thats left is to clean off the toner. This was handled by some of my wife’s finely smelling Acetone (finger nail polish remover) and a good bit of rubbing with a paper towel. The finished result looks like this:

AngryCamel's First IEBus Module PCB

Now all that is left is to drill the holes and mount all of the components. Next time I do this, I think I am going to go with all surface mount components, so I guess its time to hit up digikey again.

Posted in Automotive, IEBus, Electronics| No Comments | 

IEBus Studio - Progress Update

Posted by angrycamel at September 24th, 2007

It’s been a little while since I updated everyone on the progress so I put together a quick screenshot.

IEBus Studio is definately one kick ass program, if I do say so myself. I wanted to take the time to do screenshots of all the features but its just too late on Sunday night and I have been writing code all weekend. So here is my one screenshot that shows just about everything there is to know about the test event feature.

I should have a video sometime soon of it working in the car. Cross your fingers! We have tested and confirmed that the firmware recieves the event message perfectly, so testing that the firmware can put it on the bus properly is all thats left.

Click on the pic for the larger view.

Posted in Automotive, IEBus, Programming, Electronics| No Comments | 

IEBus Studio - In Car DLL Tests

Posted by angrycamel at September 9th, 2007

Well I finally made it into the car today to do some tests with the first DLL that was produced by IEBus Studio. The test went great and it seems like we are definitely on the right track. I put together a video of my test today if you want to check it out below:

The testDLL application in the video consists of very little actual code to do what you are seeing there. It is a simple VB.Net application that references the DLL exported from IEBus Studio for my 2004 Acura TSX.
Thanks to CLuis for putting this together!

Here is the DLL as viewed in the VS.Net object browser. The only event we had defined at the time of building this DLL was the touchscreen event:
DLL Object Browser

I have pasted the code below to show just how simple it really is:

Public Class Form1
   	Dim WithEvents Acura As New Acura.TSX_2004()

   	Public Delegate Sub SetTextDelegate(ByVal text As String)
   	Dim sText As New SetTextDelegate(AddressOf SetText)

   	Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
   		For Each strPort As String In My.Computer.Ports.SerialPortNames
   			Ports.Items.Add(strPort)
   		Next
   	End Sub

   	Sub SetText(ByVal text As String)
   		Output.Text &= text
   		Output.ScrollToCaret()
   		Output.Focus()
   	End Sub

   	Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
   		Acura.OpenPort(Ports.Text, 9600, 8, IO.Ports.Parity.None, IO.Ports.StopBits.One, IO.Ports.Handshake.None)
   	End Sub

   	Private Sub Acura_TouchScreenPress(ByVal Master As Acura.TSX_2004.CarDevice, ByVal Slave As Acura.TSX_2004.CarDevice, ByVal X As Integer, ByVal Y As Integer, ByVal Unknown1 As Integer) Handles Acura.TouchScreenPress
   		If Output.InvokeRequired Then
   			Output.Invoke(sText, "TouchScreenPress: X:" & X & ", Y:" & Y & ", Unknown:" & Unknown1 & Environment.NewLine)
   		Else
   			SetText("TouchScreenPress: X:" & X & ", Y:" & Y & ", Unknown:" & Unknown1 & Environment.NewLine)
   		End If
   	End Sub
   End Class

Posted in Automotive, IEBus, Design, Programming| 2 Comments | 

IEBus Emulator

Posted by angrycamel at September 4th, 2007

Tonight I put together a screen cap of me using the new IEBus Emulator in conjunction with com0com and IEBus Studio. Com0com is used to produce a virtual null modem connection as well as the virtual com ports from com2->com4. With the emulator we can test IEBus Studio locally with data captured to log files from inside of the car or with manually typed in commands.

It’s the first thing I did when I got back from my trip, here it is:

Posted in Automotive, IEBus, Programming| No Comments | 

The new IEBus firmware is working!

Posted by angrycamel at August 28th, 2007

I just got to a stopping point on the firmware tonight and decided to grab some data off the bus for review. You can check it out here if you want. You will notice a lot less errors. Its because my firmware is lighter and seems to run considerably faster. I think the reason for the errors you saw in the video before was because of the firmware was not processing the packets fast enough to keep up with the bus.

Also, this is what we are looking at for the structure of the lib files. (for defined devices and events per vehicle) This is the filetype that you will be able to open and work with in IEBus Studio. Pretty simple, right!

<vehicle>
  <make>Acura</make>
  <model>TSX</model>
  <year>2004</year>
  <navigation>yes</navigation>
</vehicle>
<device>
  <address>0x183</address>
  <name>Navigation Computer</name>
  <description>Navigation computer mounted in the trunk of the car.</description>
</device>
<device>
  <address>0x131</address>
  <name>Touchscreen Controller</name>
  <description>Touchscreen controller for sending touch events from the navigation screen in the dashboard to the navigation unit in the trunk.</description>
</device>
<device>
  <address>0x100</address>
  <name>Head Unit</name>
  <description>The head unit send commands like the volume up or down as well as changing the channel on the radio.</description>
</device>
<event>
	<name>Volume Level 3</name>
  <raw>1:100:183:F:14:60:2:31:0:2:0:3:10:0:E0:20:0:0:9D</raw>
  <broadcast>1</broadcast>
  <master_device>0x100</master_device>
  <slave_device>0x183</slave_device>
  <control>0xF</control>
  <datasize>0xE</datasize>
  <data>0x60</data>
  <data>0x2</data>
  <data>0x31</data>
  <data>0x0</data>
  <data>0x2</data>
  <data>0x0</data>
  <data>0x3</data>
  <data>0x10</data>
  <data>0x0</data>
  <data>0xE0</data>
  <data>0x20</data>
  <data>0x0</data>
  <data>0x0</data>
  <data>0x9D</data>
</event>

Posted in Automotive, IEBus, Programming| No Comments | 

Sniffing the IEBus smells so sweet!

Posted by angrycamel at August 20th, 2007

I finally got it all together and working tonight. Here is a run down of where I am at now on the IEBus project:

Dom’s video converter unit is installed and mounted cleanly in the trunk next to the navigation unit
I have a carpc built and working (it’s still very rough around the edges, so I will not be permanently installing it just yet)
The IEBus sniffer breadboard is put together and working

So now I will begin to work on the firmware. I want the ability to control the carpc by using the stock navigation’s touch screen events which are passed over the IEBus. I also plan to generalize the code base to allow for implementation in vehicles other than just mine.

I put together a video from the first tests tonight. Pictures and data log files will come later. (If the embeded video doesn’t load click here for a direct link to the video page on YouTube.)

Posted in Automotive, IEBus, Programming, Electronics| No Comments | 

The com port is back in style, baby!

Posted by angrycamel at August 18th, 2007

I have been working on the IEBus project a lot these past few weeks and I realized that I have been updating the forum thread, but never updating the site with my progress, so we are.

Just to recap where I am on the project… I found research that others have done regarding the AVC-LAN (Toyota’s name for the IEBus) and have been working towards building a circuit of my own based on their designs. I received most all of the parts from Digikey yesterday and the programmer for the ATMega8 arrived this afternoon, so I have been getting familiar with the it’s programming procedures and installing the IDE’s this evening. I must say, this thing is really fun and easy to work with. I can’t believe I am only just now getting into working with IC’s! This stuff is cool. I feel like a kid in a candy store; like I can make anything do anything now. Well maybe not anything, but world domination is coming soon, so look out Bill Gates, I am learning how to program IC’s!

Seriously though, I have the (IC -> MAX232 -> PC -> MAX232 -> IC) circuit all setup. Its pretty damn cool to see it working and without much of a learning curve either. Well, a background in the C programming language doesn’t hurt.

I will continue working on the circuit tomorrow, actually putting it in the car to start building the (Acura specific) IEBus message table (I hope I make it that far tomorrow). I will have to run and grab a PCI video card in order to get a video out port to go into dom’s unit, or else I wont be able to see anything!

Wish me luck!

Here is a shot of the board as it is now (I reorganized it, and took some stuff out for now):


Posted in Automotive, IEBus, Programming, Electronics| No Comments | 

Running Power From Your Car Battery to Your Trunk

Posted by angrycamel at August 5th, 2007

I have added a new page in the HowTo’s section. It will walk you through all of the steps necessary to wire power from the battery to the trunk of your car for use with a carpc, amp or whatever else may need 12v DC.

You can check it out by clicking on the HowTo link in the menu above or by following this link: running-power-from-your-car-battery-to-your-trunk/

Posted in Automotive, Electronics| No Comments | 

Buy an AH-20 Pin Harness here for $65 Shipped!

Posted by angrycamel at June 8th, 2007

Click here to see the details or…

If you already know your interested in buying a harness for the TVandNav2Go Video Nav Converter then send me an email at robbienewton@gmail.com

Navi Video Converter Image Navi Video Converter Image Navi Video Converter Image Navi Video Converter Image

I am always getting into off the wall projects. Check my projects page to see what kind of stuff I have gotten into lately.

Posted in Automotive, Electronics| No Comments | 

« Previous Postings