Skip to main content

Posts

Showing posts from 2016

Recovering data from broken screen Android phone - alternative

I was tasked with the issue of getting contact data from a broken Android phone (in this case Xiaocai X9). The touchscreen was functioning erratically, the display was blank, adb/developer debug was not enabled. I've tried for some time to enable debug by dragging randomly on the screen, making a screenshot (hold down volume key + power) and trying again but gave up after an hour or so. So: broken touch , broken LCD , no adb .

Designing a better diesel tuning box - part 4 - improved design results

If you are following the project you might've seen that the new source code for the firmware and (Android) client application are up: Arduino firmware:  https://github.com/ligius-/DieselTuningBox Mobile UI:  https://github.com/ligius-/DieselBoosterClient With that out of the way, I've had about a month of testing with the new prototype and several months already with the old one. The definitive result is that there are significant fuel savings. Outside city limits I now get better than 6L/100km, at highway speeds (130 km/h) better than 6.5/%. I believe the highway consumption can be further improved but I haven't used the car so much lately to be able to fine-tune the settings. Previously I would get 7.6L/100km at best on country/county roads and 7.4/% on highways. So that would be a 12% mileage increase on highways and 21% on slower roads. Inside the city is where the story changes since that's where I did most of my driving and had time to tune the pa

Cost analysis of a Lexmark inkjet printer

Six years ago I bought a Lexmark Pro205 all-in-one printer, one of the few affordable ones that had WiFi. This has proven a disastrous investment, so let's go quickly through the numbers: purchasing price (10 Mar 2011): 140 EUR black cartridge replacement (21 May 2012): 12E full ink refill set (21 Dec 2013): 18E full cartridge replacement (25 Mar 2014): 13E full cartridge replacement (12 Mar 2015): 12E In total 195E , there might be other expenses as well. Electricity costs are not included and the printer is not very economical in standby. Printed pages - as per printer counter - 691. I would estimate the total number of usable pages to be ~200 , out of which ~15 were full-color photos. This is because most of the pages from beyond number 80 had streaks and the printer required at least 50 deep cleaning cycles. About one page in five is usable , but certainly not great. So running costs until now are 1 EUR / page . That's definitely the most expensive prin

HackerX Frankfurt experience

This a departure from my normal subjects, but I don't have a blog dedicated to my software work. I have recently attended the first HackerX instance in Frankfurt. For those who don't know, it's like a speed-dating event where potential employees and potential employers are face-to-face for 5 minutes, then the candidates (employees) rotate over to the next company. Right off the bat I should mention that I did not receive my own invitation but I used one from a colleague. However the only difference is a missing email.

Blog updates July 2016

I was assuming that having some time off would allow me to update this blog more frequently but there is always something shinier. Diesel Tuning Box (for lack of a better name) I've tested extensively the latest iteration that does semi-automatic calibration and found no issues with the circuit itself. However there were many issues with the ghetto-style DB15 connector made using hot glue. Once I got the proper connector in it will stay in the car at all times. The issue was caused by raised temperatures under the hood deforming the hot glue and leaving just a tiny contact patch that allowed very little current to flow in. Anything over 20mA would break the contact yielding 'check engine' errors. If you are fast, the errors go away when restarting the engine. If you are slow (>2 minutes) you need to reset the error using an OBD2 diagnosis kit. I used a bluetooth OBD2 connector (~12$) with the Android app Torque, while driving . I'm testing these limits so you d

Designing a better diesel tuning box - part 3 - simplified design results

As I wrote in the previous article , the barebones design has been through some basic testing - 500km mixed environment driving - and has been mostly successful so far. I had a suspicion that the output impedance of the circuit must somehow match a known impedance, but was not sure which. The clue was that the RaceChip unit raised city consumption by 5-15% even though it had no effect during the bench testing. Here's a datasheet for a similar Bosch pressure sensor: http://rb-aa.bosch.com/boaasocs/index.jsp;jsessionid=A20738712FCFB9E51CA919DD7D2F9E91.sundoro2?ccat_id=275&prod_id=516 For testing they are using a pull-up resistor, so on the input side of the ADC the same circuit must be simulated in order to drive the sensor. I used a 10k resistor, but perhaps even the internal pull-up could work. At the DAC/PWM output I found out that a 1.5k resistor was too large and could not sink the ECU input line low enough. With a 10ohm resistor it seemed to work fine, perhaps 47oh

Designing a better diesel tuning box - part 2 - simplified design

There are many variables needed to get a reliable product, so while taking a break from the ISO automotive requirements I thought of playing with a barebones design - just an Arduino, an HC-05 module and perhaps a few passives. Concept - this is similar to what the boxes on the market do - read the value on ADC, output the modified value with PWM. I'm using an Arduino Nano for this, took about half a day including the 'preview' spreadsheet. Nano pinout: Vcc to sensor supply (5V), from ECU GND to sensor ground A0 the output from the sensor Pin 9 goes to ECU (former sensor data) TX goes to RX of HC05 RX goes to TX of HC05 Notes: A0 should probably be pulled up to Vcc through a 1k resistor, I haven't tested this yet. Perhaps the Arduino weak pull-up would work. Pin 9 (PWM output) should go through a resistor and capacitor connected to ground, 1k with 0.3u looks good in my tests. The first two pictures show the Android phone connected to th

