MEGAsquirt A place to collectively sort out this megasquirt gizmo

How to use the TinyIOx

Thread Tools
 
Search this Thread
 
Old 05-25-2016 | 09:06 PM
  #1  
aidandj's Avatar
Thread Starter
SADFab Destructive Testing Engineer
iTrader: (5)
 
Joined: Apr 2014
Posts: 18,642
Total Cats: 1,866
From: Beaverton, USA
Default How to use the TinyIOx

Going to start off with just a writeup getting the serial wideband data passing over CAN. I will dig into the more advanced features later after I can get all the circuits built. This will cover connecting the tinyIOx to power, and to the megasquirt, updating the firmware on the tinyIOx, project setup (adding the tinyIOx to your TunerStudio Project), and configuring your project to use CAN wideband data.

This guide assumes you are using an MS3/3x, other variants may differ. It also assumes that the tinyIOx is the only CAN device. Other setups will need different configuration.

Make sure to update to 1.4.1 if you are on 1.4. There is a bug that affects CAN in 1.4. Here is 1.4.1 Megasquirt Support Forum (MSEXTRA) ? MS3 firmware 1.4.1 released - use this (View topic)

All info was gathered from jbperf.com.
Mostly from these 2 links.

TinyIOx v1.0 Board
jbperf.com ? View topic - TinyIOx

Powering the tinyIOx:

Rumor is you can connect a tinyIOx to the MegaSquirt 5v power supply, but I know gesso had issues with that, so I skipped that, and connected it directly to main 12v power supply (with a voltage regulator in the middle).

I used this voltage regulator:
Amazon.com: Addicore 5V 1.5A Positive Voltage Regulator L7805CV in Antistatic Foam (5pcs): Industrial & Scientific Amazon.com: Addicore 5V 1.5A Positive Voltage Regulator L7805CV in Antistatic Foam (5pcs): Industrial & Scientific
because it was easy to get and should provide plenty of power. I soldered it onto the tinyIOx proto area and hooked up the power.

Connecting the tinyIOx to the MegaSquirt:

Here is the MS3 manual CAN Comms page.



As you can see you need to somehow connect JS6 (CANH) and JS8 (CANL) to the tinyIOx. I used some weatherpack connectors, you can do whatever you want. This is how the manual suggest to do it.



JS6 -> SPR1
JS8 -> SPR2

Then you can connect the tinyIOx to the respective pins on the MS3 DB37.

Here is the pinout for the tinyIOx. You can see the CANH and CANL pins.



There is a DIP switch next to the CAN pins that enables or disables the 120Ohm terminating resistor. If the tinyIOx device is the only device on the CAN network then make sure it is set to ON.

Communicating with the tinyIOx and Updating the Firmware:

TinyIOx firmware thread: jbperf.com ? View topic - TinyIOx firmware and ini
Latest firmware (As of 5/25/2016): jbperf.com ? View topic - TinyIOx release 0.2.0
Latest portscanner (As of 5/25/2016): jbperf.com ? View topic - Port scanner

Make sure to disable any CAN polling or broadcasting before updating firmware. If you haven't ever setup CAN on your MS3 this shouldn't be an issue.

Now we need to see if you did the last few steps correctly. For this step you will need a windows computer and the latest port scanner (which can be found at the link above).

Make sure that any applications using the port are closed (tuner studio, etc) and scan the ports. If done correctly you should see something similar to this picture (from jbperf.com)



Except yours will only have one megasquirt, and one CAN device below it.

Make sure that the CAN ID is 4 (if it is the only other CAN device, if you have multiple devices, you can change the ID. Either way remember the ID for later)

Click on the drop down arrow and update the firmware.



Make sure it says that it completed successfully. If not go sign up on jbperf.com and ask him. He knows his ****.

Now you have an updated tinyIOx that communicates with the MegaSquirt.

Project setup (adding the tinyIOx to your TunerStudio Project):

There are 2 ways to do this. Setup a project only for the tinyIOx (on your own for this). Or do it how I did, and add it to your project.

