Honda Insight Forum banner
441 - 455 of 455 Posts

· Linsight Designer
Joined
·
4,928 Posts
I do now. :)

Tektronix DPO7104, 1GHz bandwidth and 20GS/s. Used eBay scopes are awesome, this was about 1/5 the price of an equivalent modern scope. It won't perform as well as a new scope of the same caliber, but it still has excellent specifications and features.
That's a great scope! My daily driver at NI was a 2 GHz ABW Tek DPO. Whenever we needed more bandwidth we'd typically just rent test equipment.

I'm just waiting on some 500MHz passive probes, a 1GHz active probe, and a 30A, 120MHz current probe to arrive. All also secondhand off eBay for 1/4 price or less.
Each active probe I used at NI cost more than the entire scope setup I use now. Honestly the real-world analog performance is almost entirely a function of your input probes.

For Pegasus, I've been slowly performing various tests that will make sure every functional aspect of the board is working properly. Then I will start writing the bootloader, then finally the firmware!
I already have 40-50 various changes I want to make, but nothing too major. So far everything has been working great, for the most part!
Are you using the base firmware you previously wrote for the old hardware?

I also installed the power harness (required) and the signal harness (optional) in my test cluster, of course to test that functionality as well.
IIRC, previously Pegasus was powered from the +12V rail on the OBDII port? Why the change? Does the new power harness require soldering?
 

· Premium Member
Southern California
Joined
·
994 Posts
Discussion Starter · #442 ·
That's a great scope! My daily driver at NI was a 2 GHz ABW Tek DPO. Whenever we needed more bandwidth we'd typically just rent test equipment.
This should hopefully suit my needs for a while! The itch for more/better test equipment is still there though...

Each active probe I used at NI cost more than the entire scope setup I use now. Honestly the real-world analog performance is almost entirely a function of your input probes.
Even these second-hand probes can be thousands of dollars! It's crazy. Thankfully the older but still capable models are "only" hundreds of dollars.
And definitely. I mis-typed, It's actually a 1.5GHz active probe, so I know the probe shouldn't be the limiting factor with this scope at least.

Are you using the base firmware you previously wrote for the old hardware?
Naw, new microcontroller, entirely new hardware and pinout, and the HAL library even has different functions. Not to mention my coding skills have increased so much since I wrote the initial firmware, I'd want to rewrite it all anyway. Certainly a few things can be reused, though.

IIRC, previously Pegasus was powered from the +12V rail on the OBDII port? Why the change? Does the new power harness require soldering?
Correct, that was the initial plan. I go over my reasons for the switch here:
But here's a summary:

If I powered Pegasus from the OBDII port, there would be a ground loop. Pegasus is grounded to the cluster PCB, which is grounded to the car. The OBDII port is of course also grounded to the car. If I left off the OBDII ground it would eliminate the ground loop, but K/H line signal integrity and 12V power delivery would probably be quite bad. Leaving the ground loop could cause current to flow through the cluster where it shouldn't, and pick up a lot of noise.

My original plan was to have an isolated DC/DC converter and isolated data inside the OBDII plug. This solution is large, expensive, more difficult to design, not as performant as a non-isolated buck, and has higher quiescent current. I'd also need large protection components to protect from voltage spikes on the raw 12V bus.

If I power Pegasus from the cluster, I don't need nearly as comprehensive input protection since the cluster already has beefy protection. And the Pegasus buck regulator can be small, cheap, and efficient. Now I only need to isolate data within the OBDII plug, which is small and easy. The tradeoff is requiring a single two-wire harness to be soldered in the cluster, to some fairly large and easy solder points. I think it's the right choice.
 

· Linsight Designer
Joined
·
4,928 Posts
Even these second-hand probes can be thousands of dollars! It's crazy. Thankfully the older but still capable models are "only" hundreds of dollars.
And definitely. I mis-typed, It's actually a 1.5GHz active probe, so I know the probe shouldn't be the limiting factor with this scope at least.
I agree you have enough bandwidth for pretty much any non-RF home project. Don't forget that overall system bandwidth is typically square root of sum of squares for each analog part in the chain (i.e. probe + scope).

Naw, new microcontroller, entirely new hardware and pinout, and the HAL library even has different functions. Not to mention my coding skills have increased so much since I wrote the initial firmware, I'd want to rewrite it all anyway. Certainly a few things can be reused, though.
I'm in a similar boat over even just the last 18 months... each time I change older LiBCM code sections, I'm ending up rewriting them.

