Announcement

Collapse
No announcement yet.

Feeler - Touchscreen OBC with Megasquirt CAN interface, extra sensors, outputs, etc.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • mikey.antonakakis
    replied
    Okay, minor milestone reached! First (nearly) complete kit is ready to go. As mentioned in the previous post, I will be redesigning the enclosure for the touchscreen display to fit into the stock OBC location, but otherwise the kit is complete and includes:
    • Main PCB with sealed DTM 2x12-pin connector
    • Deutsch/TE Connectivity sealed enclosure for main PCB
    • Teensy 4.0
    • Nextion 2.8” Enhanced touchscreen display with short 4-pin harness
    • 8ft, 24-pin harness (2x12-pin) with 20AWG TXL wire, and Deutsch DTM connectors (basically OEM-level wire and connectors)
    • Solid-core wire for making jumper connections on PCB
    • Micro-USB bulkhead cable, intended for mounting in the side of the Deutsch enclosure for more convenient reflashing of the Teensy and Nextion
    The redesigned Nextion OBC enclosure will make the wiring a little more tidy and improve the retention of the display within the enclosure (as compared to the initial prototype installed in my own car).

    Click image for larger version

Name:	IMG_8511.jpg
Views:	305
Size:	251.3 KB
ID:	10112772

    Leave a comment:


  • mikey.antonakakis
    replied
    Dropping in to say that I’m going to be doing some redesign on the touchscreen enclosure (the piece that fits in the OBC spot). Goal is to slim it down and improve the assembly with the touchscreen. The 2.8” screen that I use is a tight fit in the stock OBC opening, so there really isn’t much room to get a screw in the holes in the touchscreen PCB - the redesign will probably be a 2-piece deal where the two pieces clamp the screen in place or something. It’s finally not stupidly cold here for the first time in weeks so hopefully I can get it disassembled and redesigned this week.

    Another update will also happen quite soon…

    Leave a comment:


  • mikey.antonakakis
    replied
    Originally posted by bsun260 View Post
    Thank you both for the speedy and helpful info. To clarify I did mean to refer to the OBC to the right of the radio.

    I agree a test dash would be the best way to test fit and fab the internal support for servos and cables.

    I do not have programming experience in the languages or protocols you mentioned above but I do have experience in VB, macros, HTML, etc. basic coding scripts. Would you think with some online learning this is something I could pick up quickly or better off hiring something like that out? I enjoy that type of stuff so I’d be down to learn. I’ll start researching arduino.

    Would you guys be interested in updates here or should I start a new thread?

    Thanks again!
    You can learn embedded programming relatively quickly - it's more low-level than you're used to, but you've already got a big head start, and there's a much more direct relationship between what you write and what actually happens on the hardware.

    And yes, I'd like to keep this thread focused on this project, but I will keep an eye out for your new thread!

    As for updates: I am trying to get a kit together for bbushree - things have been a little slow having moved this year (still haven't gotten my electronics workbench set up fully) and having a toddler, and now it's winter/snowy so my e30 is staying indoors... but my 3d printer is back up and running as of this week, I've got basically all the parts needed including the new PCB design. New PCB design means I need to do a little rewiring in my car if I want to use/test it in a real-world situation, and with aforementioned cold weather and now a non-heated garage the motivate to freeze my fingers has been low. Either way I'll be putting together a "v3.0" kit ASAP

    Leave a comment:


  • Panici
    replied
    Originally posted by bsun260 View Post
    Thank you both for the speedy and helpful info. To clarify I did mean to refer to the OBC to the right of the radio.

    I agree a test dash would be the best way to test fit and fab the internal support for servos and cables.

    I do not have programming experience in the languages or protocols you mentioned above but I do have experience in VB, macros, HTML, etc. basic coding scripts. Would you think with some online learning this is something I could pick up quickly or better off hiring something like that out? I enjoy that type of stuff so I’d be down to learn. I’ll start researching arduino.

    Would you guys be interested in updates here or should I start a new thread?

    Thanks again!
    You'll be better off working at a microcontroller level like an arduino. A higher level PC based control will just add complexity.

    Please start a new thread, I'm interested in following along!

    Leave a comment:


  • bsun260
    replied
    Thank you both for the speedy and helpful info. To clarify I did mean to refer to the OBC to the right of the radio.

    I agree a test dash would be the best way to test fit and fab the internal support for servos and cables.

    I do not have programming experience in the languages or protocols you mentioned above but I do have experience in VB, macros, HTML, etc. basic coding scripts. Would you think with some online learning this is something I could pick up quickly or better off hiring something like that out? I enjoy that type of stuff so I’d be down to learn. I’ll start researching arduino.

    Would you guys be interested in updates here or should I start a new thread?

    Thanks again!

    Leave a comment:


  • mikey.antonakakis
    replied
    Originally posted by amarino View Post
    I think you mean OBC as the Check Panel is the one over your head by the rear view mirror. There is another thread where someone is making a updated PCB for that as well but it has been a while since the last update: https://www.r3vlimited.com/board/for...k-panel-thread

    Just a quick google I found this that maybe can be used as a starting point for how to get a touchscreen working on Arduino: https://projecthub.arduino.cc/hwhard...control-98d5ed

    From the more mechanical side like Mikey mentioned you would want servos to replace the current sliders and temp control. Then some sort of 3D printing a new HVAC panel where you need to hold all the motors and cables behind the view of the screen. Another option would be to remove the cables entirely and hook up the servos to the different flaps and levers directly on the airbox.

    First step would probably be getting a test dashboard / HVAC panel / airbox from the junkyard so you can easily work on a bench vs in the car.
    Yeah personally I would go with Nextion+Teensy/Arduino, but it that's because I'm more comfortable building relatively reliable code for a microcontroller than I would be on Linux or something. Simple UART interface between Nextion and Teensy/Arduino and simple protocol works quite well once you get up the learning curve.

    Leave a comment:


  • amarino
    replied
    I think you mean OBC as the Check Panel is the one over your head by the rear view mirror. There is another thread where someone is making a updated PCB for that as well but it has been a while since the last update: https://www.r3vlimited.com/board/for...k-panel-thread

    Just a quick google I found this that maybe can be used as a starting point for how to get a touchscreen working on Arduino: https://projecthub.arduino.cc/hwhard...control-98d5ed

    From the more mechanical side like Mikey mentioned you would want servos to replace the current sliders and temp control. Then some sort of 3D printing a new HVAC panel where you need to hold all the motors and cables behind the view of the screen. Another option would be to remove the cables entirely and hook up the servos to the different flaps and levers directly on the airbox.

    First step would probably be getting a test dashboard / HVAC panel / airbox from the junkyard so you can easily work on a bench vs in the car.

    Leave a comment:


  • mikey.antonakakis
    replied
    Originally posted by bsun260 View Post
    Hello Everyone!

    I'm new to the forum. I found this thread while googling a touch screen solution and am immediately impressed with the intricacy of building this digital check control-eque interface. I would be an interested buyer at some point I think.

    I have an idea that is a little different than what is in this thread but I think this group would be able to offer advice from what I've seen. I have an 89 325i that I am looking to do a build on at some point this year. One of my favorite customizations are older vehicles with modern touches. My fantasy has been for a long time to replace the entire climate control, radio, check control, section with a tablet to control each of those things. Ideally, the display would be customized like you did with the check control to visually look the same with touch screen enabled movement of the vent control and heat dial etc.

    After seeing this thread, I realize it would be no easy feat. I also imagine that since the climate control system is mechanical, I'm guessing there would need to be motors to turn the physical pieces in the dash once the correlating command was given digitally.

    All this said, I guess I'm interested to see if anyone here has any shared interested or would want to collaborate? Any guidance or advice? Looking foward to exploring more on this forum. Thanks in advance!
    Replacing the HVAC would indeed be quite tricky, as you point out you would need servos to control vents and whatnot. Check control would be doable with some work - this particular project, when it comes to the stock vehicle side of the equation, is mainly focused on sensor inputs from non-stock sources (MegaSquirt, additional sensors, etc.), and outputs to some stock systems (as a silly example, if you really wanted, you could use TPS signal from MegaSquirt CAN data broadcasting to turn on the windshield wipers when you're full throttle, with pretty minimal wiring). Basically of the stock vehicle systems that work by being switched to ground (e.g. check lamps) can be very easily controlled by this board, and more complicated systems, like the econometer, can as well, and with very minimal wiring changes to the stock harness. You'd kind of be on your own for converting HVAC controls to servos or whatever, but controlling the servos themselves would be totally doable - the microcontroller can be programmed in Arduino IDE and there are countless projects where people control servos with one.

    Off the top of my head, if I were going to approach your project, I'd figure out the main touchscreen head unit I'd want to use (something off the shelf and combines audio + HVAC? maybe a Raspberry Pi with an added touchscreen? An old Android tablet with some automotive head unit Linux flavor installed? A large Nextion display, in which case I believe you'd need to handle audio separately?). Then I would run the main interface and radio/HVAC control directly on it, and figure out how what protocol is needed to get sensor signals to it. For the HVAC system, there are things like pressure and temperature switches/sensors, which you'd probably want to replace with analog sensors. The board I've design should have enough inputs to handle all the HVAC signals as analog inputs, then you can write code to send it to the main touchscreen unit over whatever protocol is used - not being super familiar with aftermarket head units that also do HVAC control, I'm not sure what that would be (probably CAN bus? If so it's doable in theory!). A good place to start for the actual control algorithm for the system would be the e30 ETM which I believes describes the functionality and control details of the stock HVAC system in detail.

    It would be a big project for sure, but it would be really cool if you can figure it out!

    Leave a comment:


  • bsun260
    replied
    Hello Everyone!

    I'm new to the forum. I found this thread while googling a touch screen solution and am immediately impressed with the intricacy of building this digital check control-eque interface. I would be an interested buyer at some point I think.

    I have an idea that is a little different than what is in this thread but I think this group would be able to offer advice from what I've seen. I have an 89 325i that I am looking to do a build on at some point this year. One of my favorite customizations are older vehicles with modern touches. My fantasy has been for a long time to replace the entire climate control, radio, check control, section with a tablet to control each of those things. Ideally, the display would be customized like you did with the check control to visually look the same with touch screen enabled movement of the vent control and heat dial etc.

    After seeing this thread, I realize it would be no easy feat. I also imagine that since the climate control system is mechanical, I'm guessing there would need to be motors to turn the physical pieces in the dash once the correlating command was given digitally.

    All this said, I guess I'm interested to see if anyone here has any shared interested or would want to collaborate? Any guidance or advice? Looking foward to exploring more on this forum. Thanks in advance!

    Leave a comment:


  • mikey.antonakakis
    replied
    New PCBs arrived Wednesday (ordered on Friday! Crazy fast turnaround!) Need to populate the MAX9924 chips (PCB supplier was out of stock), but they’ll be here Monday. Weather will be nice for the next week or so, maybe I’ll be able to get it in the car for a test drive soon :)

    Click image for larger version

Name:	IMG_7967.jpg
Views:	194
Size:	233.4 KB
ID:	10108152

    Leave a comment:


  • mikey.antonakakis
    replied
    New batch of circuit boards ordered! I did a whole lot of redesign on the layout, and the schematic has some changes, namely the addition of two TPL7404L chips. These are MOSFET low-side switch/driver ICs, with 7 channels each. Each channel is capable of sinking 600mA. This adds a ton of capability for doing things like directly driving dash indicator lamps or controlling relays with the Teensy.

    Click image for larger version  Name:	PCB-v3.0.png Views:	0 Size:	314.7 KB ID:	10107680

    I'll explain the current features:
    • Designed for use with Teensy 4.0, may work with other Teensy boards
    • 24 pins for power and I/O, will include a flying lead harness (2x12-pin Deutsch DTM connectors)
    • There are 5 permanent pins routed to the DTM connectors (Gnd, 12V, CANH, CANL, 3.3V), all other pins are broken out on the PCB with through-holes to be wired as desired for each application
    • 12V-5V power supply built into the board to power Teensy, Teensy will provide 3.3V. All voltage rails (Gnd, 12V, 5V, 3.3V) have 5-pin breakouts to use as desired for each application (e.g. use 3.3V for analog pressure sensors)
    • Two TPL7407L 7-channel low-side switches with input and output pins broken out - simply add a jumper wire from a Teensy pin to a TPL7404L input pin, and a jumper from output pin to DTM pin to allow the Teensy to control loads up to 600mA
    • MAX31855 thermocouple amp: you can wire a thermocouple directly to the DTM connector, e.g. for EGT probe (1-channel for now)
    • SN65HVD230 CAN transceiver: tap into a CAN bus on the vehicle, Teensy 4.0 has hardware CAN but still needs an external transceiver.
    • MAX9924 VR signal conditioner: wire a VR sensor directly to the DTM connector and get binary output directly to the Teensy (e.g. turbo shaft speed, cam angle sensor, etc.)
    • ADXL362 accelerometer: 3-axis accel with configurable +/-2, 4, or 8g range, excellent noise filtering. Use it however you want, e.g. make a realtime g-circle display, log to your ECU datalogger, etc.
    • Teensy GPIO breakout: all non-dedicated Teensy pins are broken out with through-holes for interface
    • Breadboard/proto area: 8 sets of 5 connected through-holes for building any additional circuitry - for example the econometer on our e30s needs a 12V PWM signal, so you can use one of the TPL7407L pins and the 12V breakout pins to add a pull-up resistor to generate the PWM signal for the econometer
    • Coincell battery holder, used to provide power to Teensy for its built-in real-time clock

    As an example, here's how I'll wire up my e30 with the following features:
    • CAN-controlled VGT turbo
    • turbo shaft speed sensor
    • control of a relay to power the VGT actuator
    • compressed air dual solenoid wastegate control
    • MegaSquirt2 CAN bi-directional data (receive data from MS2, send additional data back to MS2 for datalogging)
    • analog pressure sensors: fuel, oil, exhaust manifold, and wastegate dome pressures
    • econometer signal
    • EGT probe
    • touchscreen dash display
    Despite all that, I have a few pins left empty, and could free up a few more with a couple minor changes to my existing wiring harness.

    Click image for larger version  Name:	image.png Views:	0 Size:	106.3 KB ID:	10107681
    Last edited by mikey.antonakakis; 11-04-2023, 01:33 PM.

    Leave a comment:


  • mikey.antonakakis
    replied
    Originally posted by Digitalwave View Post
    Subscribing because this is a damn cool project that I hope you see out to completion. I have an MS2 powered car, but it doesn't have a factory HVAC panel, so I am not sure if this would be of use to me, but I love projects like this.
    Thanks!
    The nice thing about it is that you don’t necessarily need to use the stock OBC form factor - Nextion makes touchscreen displays up to 10” I think, and in any case adding a bunch of IO and actuation to an MS2 is nice - bridges the gap to MS3 and much easier to get custom functionality.

    Leave a comment:


  • Digitalwave
    replied
    Subscribing because this is a damn cool project that I hope you see out to completion. I have an MS2 powered car, but it doesn't have a factory HVAC panel, so I am not sure if this would be of use to me, but I love projects like this.

    Leave a comment:


  • mikey.antonakakis
    replied
    Update now that life after a baby and moving is finally getting a little more back to normal:
    Been going back and forth with bbushree on his needs for the project he's working on and that's given me some good ideas to implement for a new PCB revision. Working on the redesign now and will have some boards ordered very soon I hope. Overall, the revisions should include:
    • Better general-purpose configuration of the wiring harness connectors' pins - just use a jumper wire on the PCB to configure the usage of the majority of the pins
    • Fixed the logic-level shifter IC that allows the VR sensor signal condition (e.g. for turbo shaft speed) to work with the Teensy - had the wrong part number in the original design
    • Added EGT sensor circuitry to allow connection of, well, an EGT sensor
    • Will be trying to add knock sensor circuitry to the board, should allow Teensy to do knock counting and maybe allow listening with headphones? more to come on this subject
    • One or two low-side switch ICs will be added to the design, to allow general-purpose switch circuits to be controlled by the Teensy. Original design has only two circuits, this will increase that to either 7 or 14. For example, bbushree has an S54 swap and wants to use the S54 ECU's "check engine" CAN message to illuminate the stock e30 CEL, as well as to control other stock check lights. This will make that pretty easy. Can also use for relays and other relatively low-current control.

    Leave a comment:


  • mikey.antonakakis
    replied
    Originally posted by bbushree View Post
    First, I love what's going on in this thread and I am intrigued. I just joined the forum and I have slightly different use-cases but I would like to collaborate on this if possible.

    I am in the middle of doing a CA legal (hopefully) S54 swap and have been completely unable to find an off-the-shelf solution to the 'expose the check engine' problem that California requires me to have. Someone used to offer one that handled the AC control and check-engine light in the attached link but the guy selling them has become unresponsive. I'm not using Megasquirt, just stock ECU setup for the S54 which I've found ample documentation on already.

    I was about to venture off on my own into the CAN bus microcontroller wilderness until I started asking myself what else could I build into this unit given the data available from my ECU. And after searching around to see if anyone was replacing their OBCs, I found this thread.

    Question to you mikey.antonakakis - besides the functionality you've already built into this unit, do you think this would be something worth pursuing? Seems like you already have a CAN receiver and a CAN transmitter? I have some software experience and would love to try to take a stab at it if you think it's doable.
    Sorry for the slow reply, seems like I need to
    check my notification settings - this hardware should be capable of any general-purpose CAN functionality! I’ll check more into your use case this week :)

    Leave a comment:

Working...
X