TinyIOx
TinyIOx
I have a new board that called the TinyIOx. It based on the smallest package from the CPU family used by the IOx (I/O Extender). So it has a small subset of the IOx: 9 ADCs, 6 timer channels, CAN, 1 RS-232 port, 1 I2C bus and 2 spare digital I/Os. The RS-232 is connected to a 2.5mm jack for connecting to an LC1 chain. I communicates with an MS2 or MS3 through the CAN port.
So if you want to get the digital data from an LC1 or a chain of up to 16 of them, you can simply connect it to the CAN bus of your MS2 or MS3, power it from the 5V supply of your MS board and plug the LC1 chain to the 2.5mm stereo jack using the standard Innovate wire. This is what it looks like:
The board is again 5cm x 5cm and the CPU side is just a bit wider than the proto area side. And if the proto area is not needed, it can be snapped off since the board is scored for this. But with the proto area, you can add ADC circuits, an optp-coupler for a Hall sensor, an LM1815 for a VR sensor, a small NPN transistors with resistors for a digital output, ...
I still need to do some tests on the firmware but since it is based on the existing IOx, it should be mainly going through all the features. The pricing is yet to be finalized but should be the same as the IOx-OEM which is $75.
Jean
p.s.: This is also posted on the msextra forum: http://www.msextra.com/forums/viewtopic ... 67&t=44280
So if you want to get the digital data from an LC1 or a chain of up to 16 of them, you can simply connect it to the CAN bus of your MS2 or MS3, power it from the 5V supply of your MS board and plug the LC1 chain to the 2.5mm stereo jack using the standard Innovate wire. This is what it looks like:
The board is again 5cm x 5cm and the CPU side is just a bit wider than the proto area side. And if the proto area is not needed, it can be snapped off since the board is scored for this. But with the proto area, you can add ADC circuits, an optp-coupler for a Hall sensor, an LM1815 for a VR sensor, a small NPN transistors with resistors for a digital output, ...
I still need to do some tests on the firmware but since it is based on the existing IOx, it should be mainly going through all the features. The pricing is yet to be finalized but should be the same as the IOx-OEM which is $75.
Jean
p.s.: This is also posted on the msextra forum: http://www.msextra.com/forums/viewtopic ... 67&t=44280
Re: TinyIOx
I would love to purchase when available. I have always strongly disliked the a/d conversion, but with MS3 can't really justify the entire IOx (as I don't use all my I/o already).
Re: TinyIOx
Wes,
I have checked what I wanted to check and it is working as expected so the board is now available. And the cost is $75 plus shipping (same as the IOx-OEM). Contact me about buying one.
Jean
I have checked what I wanted to check and it is working as expected so the board is now available. And the cost is $75 plus shipping (same as the IOx-OEM). Contact me about buying one.
Jean
Re: TinyIOx
That would help, wouldn't it. Here it is:

Note that Vref is connected to 5V by default. If you want to provide a separate Vref, you need to remove a solder jumper and connect Vref. However, make sure that you have a Vref connected if you remove the jumper.
Also, the ini is attached below.
Jean
EDIT: Updated ini file: http://jbperf.com/io_extender/firmware/ ... inyIOx.ini

Note that Vref is connected to 5V by default. If you want to provide a separate Vref, you need to remove a solder jumper and connect Vref. However, make sure that you have a Vref connected if you remove the jumper.
Also, the ini is attached below.
Jean
EDIT: Updated ini file: http://jbperf.com/io_extender/firmware/ ... inyIOx.ini
Re: TinyIOx
Hi, Jean.
Please confirm the width and screw footprint of the processer side.
Can the timer channels or ADCs be used as digital I/Os? I've actually blanked on what the timer channels are normally used for ...
Oh! - Where are the CAN pins, relative to the main header strip?
Please confirm the width and screw footprint of the processer side.
Can the timer channels or ADCs be used as digital I/Os? I've actually blanked on what the timer channels are normally used for ...