If I powered Pegasus from the OBDII port, there would be a ground loop. Pegasus is grounded to the cluster PCB, which is grounded to the car. The OBDII port is of course also grounded to the car. If I left off the OBDII ground it would eliminate the ground loop, but K/H line signal integrity and 12V power delivery would probably be quite bad. Leaving the ground loop could cause current to flow through the cluster where it shouldn't, and pick up a lot of noise.

My original plan was to have an isolated DC/DC converter and isolated data inside the OBDII plug. This solution is large, expensive, more difficult to design, not as performant as a non-isolated buck, and has higher quiescent current. I'd also need large protection components to protect from voltage spikes on the raw 12V bus.

If I power Pegasus from the cluster, I don't need nearly as comprehensive input protection since the cluster already has beefy protection. And the Pegasus buck regulator can be small, cheap, and efficient. Now I only need to isolate data within the OBDII plug, which is small and easy. The tradeoff is requiring a single two-wire harness to be soldered in the cluster, to some fairly large and easy solder points. I think it's the right choice.
Sounds like a well thought out change. I've designed quite a few isolated DCDC converters, but in your case I agree it's cleaner to just tap the existing cluster voltage.
 

· Premium Member
Chicago & Detroit
Joined
·
1,478 Posts
Man, when I was in the USAF we got a Tektronix state-of-the-art 1GHz scope, first one on base, forty or so years ago. It was a metal-cased unit three times as large as your's Mario and I believe it was also a 7104 unit. Sean's 2465B was the work horse. Thanks for the memories. Keep up the great work @Mario.
 

· Linsight Designer
Joined
·
4,928 Posts
The last project I worked on at NI was a four channel scope with 26.5 GHz analog bandwidth (per channel), and a 56 GS/s sample rate (per channel). It generated 224 GB of data per second. It was a beast.

At the time (2013), even the fastest memory available just barely couldn't store data that quickly... so we ended up using QTY64 ECC DDR chips in parallel, but we actually wrote data into the error correction bits (instead of redundant check bits)... which was just barely fast enough to work. This of course required a custom DDR RAM controller, which was accomplished with QTY3 dedicated FPGAs with massive I/O so that we could connect each DDR chip to a dedicated bus on the FPGA. Each FPGA cost more than $5k. I forget how many thousands of pins each FPGA had. It was the most complicated hardware product NI had designed at that time.
 

· Premium Member
Southern California
Joined
·
994 Posts
Discussion Starter · #446 · (Edited)
Testing continues! It's going well, very few reworks needed. Really, only 1 rework required for proper function, though there are dozens of small changes I will be making on the next revision. But for the most part, everything is functioning as intended, which is great!
By number, I'm about 70% done with the tests, but these last ~25 should be pretty quick, then ~5 more tests will be done once the firmware is mostly working.

Pictured below, the current state of the Pegasus testing board. This is about how every PCB ends up looking when it's being brought up. :)
Oscilloscope Electrical wiring Electronic engineering Engineering Technology


I've also captured just about 70 scope traces of various signals around the board. Honestly, I've never even put this much validation effort into any PCB I've ever done as part of my job... helps when you're passionate about the project! (And have unlimited time to ship it, that's probably the real factor)
 

· Premium Member
Southern California
Joined
·
994 Posts
Discussion Starter · #448 · (Edited)
As opposed to rev C or higher? I think there's a good chance it will be rev B!

Hah, back when I worked for Oculus, my coworker bought that hand-pump air blaster for cleaning off headset screens. We went through a fair bit of canned air, so this was meant to be a more eco-friendly replacement. It didn't work very well for our use though, so I printed a little spinny attachment for the top and now it's a fun fidget toy. :)
 

· Premium Member
Joined
·
3,304 Posts
Hah, back when I worked for Oculus, my coworker bought that hand-pump air blaster for cleaning off headset screens. We went through a fair bit of canned air, so this was meant to be a more eco-friendly replacement. It didn't work very well for our use though, so I printed a little spinny attachment for the top and now it's a fun fidget toy. :)
That thing amuses me way too easily 🤣 🤣 🤣 🤣 🤣 🤣
 

· Premium Member
Southern California
Joined
·
994 Posts
Discussion Starter · #450 · (Edited)
I finished up the tests! Everything is looking very good.