Make sure you have the ini file that you downloaded with the latest firmware.

Open your project in tuner studio.

File -> Project -> Project Properties.

Go to the CAN Devices Tab



Click the + button to add a new device.

Set the Device Identifier, Device Description, and Device CAN ID (Probably 4, unless you changed it). Also make sure to check Disable runtime data.



Now click on the 3 dots and set the Device Configuration file to the ini file you downloaded with the latest firmware.

Make sure that you set the SERIAL to Deactivated.



Press OK (Project will close and reopen)

You now have a menu in the upper left to change between tinyIOx and MegaSquirt settings.




Go to TinyIOx setup and open AFR data settings. Change to the following.



Connecting your LC-1/2 to the TinyIOx:

If you have an LC-1 then you should already have the 3.5mm plug to connect. You might need an adapter cable.

If you have an LC-2 then you will need to build/buy an adapter. This was a pain, but I will post this info later tonight when I get home and have pictures.

Configuring your project to use CAN wideband data:

This may vary depending on firmware. But the basic info is the same.

Open the CAN EGO, GPS menu under the CAN-bus/testmodes menu. (This might also be called the 'CAN VSS,gear' menu)

Set Fetch EGO Data to Innovate format

Set Remote CAN Id to your tinyIOx ID (Probably 4)

Set the Table to 7

Set the Offset to 76



Now that the megasquirt is polling for the info we need to use it.

Fuel Settings -> AFR/EGO Control

EGO 1 Port set to CAN EGO





Thats a wrap. This worked for me, hopefully it will work for you too.

References:

http://forum.jbperf.com/
http://jbperf.com/io_extender/tinyIOx.html
http://www.msextra.com/doc/pdf/MS3ba...rdware-1.4.pdf
Attached Thumbnails How to use the TinyIOx-6bz3rnb.png   How to use the TinyIOx-t6c5pcy.png   How to use the TinyIOx-tinyiox_dim.png   How to use the TinyIOx-port_scanner_v1_0.png   How to use the TinyIOx-port_scanner_v1_0_drop_change.png  

How to use the TinyIOx-bhslod9.png   How to use the TinyIOx-vzfpczh.png   How to use the TinyIOx-x9r9izc.png   How to use the TinyIOx-c0spt0e.png   How to use the TinyIOx-qaa62nd.png  

How to use the TinyIOx-jekehah.png   How to use the TinyIOx-zfesfsd.png   How to use the TinyIOx-qlx7eda.png   How to use the TinyIOx-6bz3rnb.png   How to use the TinyIOx-t6c5pcy.png  

How to use the TinyIOx-tinyiox_dim.png   How to use the TinyIOx-port_scanner_v1_0.png   How to use the TinyIOx-port_scanner_v1_0_drop_change.png   How to use the TinyIOx-bhslod9.png   How to use the TinyIOx-vzfpczh.png  

How to use the TinyIOx-x9r9izc.png   How to use the TinyIOx-c0spt0e.png   How to use the TinyIOx-qaa62nd.png   How to use the TinyIOx-jekehah.png   How to use the TinyIOx-zfesfsd.png  

How to use the TinyIOx-qlx7eda.png  
Old 05-25-2016 | 09:07 PM
  #2  
aidandj's Avatar
Thread Starter
SADFab Destructive Testing Engineer
iTrader: (5)
 
Joined: Apr 2014
Posts: 18,642
Total Cats: 1,866
From: Beaverton, USA
Default

Reserved.
Old 05-25-2016 | 10:47 PM
  #3  
cyotani's Avatar
Senior Member
iTrader: (8)
 
Joined: Jan 2012
Posts: 1,407
Total Cats: 116
From: Azusa, CA
Default

you are my hero!
Old 05-25-2016 | 11:46 PM
  #4  
Lokiel's Avatar
All-round "Good Guy"
 
Joined: Dec 2009
Posts: 1,014
Total Cats: 260
From: Brisbane, AUSTRALIA
Default

