Thursday, October 31, 2013

IQ Radio Custom Startup Animation

So after my previous posts where I can now do Custom boot logos on the Pontiac G8 / Holden VE Radio and made some programmers for a few select friends so they can do the same, it was time to move back to the bigger & better IQ Radio. While I had the basics down of the 'wallpaper', the boot anim was still not supported.

I had some downtime and with some friendly prodding from some Australian people (hey Jezzab ! ;) ) I figured I better get off my ass and do something about it. I won't go into technical details, but basically I had been able to extract the boot logo animation frames, but I not been able to successfully inject a new animation back in. After a few test runs where Jezzab was gracious enough to try reflashing his IQ unit in his car and ending up with a non-functioning radio, I finally reversed the missing piece of information and was able to deliver not only a proof of concept, but actually finished a nice clean software tool to do the job for me (well.. for whoever would be selling these things)..

Here's the POC logo anim I made for Jezzab's Business.. Nothing fancy, but it shows it works!
Now I just need to get working on full-blown theming and you'll be able to have a completely custom UI in your IQ Radio!


Saturday, July 27, 2013

Microchip based CAN Interface - Part I

So after tinkering a lot with the ELM329 I started to actually get somewhat irritated with the limitations. While it works great for some basic scanning and sending basic commands BY HAND, when you start dealing with more intricate messages such as large multi-line messages etc or wanting to use it programmatically, it becomes a problem. Also the text base of everything seemed rather inefficient especially when dealing with it in code: i.e. you'd have Hex on the bus, converted to string by the elm, then convert that back to hex in your program, do something, convert whatever you want to send from hex to string, send to elm, that converts is back to hex before putting it on the can bus. Talk about a lot of extra steps for no reason.

I had already been playing with a LPC-based ARM Cortext dev board, and I figured I could make something like that but in a neat tiny box etc. However I wanted to give the microchip platform a try instead of the ARM, I wanted something with at least Dual CAN Capability. Oh and let's not forget the lowest pin-count possible, because I really don't want to mess with a 144 pin device.  Then of course add some kind of USB Interface -I could go with a CP2102 like I've used on the ELM329 simply connected to the UART pins, but for the price difference I noticed I might as well go for a model that has USB built in. That way I can actually use it as HID device instead of being forced into an archaic Serial Port type setup, and I have to worry about less parts on the board.
This led me to the dsPIC33E Series of chip.

Having learned from my Elm329 baking adventures that 2 sides pcbs are a bit of a pain in the ass(not that much, but still so much easier to do it one sided), I figured i'd make a single sided pcb that would fit in a Hammond 1551 box...

Took me forever to make a layout I was happy with and get the routing just right (I like to torture myself and hand-route everything , though since this chip supports dynamic pin reassignments it makes it a bit neater) but it looks pretty sharp! I took some extra time to make a nice logo on the back and besides just using the silkscreen layer I'm actually using the (lack of) Soldermask layer to add some cool touches to the design. Now i'm just hoping it works the way I think it does..

Initial Design
Component Side

Bottom Side with awesome logo!

And all populated - by hand this time since I didn't make a stencil yet

Saturday, June 15, 2013

Serial Port 'ThingAmaJig'

So to do some 'handy work' on some of these radios and clusters some people over at carmodders hacked together a solution on a breadboard. I figured it would be nice to clean it up a bit and make it more user friendly. I'm not going to post the details but I'll post pictures of the design and the finished product. I'm quite pleased how this turned out with the silkscreened logo on the back.

I went through a couple of rough drafts before I had a small design I was happy with. As to why I didn't fully extend the board under the serial port: I had some size constraints (I had to be under 'x' amount of square inches) so anything helped :) Aesthetically I would've preferred the PCB to extend the full length under the DB9 connector.


And here are the circuit boards as they came in from OshPark



Couple minutes of soldering and it's done
 
A whole bunch completed for all the guys over at Carmodder

Sunday, June 9, 2013

Radio Logos - Part IV

So after playing with these Radio logos for a while I figured I'd see if I could get a more detailed animation in there. Most the stock logos are fairly simple: A static logo that fades to black. In my last post about this the new ones I made were done in a similar way, but with a little bit fancier fades.

