Originally posted by Lokiel, Sun Feb 04, 2018 7:50 pmIt's been a while since I updated my garage thread, mostly because I'm in the middle of my Arduino MegaSquirt project and it's been too damn hot & humid to work on the car in summer.
Originally I was planning to get my TSE kit installed by someone who knew what they were doing and because my NitroDann 3" exhaust needs to be modified and I've never welded anything in my life other than JB welds and plastic welding.
I budgeted around A$4-5,000 for this including the tune because I've got a few custom-modz I want (eg. mixing manifold mod to make radiator hose routing simpler) and the need to fabricate hotside intercooler plumbing) and it's always safer to over-budget.
I've had a few big expenses and made some purchases I just couldn't pass up so the TSE install just kept getting delayed.
My New Years resolution is "No more spending until the TSE kit is installed!".
ManiacLachy suggested I should do the install myself and either tow the car to an exhaust shop to complete the exhaust or fit a dodgy one and drive it there.
I hadn't even thought of that as an option and PROBABLY can fit the TSE kit myself - I've got all the components and I bet 99% of the tools needed (that 1% I'm missing will really bite me in the arse I'm betting).
It'll certainly halve the cost and I'll end up with the install I want so I'm going to attempt it AFTER I've completed my Arduino MegaSquirt project - I learned a long time ago that I can't work simultaneously on multiple projects (unless one is delayed because I'm waiting on parts/information), they take twice as long and sometimes never get completed.
My Arduino MegaSquirt project began as a means of allowing the MegSquirt to receive more input signals and be able to display multiple sensor data on 2 OLEDs which are mounted in the instrument cluster's Fuel Level gauge and Dummy Coolant gauge.
The MS3 has 2 spare generic input signals and I used them for Oil Temperature and Oil Pressure but I wanted more, Fuel Pressure, additional temperature sensors (so that I can monitor temperatures inside and outside my Cold Air Box to determine if it needs additional insulation) and I also wanted to add GPS and Accelerometer inputs so that all track data can by synched and logged in one place (by the MS).
Originally I used an Arduino DUE since I already had one and knew that it had plenty of grunt, memory, inputs and sort-of supported CAN (an additional CAN transceiver is needed).
The Arduino DUE turned out to be a really bad choice though because it only supports 3.3V input signals so every 5V input signal needed to be converted to a 3.3V signal. I used a daughter card that supported conversion of 2 signals to achieve this and wasn't happy with it - it made the project more expensive and complicated than it needed to be.
I switched to an Arduino UNO, not as powerful, less memory but can handle 5V input signals.
The UNO needs a CANbus shield since it doesn't support CAN on board and I used another expansion shield on top of that for extra components needed.
I quickly ran out of program memory for everything I needed and encountered a known issue with the UNO compiler (I ran out of registers; as others have done to work around this problem, I re-ordered parts of the code to fix this).
The next Arduino step up was the Teensy 3.2 which required me to create my first ever PCB.
After playing around with a lot of tools, I chose ExpressPCB, it's free (because they manufacture your board) and is very easy to use for a beginner.
I also added support for the Innovate Wideband O2 sensor so that I can get rid of the MSLabs Wideband O2 controller - it takes up too much space and requires additional wiring.
I designed the board as small as I could, so that it's easier to mount anywhere, and with multiple connectors, mostly one per component. Using multiple connectors meant that I only needed a 2-layer PCB which I thought was great because it made the board cheaper.
I installed the board in Gina using the existing aluminium bracket shown in the earlier photos but wasn't happy with all the connectors, they made for a real rats nest.
As part of the testing, I found that MegaSquirt's TunerStudio wasn't reporting the Latitude correctly. See
http://www.msextra.com/forums/viewtopic%20...%2031&t=67777 for details of this.
The short story is that they've NEVER tested GPS in the Southern hemisphere before so the way they encode/decode the Latitude is wrong.
It will be fixed in the next MS3 firmware release.
After looking on the web for single connectors, I ordered one that I thought looked rugged enough and re-designed/ordered the PCB to use it. The connector had 36 pins but I only needed 34 so I simply cut two of them off.
With a single connector, the traces to the pins got more complicated so I needed to create it as a 4-Layer board, to prevent trace overlaps, which increased the cost of the board.
After reading ExpressPCB's pricing policy, I saw that by using their standard-sized board (rather than the custom-sized board I created earlier) that the cost of the board was halved.
This worked out quite well because the connector I chose required the board to be about that size anyway.
After receiving the PCB and connector, I realised several things:
1. The connector is HUGE!
2. The bottom row of connector pins to the PCB are very tight - soldering needs to be very precise.
3. The connector plug pins are huge, probably way too big for the sensor wires I need.
4. Separating the connector's plug and socket will be difficult when it's mounted out of sight. The maroon tab needs to be pulled outward which moves the plug back and out of the socket. That's difficult to do and there needs to be space to do this. (FYI: I didn't choose this connector just because it has Queensland's maroon in it).
5. The connector is very expensive.
6. I couldn't find a case for this combination that I was happy with.
Notes:
* It doesn't look like it in the above shot due to perspective, but the PCB is actually wider than the connector.
* This time I got the Accelerometer daughter board's mount holes correct, it now mounts to the PCB by theses points, not just by the daughter-board's 6 pins.
So I learned 2 things from that experience:
1. Start the design based on the case that will be used.
2. Choose a connector that will fit the case, be rugged enough, easy to plug/unplug, be easy enough to solder to the PCB and have the correct sized plug pins that can be crimped to the required wire.
I ordered a sh**tload of different connectors and their pins so that I could determine which was most suitable (must be small but not so small that the PCB pins are un-solderable or plug pins are too small for the wire needed):
Next I ordered 4x 72Wx80Lx29H mm extruded aluminium cases that I knew I could fit my next PCB into:
The above photo has the case upside-down - the two channels at the top should be on the bottom - the PCB slides into it so no mounting pins are needed in the PCB.
Unfortunately this is coming from China and is going to take forever - they don't have any express shipping options (they're cheap though, 1/5 the cost of anything available in Australia).
After all the different connectors arrived, I chose the one whose pins I knew that the "average Joe" could crimp and could solder to the PCB, re-designed the PCB to fit the case and ordered 4 PCBs yesterday (one for each case I ordered).
Note: Since I now had the extra PCB width, I decided to provide 5V power and GND via a separate barrel connector - most manufactures do this and it allows thicket gauge wire to be used than on the main connector.
This freed up a couple of pins on the connector and since I had more space on the PCB, I added another temperature sensor and accompanying TrimPot.
This version of the board supports:
* 4x Temperature sensors
* 2x Pressure sensors
* 1x Fuel Level sensor
* 1x Innovate Wideband O2 serial input
* 1x Serial GPS input
* 1x CANbus
* 1x in-built Accelerometer
* 1x OLED output (supports up to 2 OLEDs)
* 3x Digital Inputs (one used to control OLED displays)
Now I just need to wait for everything to arrive, design 3-D printed gauge pods for the OLEDs and write the manual.
I've enlisted ManiacLachy as my independent beta-tester for this project.
Originally posted by Magpie, Sun Feb 04, 2018 7:59 pmLooking forward to seeing Gina out Purga way before the end of 2018