My G120 Custom Board Project

Hi guys,
Ive been asking a few questions on here so thought I would post up about the board I have designed and the little projects I’ve been playing with. Not as flash as some of the things guys are doing on here but Im giving it a good hard go.

Over the last 3 years I have mainly been using the LPC1788 and Keil for some remote flashboxes I made that program modules over CAN bus and various things. Keil… painful. Apparently Keil is a measurement of pain (“I broke my wrist man and it was like the worst pain i ever felt, atleast 6 Keil’s!”). But got the job done.

After seeing you could use VS and VB.Net or C# and the G120 I just had to have one and ordered a FEZ Cobra II Eco. Had a quick play and ordered a GHI VideoOut board as well. I modded my little boards so I could get High Speed CAN and GMLAN (SWCAN) working with the Cobra and then decided I would see if I could reprogram the CH7025 to output RGBS (RGB + Composite Sync XOR) and display it on a test bench radio I have here that accepts that kind of input. 2 days with a scope and playing around with clocks, front porch, back porch (i thought these were just on houses lol) I was away (first time for me).

I decided I wanted to display make some gauges on there pulling data from HSCAN and GMLAN (GM CAN bus is kinda my thing). There is two types of head units mainly. One the US guys would know which is the Pontiac G8 (what we call our Holden VE Series1 in Oz) and then the IQ head unit (Holden VE Series 2).

The data on the G8 unit is just sent when you press the buttons on it over GMLAN as its not a touch screen, but the IQ sends the actual touch position if you rub it just right :wink:

This is a video of of the G120 and CH7025 GHI videoOut board outputting to the IQ over RGBS and the touch position read from it over CAN bus and then converting it to Glide touch events:

This is the G8 unit receiving the same RGBS input and reading the button presses over CAN then tweening between windows. Plus displaying the data read over High Speed CAN:

This is another side project using the custom board I made to output to an LCD (this is a 7" but 4.3" is the designated size when it turns up). It reads the resistance of the G8 shifter and sends the appropriate commands over HSCAN to the TCM (Transmission Control Module) to shift. Will be used in retrofits and conversions:

The custom board Ive designed. All hand soldered :frowning:
55mm x 45mm

GHI G120
High Speed DWCAN
~35v DC Supply
LCD Backlight Driver
40 pin FPC TFT/LCD Output (RGB565)
TSC2046 SPI Touch Controller
USB Host
USB Client
3 x Analog In
3 x GPIO Out
3 x PWM Out

First version seems ok so far. Not too many green wires lol. Ive designed the RGBS video board based on the CH7026B for it the same size and will be linked via the 40pin connector

I’m not an electronics engineer so I try my best (and am always learning), just a computer programmer from when they taught in Borland C DOS, a chippy and a mechanic.

Anyway, still lots to finish off until they are ready but just what I’m playing with and love the G120 hardware and the GHI/NETMF



Wow, for a non electronics engineer Jeremy, that is pretty impressive work. Not clear to see but it looks like you could do with thicker power tracks on the PCB but other than this, well done.

I’ll be following this with interest. Automotive power and noise is a nightmare to deal with and I recently invested in test equipment to assist with a recent design for a client for a system to go in a car.

PS… Is your car V6 or V8 powered? I am big fan of the Aussie V8’s and ready for this weekends action form Phillip Island.

1 Like

Good idea, making the power traces thicker is on the cards, I got all tied up in how small i could make it with a 0805 size (the power traces are bigger then the rest but not a great deal). Always open to advice though!

Mines a Holden VE 6L V8… with a little cam an a single turbo I put on (i actually tune cars for a living on the dyno for the last 10 years). 578hp at the wheels, 770hp odd at the flywheel i guess. Bit of fun.

I think i’ve just been lucky, most of the things I make are for in the car and seem to last (been a couple of years) :confused: Been a big learning curve going to video, buck regs, boost up LED drivers and things like that.


Woo Hoo, another Aussie here ! :slight_smile:

GHI, give this guy some points. Anyone who has a custom board and no experience points deserves a bonus in my books !

1 Like

And give him extra points for being a V8 driver too. :slight_smile:

1 Like

Ha Ha he just forgot his password, no-one can make a custom board without a single post on this forum :whistle:

That’s not true, my college made a custom board, while I do al the positings.
He does not even have an account ::slight_smile:

1 Like

@ jezzab - excellent. I am a big fan, especially that I am in the motor city. Keep posting progress please.

Excellent project.

Seems part of Australian DNA that Holden and Ford owners are hooligans… Spent a week in Perth at the start of the month and every morning you could hear the yobbo’s on the way to work with sustained loss of traction!

Keep up the good work :slight_smile:

Hmmmm… MANY people like me who are car enthusiasts are NOT hoons/hooligans or yobbo’s. There is placed to do things like that (drag strip, race track, burnout pads etc). Ive had 2 speeding fines in my life and im 35 (going 50km/h in a 40 zone 30 mins apart). We enjoy cars, go to shows etc but dont have to do a burnout in a public street and act like a wanker. We will leave it at that but don’t paint everyone with the same brush please


1 Like

@ jezzab - fair enough, not my intention to tar you with the same brush…

It was meant to be light Trans Tasman humour based on my trip to Perth…

1 Like

Justin is special Jez, usually harmless too, all stems from being a Kiwi cooped up in the UK for too long. He’s trying to better himself too, by moving back to NZ.


Haha. All good :slight_smile:

1 Like

Ok this is the most exciting post i’ve read in a long time! @ jezzab, I’ve been trying to do some of the things you accomplished for an embarrassingly long time!

I’m wondering if you can share some insight. I’m not as interested in the display and peripherals as I am about the core interfacing with the GM LAN protocols. First the SWLAN seems to be difficult to interface with. From what I’ve gathered online most people rely on the AU5790 or TH8056 single wire transceivers. How did you do it? I only need the SWLAN interface since in my car that is where all non-critical functions are and i’m trying to capture convenience and entertainment control messages.

If this is not for a commercial product, would you be willing to share your schematic and/or source code?

Thanks for any info!

Using an MCP2551 for HSCAN and a TH8056/NCV7356 (same same) for GMLAN

You will have to run the Mode pins from the SWCAN IC to two GPIO pins (or tie them together and 3V3 if you wanna do a quick and dirty hack. But you wont be able to do a HVWU (High Voltage Wake Up) which is handy if you wanna to wake some things up and talk to them even if the ignition if off)

The TH8056 or NCV7356 datasheets should get you going pretty well. Most of the info you are trying to capture (status information) will be sent as 29bit packets periodically. Have a look at this doc a friend of mine compiled. Should give you a bit of a starting point anyway on understanding 29bit CAN packets.


Code wise, its just the same as high speed CAN but just set your baud rate to 33333bps instead of 500000bps.
If you truely wanted to do a quick hack and already had a HSCAN chip installed in your test rig. Just tie the CAN Low to GND, use the CAN High as GMLAN and set the baud rate to 33333bps. Just make sure the board and the car share the same ground. It will work.


@ jezzab - Hello, you wonderful man.
Im from russia. Im trying to make video converter for my Audi A4 from 2013 for now.
Now I have RGB666 signal.
CH7026 can convert RGB666 to VGA
But this chip is too difficult for me.
Can you help me with it?

Bit of an update. I tried using the CH7026B video DAC on my own custom board but had issues with quality (I probably screwed up the PCB). I decided to make a larger custom board to fit in a case with the GHI videoOut board. Using the gadgeteering connectors (kinda feels like cheating a bit though).

This is for the Gauge dual CAN module. I have remapped the videoOut board to output CSYNC (Composite Sync) instead of HSYNC on the VGA connector. No changes have been made to the original videoOut board so VGA and Composite can still be used.

I beefed up the power traces as well as was recommended and have throw it in a little case. Its just a prototype so its not laser cut panels or anything flash. Just me hacking away with a Dremel lol

Video cable one side to go to the different radios and an OBDII cable the other side for the diagnostics port. Excuse the DB connectors, they were the only shells I had laying around. I also have some right angle OBDII connectors now so they will look a lot better
The case is only 95mm x 80mm x 27mm so easy enough so slip in somewhere. Man its hard to find cases lol


Looks good but I still think your power tracks are too thin and you don’t have any decoupling caps next to the G120 or the HSCAN transceiver. You should put 0.1uF caps next to each devices power pins. Your decoupling and reservoir caps for the regulator should ideally be as close together as you can get them.

You are using this in an automotive setup and those are bad for spikes and noise. You need to use filtering on the DC input if you can. Murata do a nice automotive filter for DC applications.

It will probably all work fine but automotive systems are notorious for noise so hope your design can withstand this.

Good work though. Well done for giving it a go in the first place :slight_smile:


@ jezzab - if PCBs were designed in the Matrix, I’d expect them to come out like yours :slight_smile:
(meant as a compliment, of course. I’m a big fan of The Matrix)

I’d definitely take Dave’s suggestions into account if you do another revision.

1 Like

HAHA Funny you say that because that what I thought the first time I routed the traces. Just the way that I chose the auto routing in Eagle.

I will definitely be taking Dave’s suggestions and putting them in practice! Appreciate the feedback :slight_smile:

1 Like