Designing a better diesel tuning box - part 1 - I/O board

As seen from my previous post and the sources enumerated in it there are several competing designs on the market that basically achieve the same thing - apply a negative offset to the rail sensor voltage. Since none of them offer a desirable amount of control (for the price) I'm open sourcing an own design. Goals: full programmability - curves, upper and lower threshold limits telemetry reasonably fail-safe MCU agnostic - as far as possible preserve the original waveform signal easy to make - should not require exotic or expensive components The overall architecture is simple: read sensor data into the microcontroller, process the signal, send an analog (PWM) signal out. Disclaimer: this is probably not road-legal in many countries (missing certifications) and it might break the car subject. I am not responsible if anything bad happens, do it at your own risk. However, it's not all dark, as I've already written there should be no damage as the unit still

Racechip tuning box - part 2 - reverse engineering

See my first article for a short review and teardown: http://hackcorrelation.blogspot.de/2016/02/inside-stuff-racechip-car-tuning-thingie.html First off let me start by saying I consider this fair use, as the instructions and website do not explain what the settings do, how the unit actually functions and what effects it can have. The description below refers to a single-channel Diesel engine (single common rail). Settings First off, most of the users will just want the simple explanations, here's a graph that should be in the manual: The chart above shows 4 possible settings and their effects. The first rotary encoder controls how much 'extra power' is requested. See 9E vs. BE vs. 4E The second rotary encoder controls the RPM high range (endpoint). See BE vs B7. The encoders go from 8 (minimum) through 9, A, B, C, ..., F, 0, 1 ... 7 (maximum).

Ricoh GR sensor dust cleanup

I bought a cheaper-than-usual Ricoh / Pentax GR APS-C camera on ebay that had a few minor issues. One of the most visible ones was dust on the sensor, so I will show you two methods that I've used to clean it up - the hard way first , followed by the easy way . First, to get the position of the dust spots a shot was taken with F/16 against a white background. The exposure was manually set to be as high as possible (while still retaining information), pre-focus was set to the closest position (macro). The resulting image was then adjusted in Irfanview (Auto adjust colors) to get the highest contrast. F/16, 1/3s, MF to closest position Preparation You need a very clean room, no dust, have a dust spray available and preferably wear gloves to avoid getting fingerprints. All parts that cannot be cleaned after assembly (LCD cover backside, LCD, sensor) should be placed facing down on some lint-free material. While removing the screws take note of their length, color and

Odys Winpad V10

In search of a cheap and light notebook that I can use it for light tasks - such as Udacity courses and connecting lab equipment - I stumbled upon Odys Winpad V10 on offer at Amazon. While the Lenovo Miix 830 seemed like a good deal at the moment it suffers from poor battery life, limited USB connectivity while charging and lack of keyboard+touchpad. Most Bluetooth keyboard with trackpad on market now have issues and are overpriced, so the Odys seems like a good fit. This is a short review followed by a look inside the 'docking' unit. Initial impressions The unit is very heavy for its size, ~670g for the tablet and ~670g for the keyboard. The keyboard/touchpad base does not contain any other batteries or peripherals. Battery life is pretty good, I got >6h for light work and the battery bar estimated >14h while idle and connected to the HDMI output with the tablet screen off. The built-in touchpad is pretty bad - the bottom touch area is reserved by the left

Fail: controlling a buck converter with PWM

I wanted a second try on my bench power supply build, something that would allow me to programmatically control the output voltage via an 'Arduino'. The supply already has two buck converters inside the unit, both controlled by their feedback resistors, so it was only natural to try to create a programmable resistor. Resolution The feedback resistors are in the potentiometer with ranges a few kiloohms. Since I'd like the output voltage to vary within 0 and 30V with a 50mV precision the needed resolution is 30/0.05 = 600 steps. That means a way to vary the output with 10 bits (1024 steps). A cheap 8-bit DAC ( PCF8591 ) would provide a resolution of only ~120mV. We should not confuse resolution and precision, but I will break the rules for now. Why a DAC does not work Third, just a DAC is not sufficient as we need to have the feedback voltage adapt to the output voltage. We could feed the input through and ADC, sample it, calculate and output the correct DAC value

Inside stuff - Racechip car tuning thingie

