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

    #46
    Things have been slow on this front due to other aspects of life (and colder weather keeping me away from the e30 for a while, baby just turned a year old and is a full time job to keep him entertained lol). But some PCB revisions have been made. Want to do a few more. So far the following is updated in the PCB design:
    • Minor revisions to fix minor issues (e.g. through holes were a little tight, logic level shifter changed to a different one to work better with the VR signal conditioner)
    • EGT sensor amplifier/digitizer added
    • Research started on knock sensor module (will enable monitoring knock digitally, e.g. knock counts, threshold adjustment, etc).

    Comment


      #47
      Originally posted by mikey.antonakakis View Post
      Things have been slow on this front due to other aspects of life (and colder weather keeping me away from the e30 for a while, baby just turned a year old and is a full time job to keep him entertained lol). But some PCB revisions have been made. Want to do a few more.
      It's not a race, glad you are still working on it as time allows.

      Right now are you set up for a single EGT, or plan to run one per cylinder?
      Individual EGTs sound fantastic for a tuning geek like me, but are probably more trouble then they're worth unless you're building an engine for competition.

      Comment


        #48
        Originally posted by Panici View Post
        It's not a race, glad you are still working on it as time allows.

        Right now are you set up for a single EGT, or plan to run one per cylinder?
        Individual EGTs sound fantastic for a tuning geek like me, but are probably more trouble then they're worth unless you're building an engine for competition.
        Just a single at the turbo inlet for my setup. It would technically be doable to have individual, but that is definitely pricey. At DIYAutoTune prices that’s like $500 for thermocouples alone - then at least with the amp I’m using, 5 more of them on the PCB. I’m sure there are multi-channel amps available though. As for the data side, if you wanted to log to Megasquirt 2 for instance, that would tie up 6 of the 8 GPIOADC channels on the CAN bus (not familiar enough with MS3 to know if that has more of those channels available).

        Comment


          #49
          No updates other than "this isn't dead!". Lots of cold/snow this winter and baby at home has things on backburner until spring most likely (haven't done anything e30-related in a while now). As the weather warms up this spring I will be itching to get the car to the drag strip and dyno so this project will pick back up around that time :) non-zero chance I order rev2 PCBs sometime before then, but no promises.
          In the meantime if anyone is interested in doing a pilot/trial on these let me know, as I have a few not-perfect boards just sitting around right now. I can work on this project while it's cold out even if I'm not taking the car out! Just need a little fire under the butt etc.

          Comment


            #50
            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.
            Bimmerforums is the preferred online BMW Forum and community for BMW owners. At Bimmerforums, you will find technical how-to information maintenance specifics audio advice wheel and tire combinations and model specific details not found anywhere else. Our professionals are here to help make sure you find the answers you need to your questions and our community is here to help other brainstorm ideas for the future.

            Comment


              #51
              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 :)

              Comment


                #52
                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.

                Comment


                  #53
                  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.

                  RISING EDGE

                  Let's drive fast and have fun.

                  Comment


                    #54
                    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.

                    Comment


                      #55
                      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.

                      Comment


                        #56
                        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:	120
Size:	233.4 KB
ID:	10108152

                        Comment


                          #57
                          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!

                          Comment


                            #58
                            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!

                            Comment


                              #59
                              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.

                              Comment


                                #60
                                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.

                                Comment

                                Working...
                                X