Oh! - Where are the CAN pins, relative to the main header strip?
Re: TinyIOx
Don,
Using the lower left corner as pictured above as (0,0), the mounting holes are located at: (125,125), (125,1100), (125,1850), (1850,125), (1850,1100), (1850,1850). The split line between the 2 sides is at 950. JP1's lower left pad is at (450,1050), the CANL pad is at (1350,1750) and the top row on the proto area is at 850. Of course, all those measurements are in mils. And the board is 5cm X 5cm (yes I know, the units are not consistent).
And all the ports can be used as digital I/Os with the exception of the timer 1 channels which are used exclusively as PWM inputs. The timers channels can be used for either PWM outputs or for pulse signal (PWM) inputs such as speed sensors.
Jean
Using the lower left corner as pictured above as (0,0), the mounting holes are located at: (125,125), (125,1100), (125,1850), (1850,125), (1850,1100), (1850,1850). The split line between the 2 sides is at 950. JP1's lower left pad is at (450,1050), the CANL pad is at (1350,1750) and the top row on the proto area is at 850. Of course, all those measurements are in mils. And the board is 5cm X 5cm (yes I know, the units are not consistent).
And all the ports can be used as digital I/Os with the exception of the timer 1 channels which are used exclusively as PWM inputs. The timers channels can be used for either PWM outputs or for pulse signal (PWM) inputs such as speed sensors.
Jean
Re: TinyIOx
I am interested in using the TinyIOx between my LC1 and MS3. The signals seem straightforward enough, but how do I tell TunerStudio that my WB is now digidata coming in on the CAN bus. not analog on MS3 pin 23?
Jeff
Jeff
Re: TinyIOx
In the 'CAN bus / Testmodes' menu, you have the option 'CAN VSS, gear'. At the bottom of that window, you simply enable the fetch Innovate data option. For the TinyIOx, the correct CANId is 4 and the offset is 76. Then you need to select 'CAN EGO' for the EGO channel in the AFR / EGO control settings.
Jean
EDIT: corrected the offset
Jean
EDIT: corrected the offset
Re: TinyIOx
Remember, this is "Be kind to n00bs month"! 
So, I'm assuming the ini file tells TunderStudio how to deal with TinyIOx, but how do I tell TS about the ini file?
I'm planning to replace my analog LC1 output to the MS3 with serial data this weekend.
Jeff

So, I'm assuming the ini file tells TunderStudio how to deal with TinyIOx, but how do I tell TS about the ini file?
I'm planning to replace my analog LC1 output to the MS3 with serial data this weekend.
Jeff
Re: TinyIOx
Jeff,
There are a couple of ways to do this. First you can create a new project and point TS to the ini file by clicking on the 'Other' box and the 'Browse' button. Then select the COM port that you're using for your MS3 and TS will talk to the TinyIOx through the MS3. Of course, that assumes you have the TinyIOx CAN bus connected to the MS3 CAN bus.
The second method is to create a CAN device in your MS3 project. In the project properties, go to the CAN tab and click on the '+' to create a new device. Give the name you want, set the CAN ID to 4 and click on the '...' button to point TS to the ini file. You also want to tick the 'Disable Runtime Data' box. This will add the TinyIOx menus to your project.
Having said that, you may not need to tell TS about the TinyIOx if you only want to use it to get the LC1 data. The default configuration has this option already configured on the TinyIOx. You only need to configure it if you want other features. However, you will need to configure your MS3 to use the data. In the CAN menu, you need to go to the 'CAN VSS,gear' item which will open the 'CAN VSS & RTC & EGO Parameters' window (there is some inconsistency in the naming). Enable the 'Fetch Innovate EGO data' and change the default settings to CAN Id 4, table 7, offset 76. In the AFR/EGO Control settings, you will need to select CAN EGO as the EGO port.
Jean
EDIT: Corrected the offset
There are a couple of ways to do this. First you can create a new project and point TS to the ini file by clicking on the 'Other' box and the 'Browse' button. Then select the COM port that you're using for your MS3 and TS will talk to the TinyIOx through the MS3. Of course, that assumes you have the TinyIOx CAN bus connected to the MS3 CAN bus.
The second method is to create a CAN device in your MS3 project. In the project properties, go to the CAN tab and click on the '+' to create a new device. Give the name you want, set the CAN ID to 4 and click on the '...' button to point TS to the ini file. You also want to tick the 'Disable Runtime Data' box. This will add the TinyIOx menus to your project.
Having said that, you may not need to tell TS about the TinyIOx if you only want to use it to get the LC1 data. The default configuration has this option already configured on the TinyIOx. You only need to configure it if you want other features. However, you will need to configure your MS3 to use the data. In the CAN menu, you need to go to the 'CAN VSS,gear' item which will open the 'CAN VSS & RTC & EGO Parameters' window (there is some inconsistency in the naming). Enable the 'Fetch Innovate EGO data' and change the default settings to CAN Id 4, table 7, offset 76. In the AFR/EGO Control settings, you will need to select CAN EGO as the EGO port.
Jean
EDIT: Corrected the offset
Re: TinyIOx
Thanks, that is very clear! For the near term I'm only going to use it for the LC1, but longer term I plan to add an LM1815 to the proto area.
Jeff
Jeff
Re: TinyIOx
Jeff,
I made a couple of mistakes in the previous message. The CAN ID to use with the TinyIOx is 4 and not 5 and the offset for the AFR data is 76 not 153. I'm too used to working with the IOx. I've corrected the previous message. And I should have read my message from June
Jean
EDIT: Corrected the offset
I made a couple of mistakes in the previous message. The CAN ID to use with the TinyIOx is 4 and not 5 and the offset for the AFR data is 76 not 153. I'm too used to working with the IOx. I've corrected the previous message. And I should have read my message from June