I bought my unit half a year ago, so you can say I have plenty of experience using it. It functions as a man-in-the-middle between the ECU and the injectors. I believe it alters the injectors' on-time and perhaps even the timing with regard to the TDC. See also:  http://hackcorrelation.blogspot.de/2016/04/racechip-tuning-box-part-2-reverse.html Short review I wanted to lower the consumption of my 3L V6 diesel engine to slightly more frugal values, don't care as much about power. Sure, some extra low-end torque would be nice as I feel my particular car is lazy in shifting up. Well, to my surprise, the unit actually does something, so it's not just a random box a la OBD-tuners. By the way, you cannot tune an engine through OBD, the engine protocol is filtered out by a gateway. Just some diagnostics are allowed through. The highway mileage improved from 8L/100km (30 US MPG, 35 UK MPG) to less than 7L/100km. With the default settings (the unit can be adjusted) the l

Essential Android software for power users

Similar to my Windows tools post , this one focuses on tools that make life a lot easier - on Android - or help you pinpoint and troubleshoot problems. AdAway If you cannot live without an ad blocker, this is probably the best one to use. Requires the F-Droid store. Root Explorer Quite expensive at 4 USD but I think it's worth the money - if you have root that is. You can find files, pack/unpack archives, change permissions, move stuff around, handle multiple tabs and work with SMB and FTP shares, Google Drive, Dropbox. There might be some free alternatives (ES File Explorer, Root Browser) around but at that time (~2012) there weren't many tools like this.. Titanium Backup Another paid tool, even more expensive (6 USD, I might've paid less) but I've used it hundreds of times. It does require root as well. You can back up an almost complete state of your phone/tablet and restore it to another device. The backups can be shared between accounts, so you can

I2C, Energia, Stellaris Launchpad and HT21D

A friend asked me to help him connect the HT21D temperature and humidity sensor to a TI board. He's using the TM4C123 board while I'm using the older LM4F Launchpad. The first thing to know is that neither of the boards have pullups adequate for I2C. You need to add a 4.7k resistor from SDA to VCC and another one from SCK to VCC. I've tested it with 1k resistors and it works with those as well. The second thing is that the Stellaris boards have several I2C modules, so you need to select one. Even worse is the fact that the Energia library by default chooses the Boosterpack: if(i2cModule == NOT_ACTIVE) {   i2cModule = BOOST_PACK_WIRE; } So you first need to go into this folder "\hardware\lm4f\libraries\Adafruit_HTU21DF_Library-master\" and edit two files as explained below. Adafruit_HTU21DF.cpp From: boolean Adafruit_HTU21DF::begin(void) {   Wire. begin() ;   reset(); To: boolean Adafruit_HTU21DF::begin(int moduleNo) {   Wire. setModule(modu

Fixing an RF socket, coffee machines and other stuff

This is somewhere between a tutorial and a rant about the X2 self-healing capacitors. The above cap seems fine and measures within spec but the appliance it's set into does not function correctly. In this case it was an RF socket from Aldi operating on 433Mhz. The LED would turn on but the load wouldn't. There was only a small click from the relay. From a set of 4 pieces, 3 have failed in the same way. Sometimes, switching to a lighter (LED bulb) or heavier (washing machine) load would make the problem go away for a few weeks or even months. A [Philips] Senseo Coffee machine failed to turn on - the red light would turn on for less than a second and then switch itself off. A Philips drip coffee maker would turn on initially but turn itself off when starting to heat the water. The common issue in all these cases was the X2 cap, replacing it cured the problem. So if you have the above symptoms just try swapping the capacitor with a new one and see if it fixes the issue.

Modifying a dual USB charger socket

I bought a cheap pass-through socket with 2 USB ports from Pollin . The blue LED is too strong at night so I modified it, see below for the "before" and "after" pictures. Obviously, the unit is photographed with the mains socket missing, that's not how it actually ships. The charger is rated at 1A and in my experience is able to provide more than that. It's actually one of the few non-dedicated chargers in the house that is able charge the iPad without triggering a warning on the screen. Since it doesn't come [directly] from China it's likely built to a decent standard. By the way, the part number was "94-351077", but it's not on stock anymore.  The output is based on a THX202H SMPS regulator with decent specifications. The datasheet for that IC shows a reference circuit for a 5V/1A supply, which is what I guess they used here. The underside shows quite a bit of rework happening: it looks like most of the SMD parts

AEG MC 4455 repair and mod

I bought this unit as broken for what I thought it was a good price, ~10 EUR while the retail price is around 50 EUR. Since I usually buy stuff that's DOA (Dead on Arrival) the fix turns out to be most of the times a cold soldering joint or a blown capacitor. But first, in case you haven't bought one, here's a Quick review I'm surprised that in this day and age manufacturers still produce units without an auxiliary input, such as the one pictured below. It claims to have 10 Watt output (maximum), infrared remote, can play MP3s from a CD or USB stick and has a radio. Let's review all of that, again: The 10 Watt audio output is produced by a SJ2038 chip which can provided a maximum of 2x3.5W into 4 ohms at 5 volts with a THD of 10%. The speakers are 6 ohms which would mean probably around 2x2.8W output at 10% distortion. Probably less than 4W for decent listening. To be fair, for such a low power the speakers sound decent, much better than all of the c