This time I figured I'd try to make a few more intricate ones that would be 'full screen'  animations. Obviously trying to cram this in the same amount of space would be a challenge, especially with the limitations on the number of frames, colors, resolution, memory etc, but I managed to work around that. Even then it was a tight squeeze requiring quite a bit of manipulation to get it to fit.

So here's some more samples of what can be done.


Thursday, May 2, 2013

Radio Logos - Part III (Custom G8/Holden Radio Logos)

After some fun with the new IQ Radio I figured it was time to get back to those decoded Series 1 Radio images I had been sitting on for way too long. With some more digging and experimenting we (the lovely people on CarModder) figured out yet another way to get custom boot images on the radio, which for testing purposes worked out nicely.


So what does that let us do: Totally Custom Radio Boot Logos! That's right - you can have a completely custom animation play when your radio powers up / down. It doesn't even need to be a simple fade, but can be something fancier.

Now to clarify: this is NOT what other places are selling when they let you pick supposedly 'custom' logos. These radios are shared amongst different Holden Cars, Vauxhall, and of course Chevy and Pontiac. So stock from the factory these radios come with 6 logos already pre-programmed as shown here. They let you pick one of those 6 images- Sorry, but changing 1 factory setting for another factory setting is hardly what I call 'custom' (or let alone 'hacking the radio'...*insert big eye roll here*). I can do the same change (including the blue text etc) with my basic ELM329 cable...

No, what we can now do is put ANY suitable image/animation on there! If you wanted Spongebob popping up on your screen, you can. If you wanted a picture of your family, you can. If you want a screen that shows some photos of your car, you can. Some Custom pontiac / G8 Logo? you can. Unicorns, flying cats shooting laserbeams? Doable etc etc. If you can think it - it's possible! (keeping in mind animation length/size constraints).


Here are some basic samples:




In-car reprogramming has also been proven possible, so this will allow us to do all this over the OBD port instead of having to take out the radio.

Good stuff!

Monday, March 18, 2013

Oh what fun, it is to play, with an IQ Radio... (Radio Logos Part II)

Christmas Songs in March? Well it's festive, and I'm in a festive mood after hitting a major milestone! Let me explain:

So as you may remember I had decoded the Series 1 Radio images , as used on the Pontiac G8, a (long) while ago back in 2011 and even got to the point of injecting new images. However at that point I was doing a favor for someone else and they never took it anywhere. That frustrated me quite a bit a to be honest, so when I recently had the opportunity to work with some guys over on CarModder to pursue a similar project but with the IQ Radio System (found in the Holden VE E2/E3 cars)  I really wanted to make sure that it was something that would lead to a feasible end product. After a decent amount of testing it appeared that YES this could be done!

These IQ Radios are definitely different 'enough' from the original S1 radios we have here in the States. Higher resolution screen, more colors, better UI (Red or Blue depending on platform), Wallpaper, Touch screen, larger Boot Animation, different processor architecture etc. etc, So any of my previous work was basically useless and I had to start from scratch. (on a side note - I'm planning on doing a conversion to an IQ Unit in the near future...)

First off was finding what kind of graphics were in there.. It really didn't take me that long to find a bunch of interesting image data, but some of the encoding proved to a bit a stubborn. After quite a few baby steps though I was able to see all the graphics they had stored in there. Here are just a few of them.

Blue Wallpaper - Red one used in GTS

Partial graphic of Backup Sensor Screen

Oh look it's a Wagon!

Partial Frame of Chevy Boot Animation

Frame of Holden Boot Animation
So... now that I was able to read this stuff out, how about sticking something new back in? Well that proved to be a little bit harder since there were a few limitations on the data encoding that weren't obvious from the extraction. Attempt after attempt were made to write the data back, yet somehow the image would always come out looking weird or messed up. Finally this last weekend after attempt.. oh.. probably 30-something, I found the proverbial 'last piece of the puzzle' and we were able to successfully upload a custom wallpaper! And that is WITHOUT taking the radio out of the car :)


Tadaaaa!

A Million Thanks go out to the guys @ CarModder, especially Jezzab, for helping me test this stuff. This is naturally only 'Step A' in our diabolical ehmm i mean great plan. Hopefully more interesting things will soon follow .. Maybe now I'll finally be able to get back to implementing custom boot logo's on those S1 radios for the G8 folks... Just have to find the time!