Before I start on firmware, I wanted to design and order the last PCB needed for this project. This board goes in the OBDII plug and is responsible for doing the voltage translation and isolation for the H/K lines. My top priority was to make the full stack of male OBDII plug (car side) -> PCB -> female OBDII plug (slave device side) as thin as possible. On '01-'06 US cars, the OBDII port is by the driver's leg rather than in the passenger footwell, like US '00 and seemingly all years of non-US cars. If you have Pegasus plugged in and another device (like OBDIIC&C) plugged into Pegasus, it could possibly hit your leg if the whole stack is too long.

So the past two days I've been measuring and thinking about how to cram everything needed into the smallest form factor, while making it able to fit all the different years/regions. I cranked out the schematic and a rough component placement.
I ordered 100x male and female OBDII connectors, they should be here in a few weeks. I won't go further until then, I based my measurements off some extremely similar parts I have lying around, but I will wait until I get the connectors to finalize the board outline and do all the routing.

Here is the rough board so far, with a US quarter overlaid (pretty much 1inch/25mm diameter) for scale. I thought I'd have to do double-sided assembly, but I managed to make it all fit! The true test comes when I have to route it.

The CAD model with the OBDII plugs and PCB:

And a mockup of the whole assembly and a rough case in a US '06 car.


Back to firmware until the connectors arrive!
 

· Registered
Joined
·
2,472 Posts
Can Pegasus control the idiot lights? Another member pointed out that some of the spots for wheat lamps are unpopulated in the MT cluster; a quick check shows this in the AT cluster two, and another empty spot in the AT cluster and two more in the MT cluster. Of course, someone could print their own lamp holders on a 3D printer and run wires for an RGB LED out of the cluster, then "scrape your own icon" into the mask and hide the scratches with clear adhesive and a translucent sheet.
 

· Premium Member
Southern California
Joined
·
994 Posts
Discussion Starter · #452 ·
Not by default, as they not part of the LCD display. However, you could control two lamps with the two Pegasus GPIO ports by soldering wires onto the cluster. I plan to eventually release diagrams showing how to do this (it's quite easy).
You will also have the option to dim those lamps based on the cluster's backlight brightness if you have the extra signal harness installed. :)
 

· Premium Member
Southern California
Joined
·
994 Posts
Discussion Starter · #453 ·
I received the connectors, and updated my CAD models of them. I finished modeling the OBDII plugs case, finalized the OBDII PCB outline, and finished routing the PCB.
It's another pretty tight board! I'm sure there are much smaller digital isolators and optocouplers I could have found, but I had already ordered these in quantity so I wanted to make it work. The connectors and stack height requirements were the main driving factors of the PCB form factor anyway, so it wouldn't have saved much space overall even if those components were small.



@mudder You'll be happy to hear that the two inner layers are only grounds, and the two different grounds (Pegasus and vehicle) are properly placed under all their respective traces and components on the top and bottom layers. :)
There is also ESD protection on all user-accessible ports (OBDII, CAN, and USB ports).

The almost-final schematic (I'll upload a PDF when it's done)


All that's left to do is finalize the "footprint" for the OBDII plugs flex PCB (the gold pads on the back of the board). I've been prototyping the flex outline with my vinyl cutter - very useful tool for this specific task.
Because there are multiple locations for the OBDII port in Insights, I need two versions of the OBDII plug. One has the male and female connectors swapped. The 3D-printed plastic parts will need to be different between these two versions, but the PCB and flex were designed to accommodate both. The flex is long enough to allow the two connectors to trade places.


Connectors swapped (I haven't designed/printed the plastics for this version yet)



The sticky-outy bit is where the cable will come out. There's a spot to zip tie it down, and also a ribbed sleeve for glue-lined heat shrink to go over to also hold the cable in place.

I'm going to lay out the flex PCB now that the outline is finalized, then finish the OBDII PCB and get that ordered!
 

· Premium Member
Southern California
Joined
·
994 Posts
Discussion Starter · #454 ·
Designed the OBDII plug flex and finished and ordered the OBDII PCB.


Also spent a few days making a project to help me keep track of how much time I spend on each of my projects! I often have people ask me "how long did that take you", and I think it would be interesting to know.
The 9 hours on Pegasus were just spent laying out that flex and finishing up the OBDII PCB!
 
441 - 455 of 455 Posts
Top