WooHoo, it's all in "Idiot Guide" format - please keep it up.

For those not familiar with the term: "Idiot Guide"s show/describe all steps involved so that almost any "idiot" can follow them, they don't make broad statements such as "configure the XYZ" when that actually involves multiple actions or assumes a lot of associated knowledge.
Old 05-26-2016 | 04:21 AM
  #5  
aidandj's Avatar
Thread Starter
SADFab Destructive Testing Engineer
iTrader: (5)
 
Joined: Apr 2014
Posts: 18,642
Total Cats: 1,866
From: Beaverton, USA
Default

The second part may take a while. I have it all planned out but won't be implemented for a while.

All in all it took me a few hours to get serial o2 data. It updates way faster and is way more accurate.
Old 05-26-2016 | 06:34 AM
  #6  
Barton's Avatar
Junior Member
 
Joined: Jun 2015
Posts: 182
Total Cats: 58
From: VIC, Australia
Default

Strange, I've had 0 issues using the MS 5V power supply. Nice writeup though. It would be nice if the TinyIOx had a user manual or something.

Just want to add that for those using MS2, to get the digital wideband signal you need to set it up like so:

Ignore the port polling settings (using that for outputs on the TinyIOx). AFR data is located on CAN ID: 4, table: 7, offset: 76



Signal comes through on remote ADC4.
Attached Thumbnails How to use the TinyIOx-c5iy1pw.png   How to use the TinyIOx-21r3oao.png  
Old 05-26-2016 | 02:37 PM
  #7  
aidandj's Avatar
Thread Starter
SADFab Destructive Testing Engineer
iTrader: (5)
 
Joined: Apr 2014
Posts: 18,642
Total Cats: 1,866
From: Beaverton, USA
Default

Thanks for the info Barton. I knew it was possible, just didn't want to hand out info I hadn't tried yet.
Old 05-26-2016 | 05:21 PM
  #8  
hi_im_sean's Avatar
SadFab CEO
iTrader: (3)
 
Joined: Sep 2012
Posts: 4,560
Total Cats: 1,142
From: your mom's house phoenix, AZ
Default

Whats max current output of vref? Im wondering if it has something to do with how many devices are already using it.
Old 05-26-2016 | 05:23 PM
  #9  
aidandj's Avatar
Thread Starter
SADFab Destructive Testing Engineer
iTrader: (5)
 
Joined: Apr 2014
Posts: 18,642
Total Cats: 1,866
From: Beaverton, USA
Default

Originally Posted by hi_im_sean
Whats max current output of vref? Im wondering if it has something to do with how many devices are already using it.
Not sure. I have seen multiple references of people running it from vref. But one person having trouble was enough for me to just use a 12v source. It was very easy, and no hassle.
Old 05-26-2016 | 05:26 PM
  #10  
deezums's Avatar
Elite Member
iTrader: (3)
 
Joined: May 2014
Posts: 3,146
Total Cats: 201
From: Kansas
Default

It looks like the DIYPNP uses a LM2937, all I can find on them says they're rated at half amp. Could be pretty easy to run out of that...

Old 05-26-2016 | 05:27 PM
  #11  
aidandj's Avatar
Thread Starter
SADFab Destructive Testing Engineer
iTrader: (5)
 
Joined: Apr 2014
Posts: 18,642
Total Cats: 1,866
From: Beaverton, USA
Default

I measured the current draw of the tinyIOx at something like .2-.3amps
Old 05-26-2016 | 05:33 PM
  #12  
hi_im_sean's Avatar
SadFab CEO
iTrader: (3)
 
Joined: Sep 2012
Posts: 4,560
Total Cats: 1,142
From: your mom's house phoenix, AZ
Default

I cant imagine TPS using more than 30ma. What else uses vref? Even then you are already at ~66% capacity.
Old 05-26-2016 | 05:34 PM
  #13  
aidandj's Avatar
Thread Starter
SADFab Destructive Testing Engineer
iTrader: (5)
 