Jean
EDIT: Corrected the offset
Re: TinyIOx
After some troubleshooting (e.g. discovering that my purchased-assembled MS3 did not have CAN jumpers in place), I have successful comms between MS3 and TinyIOx. The TinyIOx menus show up in TunerStudio. But my TS AFR gauge reads a flat 14.60. Before I dig into my LC1 wiring, can somebody tell me if I need to change any settings (to switch from analog EGO to TinyIOx CAN-EGO) beyond this one:

Do I need to update the firmware (beyond what was shipped on my board? If so, how is that done? My only CAN-aware device is the MS3. I have the latest zip file.
Jeff

Do I need to update the firmware (beyond what was shipped on my board? If so, how is that done? My only CAN-aware device is the MS3. I have the latest zip file.
Jeff
Re: TinyIOx
You also need to set what is at the bottom of this (note that the CAN id and offset are different from the default values):
This is under the CAN bus menu. Please note that if you're not running 1.1.2 on your MS3, the menu item and the window don't have the indication for EGO but it is still there.
Jean
This is under the CAN bus menu. Please note that if you're not running 1.1.2 on your MS3, the menu item and the window don't have the indication for EGO but it is still there.
Jean
Re: TinyIOx
I think I'm getting closer! My TS AFR gauge is still motionless, but now it's locked at 8.00, which is what I told TinyIOx to use in case of trouble. Here is the way I'm configured today:



The LC-1 Serial input has the terminator plug per the LC-1 user manual. I haven't found any documentation of the LC-1 data rate.
Do you see any issues with my settings? I'm going to buzz out my serial extension cable, but it's new so I doubt that is my problem.
Edit: BTW, the AFR gauge on my dash is working fine, so the LC-1 is alive. The displayed numbers correlate pretty well with the way the engine is running (and the way the exhaust smells!)
Jeff



The LC-1 Serial input has the terminator plug per the LC-1 user manual. I haven't found any documentation of the LC-1 data rate.
Do you see any issues with my settings? I'm going to buzz out my serial extension cable, but it's new so I doubt that is my problem.
Edit: BTW, the AFR gauge on my dash is working fine, so the LC-1 is alive. The displayed numbers correlate pretty well with the way the engine is running (and the way the exhaust smells!)
Jeff
Re: TinyIOx
Jeff,
I don't know if you've seen this message: http://forum.jbperf.com/viewtopic.php?f=9&t=1102. If not, please use the ini linked in that post because there was an error in the original ini file. And that would affect the AFR reading.
So if you were using the original ini for your project change it to the one in the link.
Also, you can enable the runtime data temporarily and check to see what the TinyIOx gauges show. The settings you have should work to read the LC1 data and to get the data to the MS3 as long as you use the corrected ini.
Jean
I don't know if you've seen this message: http://forum.jbperf.com/viewtopic.php?f=9&t=1102. If not, please use the ini linked in that post because there was an error in the original ini file. And that would affect the AFR reading.
So if you were using the original ini for your project change it to the one in the link.
Also, you can enable the runtime data temporarily and check to see what the TinyIOx gauges show. The settings you have should work to read the LC1 data and to get the data to the MS3 as long as you use the corrected ini.
Jean
Re: TinyIOx
I've been using the ini from the zip you posted. Tiny is reporting a constant 8.00 AFR, which is what I told it to report in case of trouble. Interestingly, my TS AFR gauge was back to a constant 7.80. As noted above, the Innovate analog gauge on my dash is reporting plausible AFR numbers.
Tomorrow I'll connect the LC-1 to my pc to make sure the serial port and cable are working.

Jeff
Tomorrow I'll connect the LC-1 to my pc to make sure the serial port and cable are working.

Jeff