My custom boost gauge is finally FINISHED! This has taken a looooong time, mostly due to me having little spare time to work on it, but also because it involved a LOT of fiddly work, including the PCB design and developing and testing the assembly language software for the Atmel microcontroller (ATtiny48). But I'm very happy with it (and myself

) and it works perfectly! Anyway, as promised earlier, this thread is a word and picture description of the development and install process...
First, I should note here that although this circuit and code will work fine on a Sky, it's designed physically to (just!) fit in the available space behind the boomerang of a Solstice. I have no idea if it would fit in the Sky's dash - but probably not.

From a feature perspective, this is the list of the requirements for what I was attempting:
- Microcontroller-based LED Boost Gauge to fit in the same location as the existing (and much-hated) Passenger Seatbelt/Airbag Warning Light display, incorporating (but geographically compressing) those same warning lights.
- Reusing the signal from one of the existing LNF MAP sensors, buffered via an OpAmp to ensure it won't affect regular ECM operation. This avoids having to buy, plumb-in and install yet another boost sensor. I did make sure to have pins available on the board for ground and 5V though, so I could add a third sensor later, in case I did have troubles piggybacking off the factory MAP.
- Providing as many boost LEDs as I could within the limitations of the microcontroller pins, showing both negative AND positive pressures. I ended up with -12 to +24 boost display (max available from GMPP tune) with 3 LEDs of negative = -4 PSI per LED, and 18 LEDs for positive = +1.33 PSI/LED. These ranges could be easily changed in the software to be either higher or lower though.
- Have a "Peak Hold" feature to keep the highest-boost LED lit for four seconds after a peak. Selectable, on or off, by a jumper on the board.
- Utilise the same Passenger Seatbelt/Airbag Warning Light connector to both power the device as well as light those warning LEDs
- Utilise the dashboard backlight power to both illuminate the gauge backlights and also to trigger the micro to dim the boost gauge LED display at night (with adjustable levels via the dimmer knob).
- Include an ISP (In-System Programming) jumper to allow future in-car re-programming of the micro, in case I had to change anything or modify parameters.
I wrote the software in assembly language using Atmel's AVR Studio software, and tested it on a development board that I have. This allowed me to debug the majority of the code, but since the dev board was quite different from the final circuit, there was still a fair amount of risk when I went to the final board. Fortunately it mostly worked on the final system with only two (mostly cosmetic) bugs that I had to fix in the final system. I won't post the code here, but I can certainly supply it on request to anyone who thinks they want to take on the pain of building one of these for themselves! Ditto the component list and hi-res PDFs to print for the circuit board traces/components and the display screen. I will NOT, however, put together or supply 'kits' for this. Sorry, I just don't have the time.
The software uses the micro's on-board analog-to-digital converter (ADC) to 'read' the voltage level from the MAP sensor, and then performs some math to convert that to a PSI value and hence determine what LEDs to light to show the pressure. I based the math on the parameters I found online for the GMPP Bosch T-Map Sensor, which was given as a linear voltage rise between 0.25V @ 11 kPa to 4.75V @ 307 kPa. This could easily be adjusted for any other MAP sensor, including the base OEM or any third-party sensors. I'd just need the two end points like the above and plug them in. The micro reads and updates the pressure every 1/10 second - it could easily do it much faster, but I figured this was a fast enough update for any non-superhuman.
OK, so on to the pictures (I know you guys can't read too well). First off, after MANY iterations to get this to fit on a single-sided PCB in the space available (including, as mentioned elsewhere, some design changes like discovering that the dashboard backlight power works via PWM, not varying voltage level) these were the final PCB design(s) showing the tracks at the back of the board, with the component layout superimposed on top. This was done using an old draw package (Micrografx Draw) that I've had and used for many years. Here you see the three boards, the main circuit board, the daughter board for the backlight LEDs (for the numbers) and the 'carrier' for the re-used warning light connector (see later):
[attach=1]
I also used the draw program for designing and creating the display screen:
[attach=2]
Once the track layout was finalised, I simply printed it onto glossy photo paper using a laser printer and then ironed it on to the copper side of a piece of copper-clad board with a ordinary clothes iron, as shown in-progress below:
[attach=3]
Afterward, you simply soak the paper off in boiling-hot water and scrub any paper remants off, to leave the fused ink on the board. Then it's just a matter of 15 mins immersed in a bath of Ferric Chloride to etch off all the copper not covered by laser ink. Then the paaiiinnnful bit... drilling all the (seems like) many hundreds of holes with a fine drill bit!
[attach=4]
Now we get to pulling the existing warning light assembly apart. I desoldered and reused the airbag on/off LEDs, the seatbelt warning LED, one of the "Passenger Airbag" text backlight LEDs and -most importantly- the connector itself. I also reused, cut to fit, the rear black plastic shell molding to mount the new circuit board on. This shows the pieces-parts with the shell to be re-used at the far left, plus the circuit board prior to being cannibalized:
[attach=5]
... and just FYI, this shows the reverse-engineered component circuit of the warning display (remember, I had to reproduce this as part of my new PCB):
[attach=6]
In the same way I did the tracks, I laser-printed the component layout and ironed that on to the face of the board as you can see below. Now I had to start to cut and trim the back of the warning light rear shell so I could mount the new display in the original carrier on the Boomerang:
[attach=7]
... and this shows the final cutout on the rear shell, clipped into the carrier and resting against the PCB. Here there were just enough components mounted to perform the first in-circuit programming of the micro and hence do a first basic test of the board. Note, the top left of the board was shaved to fit up against the curve of the boomerang (I expected this), but I also found I had to fill-out the bottom left bolt hole in the rear shell with epoxy, up to the level of the molded lip, to give that mounting bolt something to press against:
[attach=8]
Here's the board and initial components again (without the shell) and the boost display LEDs glued together inline prior to soldering into the board:
[attach=9]
... and the back of the board showing the PCB traces:
[attach=10]