We finally got all the details tested and issues worked out and our efiO2Meter App is in the Goooooogle Play-Store.
Of course you will need the efiO2Meter to read and analyze the Data, but for the interested one it shows the looks, feel and features available.
Feel free to load and install it on your favorite Android device, may it be a 4″ phone, a 7″ tablet or a larger 10″ tablet.
In case you discover some difficulties, please let us know about it so that we can improve the App and or efiO2Meter
thanks and cheers, the efiHacks engineering team
We are all very happy over the success with our Android App and will outline what Stage One means to us.
So let’s start with some humble specs.
1) Requires Android 4.1 (Jelly Bean) and on up, which is being around since July 2012 and shares a distribution of 37 % … current total Jelly Bean distribution (Dec 2013) is above 50 % and growing … not to count the new 4.4 KitKat … sorry we do not have any earlier devices available to test it with.
2) It runs on 4.7″ (HTC One), 7″ Nexus 2012, 10.1″ Samsung Galaxy 2012 Android Devices and is expected to also run on others with similar screen sizes (should be independent upon pixel densities).
3) Small current memory footprint of less than 2 Mb
4) It’s free … you need to buy the Instrument though to use it .
5) Extensive Main Screen Data with fast real time data update
6) 8 Channel real time data graph with 60 sec history data.
7) Transfer Functions and Configuration screens for all hardware functions (2 analog data outs, TPS, Ext, pulsed RPM inputs and more).
8) Data logging to SD memory for Log Data Analysis on Windows PC. not completely implemented at this time … but we are currently already storing Android binary log-data files at a rate of 50 kB / min … once we switch to true binary we will wind up with a data size of 3 x.
9) Extensive Diagnostic screen.
So it looks like Android SW is winding down … we still have an X/Y plot right now not showing on the 10.1″ Samsung Galaxy … did before we introduced the new scroll view required for the 4″ devices … also the swipe and scroll motion on the X/Y plot is beyond sluggish after the implementation of the scroll view … just a few more things we all hope
What’s planned for stage 2 is the replay of the data-log in Android … maybe the 2nd O2 sensor hardware module.
We have been continuously testing and driving with an installed module in our KIA for more than 3 weeks now and no flaws found … we did some firmware updates, other than this it works grrreat
Most of the engineering effort went into the Android App and preparing for product mass production made in USA (Fremont, CA)
We consider this goooood news
And this is the link to the good news download of the current state of our efiO2Meter App.
efiO2Meter Android App Test Download … as a demo sample only
Cheers, the efiHacks engineering team
Well … we did it … finally installed in our KIA test vehicle and it worked beautifully :
we’re very excited and now we need to fix the real time graph.
It was really interesting to see how the electrical sensor heating changed once we put the pedal to the metal … more to come as soon as the real time graph works.
also it was very interesting to observe the sensor pwm heater power under different conditions … and the sensor was mounted at the nbO2 location, with the nbO2 relocated to be closer to the engine (no room otherwise)
* in the lab with 12 V supply … about 50 % duty cycle.
* driving a relaxed 40 – 50 mph … about 35 % duty cycle.
* at 65 mph mid 20 % duty cycle
* cruising at 80 miles plus it was mid to high 10 % duty cycle (sorry couldn’t go faster, the CHP would not like it and i don’t like to loose my drivers license )
* result : if the poor little 16 valve KIA (wolf in sheep-skin) would have been floored for a while, maybe the exhaust heat could have got the sensor heater control to loose it’s lock on the high temp side … no biggie, the readings would be slightly off … it would lock immediately once within the locking range again)
* note : the PID params need to be trimmed a bit to get a better tracking … well time will come, we’re running as fast as we can. the whole project is only 6 month old
news again :
and finally it works and we have been driving our KIA now for several days with a flawless functioning Lambda Hardware and Firmware.
Sorry, but we didn’t have time to hookup the TPS sensor or the Crank-Shaft sensor for RPM measurements. All of these functionalities have been thoroughly tested in the lab with calibrated reference voltages and pulse times … so no need to stress or rush … the LSU 4.9 and CJ125 functionality here is the major point of interest.
Below is now or very 1st Lambda Signal Propagation Time Evaluation :
Measurement environment :
* lambda graph limits 1.200 and 0.700.
* since we are still doing all of our binary packetized serial communication in debug mode (2 hex digits and a space) our data debug throughput is 1/3 of the real speed achievable in binary mode.
we have data packets arriving at 50 msec and every 2nd one contains lambda data. this is the reason for the 50 msec horizontal portions of the graph (needs an easy android data parse fix and has been done, but we don’t have the time to photoshop each fix, sorry)
* for the data generation we took 2 samples of absolutely flooring the pedal at idle and immediately releasing it … result is a slightly mixture leaning through the immediate massive air increase, followed by an immediate enrichment through additional longer fuel injection pulses caused by the sensed rapid throttle opening.
* one part of the leaning slope showed a 0.26 lambda drop (huge) over 50 msec … what this means is that the LSU 4.9 signal propagation time through the CJ125 and the analog sensing, conversion time including communicating the data change happened within a 50 msec period. This 1st test provided a satisfactory result for our hardware / firmware design. we believe that we will be able to provide even a faster signal throughput once we enable the real binary data transfer.
more to come
As the Android Application Development of our efiO2Meter progresses, we got to a state where we can show a few screens and provide an app download for the interested. As we stated … development means work in progress and NOT done yet.
Three screens (Android Lingo : Activities) have been done and lots of the underlying control code.
The Advanced (fourth screen) provides the display of all variables and be aware it’s a 1st hack to see what works and what needs to be fixed. Some config array variables have index mismatches, but are not important at this stage … the data arrives and we will sort those mix-ups out, when time comes.
The graph needs a lot of TLC and configuration.
Some command automation has been implemented, but the command line entry works
The buttons need to move to the menu bar and we need to figure out on how to do this properly and without a hack job
Basically, all we want to provide is a 1st glimpse into the Android Apps Activities (this time our activities)
Also note that it only scales properly on 7 inch devices and larger for now … we will expand it as soon as we get to it …
Here it comes …
This provides all data necessary to read the Air Fuel Ratio and Lambda Data. Furthermore it displays information about the Sensor Heater Control and Error Flags.
The graph (not finished at this time) will show various pre-selectable data at real-time.
Screen-shot on a Nexus 7 :
Data : could be in any of Lambda, O2 %, AFR Gasoline, E85 … Diesel, Custom units.
Lambda : as the name says, the lambda value.
RPM, TPS, Ext, Accel : Pulse and Analog Signal Input Data.
More : being explained in the section below.
Shows Variables necessary to verify the proper operation of the Sensor as well as the Cj125 Sensor Signals pre-processing Chip. We understand that this might not be of interest to the average user, but might be of importance to OEM customers, etc to get a better picture about the data integrity of this instrument.
Screen-shot on a Nexus 7 :
Lambda : as the name says, the lambda value.
Current : the current across the CJ125 based 61.9 Ohm current measurement resistor in mA.
Power : Sensor Heater PWM On Time from 0 to 999, indicates indirectly the heating of the sensor through exhaust gas. The smaller the number the more heating from exhaust gas.
Important once it reaches very small numbers since it will be close to falling out of the PID Control Loop due to exceeding the operating temperature by exhaust gas.
Ri delta, PID err : Sensor Resistance Delta indicates the deviation from the resistor reference value to the measured Sensor resistance, unit less raw data, the smaller the better.
PID err is the current deviations (the same data) but sampled in the PID Control Loop.
PID P-term : current proportional control value.
PID I-term : current integral control value.
Mode : possible states are nop (no operation, standby), warm-up, heating, loop control.
V-UR Cali, V-UR : Cj125 UR signal with Cj125 RA control bit set / cleared.
V-UA Cali, V-UA : Cj125 UA signal with Cj125 LA control bit set / cleared. 2 Cali readings for VL control bit setting of amp gain 8 or 17.
Error Flags : hex values represent various heater control loop . CJ125 firmware control . CJ125 Chip error conditions in bit form.
The following link is frequently updated to reflect the design progress of our Android App,as long as we do not write a new post. Also please keep in mind that the App is currently only configured for 7″ and up display size devices.
efiO2Meter Android App Test Download … for limited testing only
We are currently working on the Pwm Output and Analog Inputs Transfer-Functions Configuration Screen … the looks and most functionality is in place, but i estimate that it will still take about a week to get all details.
Another Screen-shot on a Nexus 7 :
we will provide a functional description once we finish it … sorry …
and one more for the road
most of the functionality is in place for now and it needs a bit more testing.
again docs will have to wait until development finished …
Well … finally we have our 1st 2 WideBand efiO2Meter production test boards running.
So far no trace-cuts and wire-jumpers anymore … the pre-production boards had a couple … a 5V supply to the CJ125 carried by mistake 12V, but the CJ125 survived and we forgot the 1.5 k USB connect resistor.
USB firmware update takes about 30 secs … changing a boot-jumper, connect the USB cable to the board and the PC … the PC see’s the device as an additional drive … delete the firmware file on the device … drop the new firmware file onto it … 10 secs wait … disconnect … reset boot jumper and that’s it.
After calibrating the 3.3V supply voltage and calibrating the 2 PWM out voltages everything seems to be within 0.5 % of full scale.
We still need to trim the PID constants, but this usually takes a lot of trial / error time, so later.
All tests, and we have a lot, have been successful, the hardware is stable and reliable, the firmware mostly done … there could be some bugs hidden in the different unit scaling options like O2 %, Gasoline, E85, E100, Methanol … etc, but this testing takes forever and would need to be repeated on almost every firmware change … we had a lot of them to get all features into the firmware the way we wanted to
The double sensor (2 sensing channels) firmware support was quite an effort as well, even it’s not needed at the moment, but it’s better to do it all from the beginning, rather then to start ripping all apart later to get it working. This would be just a mess and we like clean designs, even it takes a bit longer.
Being 30 plus years now in the Silicon Valley, yes the one with the electronic chips, not the other silicon, we have seen a lot of places and heard the same story over and over again. “We can’t afford it now, there is no time” but there is always a multitude of time spent later on, when it’s still not convenient, to fix everything left out or neglected issues at the beginning. Besides this, the whole firmware seems to be a patchwork rather a from ground up modular design. We are no patchwork artists, we are engineers. Enough said
And here come the pics :
well … finally we have to come out of the closet … yes we have a wide band air fuel meter and it’s based upon the Bosch CJ125 integrated wbo2 sensor interface / controller chip.
we held back with the news until about all of the design and logic steps have been completed and tested, which is now.
back in the early 2000s we had an analog based design with op-amps and it was working fine but the complexity and price thereof, made us to decide we’re gonna put it on the shelf.
we did our own design again, based upon a 32-bit Arm-Cortex at 72 MHz CPU and this time with the main stream CJ125 chip from Bosch.
we added our bluetooth interface circuitry and are busy busy busy with the bt-apps for it now as well. the newly designed development boards seem to work satisfactorily and 1st production type sample boards will arrive on friday 30th august … parts have been on order and assembly should be early next week.
once these production type samples are tested we should start boards within 4 weeks and a couple of weeks later they should be ready to the e-market place.
so by end of september it’s wireless O2 sensing time with and android app running on your cell phone or tablet to display the exhaust O2 air fuel ratio readings and log them in your android devices based memory.
the enclosure will be the same as for the efiMini aka efiInterceptor.. it will even work within the extruded aluminum housing provided that the cover on the antenna based side is plastic … we have already tested it.
you should be able to sit on your bike or stand next to it, perhaps on the dyno or wherever and watch the O2 air fuel ratio readings on your cell phone or tablet.
while this might not be so exciting, the fact that you can log all this realtime data now in your cell phone with almost endless memory available seems more exciting even while you ride. we shoud be able to also log any available GPS data along with the O2 readings.
what get’s more exciting is that the same technology will be available for the efiInterceptor and this now makes really sense … it will take a while.
same things apply to the car as well, but u might need to run a comm wire to behind the dash or at least outside the engine compartment. we haven’t done tests yet.
well, as always, cheers, the efiHacks engineering team
well … bluetooth … here we go again …
the bluetooth serial data module BC04 with the linvor V1.8 firmware saga ain’t over yet
we’re confident that the other modules have similar hiccups, but can’t prove it right now, cause our ElectroDragon order hasn’t arrived yet … at least usps acknowledges that the honkongpost has posted a “Processed Through Sort Facility” 10 days after “Origin Post is Preparing Shipment” … what can we say … the best is nothing
as of now we’re still having 3 bluetooth serial port issues
1) android seems unable to identify the bt module’s serial port service needs … no profile is being displayed once the unit is paired … we’ll get to this in the next few days
2) win xp32 sp3 with the miscrosoft bluetooth stack and a csr based usb to serial bluetooth adapter shows now an erroneous generic bluetooth radio in the task manager … used to work
and the microsoft bluetooth enumerator does not get loaded because of it … we’ll get to it … multitasking causes too much context switch time
3) some more insight has been found with erroneous bt serial apps on win7 with built in hp bt radio.
please continue to read since everything is not as easy as it sounds and this article explains in details on how to do it and more important, what’s not working right now
we would like to announce a new and interesting article about binary data, the advantages of binary vs ascii, binary data packaging techniques and important thoughts about interrupted binary data transfer over bluetooth.
if you’re the techie geek … this’s for you and like minded …
this might be of your interest as well Using Bluetooth Serial Ports Experiences Part 1
along with it’s followup Using Bluetooth Serial Ports Experiences Part 2
and more to come Using Bluetooth Serial Ports Experiences Part 3
never ending Using Bluetooth Serial Port Experiences Part 4
please enjoy … the efiHacks engineering team
… yes, yes, we’re aware that lots is still missing and a bit in disarray …
we are working on it with special focus on the shopping cart system.
sometimes we have the chance of website or product development and getting the production line rolling … it’s hard to favor one over the other.
yes, we know that the site is not too search engine optimized … we have to, cause we do not want to miss you and vou and … and you too, cause you all didn’t find us
sorry, we’re working on it, but the quality and performance of the products have a higher priority to us.
thanks for the understanding, the efiHacks engineering team
… unfortunately as we said earlier … not so fast lad …
we have tested the boards with the new layout which will fit the plastic as well as the extruded metal enclosure … but there is a but … we need more bluetooth evaluation, since the bluetooth connection will require the combining and relocation of the bluetooth serial and the flash program download connectors … no big effort to make the connector change, but we don’t want to order hundreds of boards without a bluetooth connectivity option.
we will keep anyone interested in trying and buying our products informed about our progress. please don’t hesitate to use our email to let us know about your specific interest.
basically almost every board we show on our website is or will be available for sale … maybe not right away, but as soon as we get it through the production process.
thanks for your patience, the efiHacks team