Joined: Apr 2014
Posts: 18,642
Total Cats: 1,866
From: Beaverton, USA
Default

every chip on the board. its probably not a lot, who knows. Someone try it. I didn't want to risk it.
Old 05-26-2016 | 05:49 PM
  #14  
stefanst's Avatar
Senior Member
iTrader: (1)
 
Joined: Sep 2011
Posts: 1,215
Total Cats: 74
From: Lambertville, NJ
Default

Originally Posted by hi_im_sean
I cant imagine TPS using more than 30ma. What else uses vref? Even then you are already at ~66% capacity.
Also the pullups for the temperatures etc. Again, not a hell of a lot of current, but it all adds up. Even the FETs for the injectors etc. need a little bit of current to switch. If you are running older circuits with TIPs, they'll need even more.
Old 05-26-2016 | 06:15 PM
  #15  
Chiburbian's Avatar
Elite Member
iTrader: (1)
 
Joined: Feb 2008
Posts: 2,331
Total Cats: 203
From: Loganville, GA
Default

Dumb question - how are you mounting this?
Old 05-26-2016 | 06:21 PM
  #16  
aidandj's Avatar
Thread Starter
SADFab Destructive Testing Engineer
iTrader: (5)
 
Joined: Apr 2014
Posts: 18,642
Total Cats: 1,866
From: Beaverton, USA
Default

Its pretty annoying to mount externally. Some people fit in inside the case. I built my ECU connector into the case so i have no room, but I had a 3d case printed.
Old 05-26-2016 | 06:47 PM
  #17  
Chiburbian's Avatar
Elite Member
iTrader: (1)
 
Joined: Feb 2008
Posts: 2,331
Total Cats: 203
From: Loganville, GA
Default

I have a MSpnpPRO so I don't believe I have a heck of a lot of space available to me. Maybe I will order one and bring it to Fry's and see if they have a box on the shelf sitting around that will fit.

I already have the Trackspeed Engineering MSLabs CAN wideband controller sitting in a drawer ready to be installed. Should I just skip the MSLabs box and install a TinyIOx or does the MSLabs do something that the MSLabs box doesn't?

I realize you might not be able to compare, but if anyone knows I would like to know. Ideally I would like to add some more analog sensor inputs so the tinyIOx would be a nice addition.
Old 05-26-2016 | 06:49 PM
  #18  
aidandj's Avatar
Thread Starter
SADFab Destructive Testing Engineer
iTrader: (5)
 
Joined: Apr 2014
Posts: 18,642
Total Cats: 1,866
From: Beaverton, USA
Default

If your CAN wideband has the OBD2 connector the tinyIOx cant do that. Also the CAN Wideband can do AEM serial apparently, and the tinyIOx cant.
Old 05-26-2016 | 11:45 PM
  #19  
Barton's Avatar
Junior Member
 
Joined: Jun 2015
Posts: 182
Total Cats: 58
From: VIC, Australia
Default

Just thought I'd add some more info on how to use the output ports. This is for ms2, however it should be similar for ms3x but it's highly unlikely that you'd need the extra outputs.

Port polling needs to be enabled on megasquirt with the following settings:


Next the ports need to be setup on the TinyIOx and linked with the outputs PTE2 or PTE3:


Then you can choose the parameters that turn on/off the remote port:
(this one is set up to active VICS)




.
Attached Thumbnails How to use the TinyIOx-xnzj2fs.png   How to use the TinyIOx-5jhoojn.png   How to use the TinyIOx-k3soebp.png  
Old 05-27-2016 | 03:13 AM
  #20  
creon's Avatar
Newb
 
Joined: Dec 2014
Posts: 30
Total Cats: 0
Default

I have a diypnp running full sequentially (fuel and spark)
planning for turbo, i don't have spare output for boostcontroll
and like to add 4 egt sensors (max6675)
like to know if it is possible before i order

else i have to find out if teensy can do it



All times are GMT -4. The time now is 04:16 AM.