Tuesday 25 November 2014

TOYOBD1 Android Datalogger :: Exporting data out of TOYOBD1

With TOYOBD1 it is possible to export data out of your Android phone.

Why for?

  • to import in a spreadsheet program for custom calculations.
  • to import back in another Android cell phone, say a friends phone for playback.
  • to share TOYOBD1 data with a CarTester8000 users.
  • to build an approximation of Ignition and Fuel maps from past recorded data.
  • to have a backup files.

 First of all lets understand how the TOYOBD1 data is kept inside your Android phone.

TOYOBD1 uses an SQL database to store every log entry that was received from your OBD1READ device. It allows to record huge amount of data and makes it easy to precisely extract only what is meaningfull in specific conditions.

The design of the database makes it possible to keep log entries recorded with your phone and from someone else's phone without conflict and duplicate data. it also makes it possible to extract only specific data between a start date and end date.

Let's Export something  now!

Prior to exporting, a field need to be inputed in the Engine Configuration Dialog.
it is the 'Your car's description' field. You want this to be human readable for the people to whom you would send your log file for import.

for instance here are suggestions:
John Doe 4A-GE AE101
ZF 1UZ-FE SC400

when exporting data you will need to choose what kind of file you want to generate.
  • CSV file for spreadsheet applications and TOYOBD1 import feature
  • CTR file for use with CarTester8000 PC application
  • CSV spreadsheet ignition map file 
  • CSV spreadsheet fuel map file
  • CSV spreadsheet both ignition and fuel map file
Next is the file name.By default a unique time based filename is suggested, change as needed.

The suggestd start date is by default a week ago, change as needed.
The suggested end date is by default today, change as needed.
The source, this is where you choose a car's description from the existing description
The ecu ID, you must remember what was your ecu ID number and choose it now.

when everything is choosen you simply press the 'Export Data' button.
processing time will vary depending on how much data is found for the search criterias you selected.
(this process can take minutes to complete if you export more than a month of data)


Saturday 22 November 2014

Dirt cheap portable MAF sensing

A while ago I realized that a portable MAF sensor would be nice to have. That sensor can be useful to sense engine health or how well it can perform. The idea came to use a junkyard OBDII ECU who came equipped with a MAF sensor.


 An OBDII ECU?

Here are some advantages to go down this route
  • to get quantified readings from the sensors,no need to discover the OBDII sensors curves. You simply request a particular sensor reading. for instance what interest us today is the MAF sensor reading which returns a g/s flow rate.
  • It is easy to interface an OBDII ECU to a PC or cellphone.
  • It is easy to find a suitable ECU + matching MAF sensor in a junkyard for cheap
  • There is many software options to interface to OBDII ECUs.

As I am a Toyota fan I looked toward the Toyota 3.0L V6 ECU using MAF sensors, what was available in junkyards at that time was the 1995 Camry 1MZ-FE ecu, that MAF sensor can be installed inline which helps when installing, that particular MAF sensor should be able to read engine air flow from comparable power levels engine which is sufficient this time.

How do we get this brillant concept to life now?

I choose to use the OBDII ECU as a portable unit, lying on the car floor, running a long cable to the MAF on the engine, getting power through the cigarette lighter port.


You need to build a minimalist wiring harness for this ECU to work on your car. Remember that you want just 3 things, the OBDII ECU, it`s MAF, and an OBDII connector, it really is not that hard to do, something like 10 wires.

After you made sure your ECU is powered correctly and all needed wires are going to their rightful places it is time to get some data out of that setup. The good old ELM327 comes handy for this, you can buy BT OBD2 adapters, USB obd2 adapters, probably even RS232 obd2 adapters, there is also many software out there to read data from an OBD2 ECU that can be used to glance at the data.

What to do with it then?

What I want to do with my MAF sensor is to plot unknown flow curve of various VAF sensor from non OBDII engine, comparing readings from the OBD2 ECU through time vs those of the unit tested.

(Take note to never install a MAF behind something that could make turbulence such as a VAF, you will get erratic readings... MAF in front of VAF gives good results!, take also note that this is a temporary test setup  )

And now the resulting flow curve for the VAF sensor

Monday 20 October 2014

TOYOBD1 Android datalogger :: Connecting OBD1READ

First of all I suggest that you do the device recognition and pairing not in TOYOBD1 but in your phone`s Operating system BT configuration screen. 

As soon as this is solved, start TOYOBD1 and go in the 'configure Bluetooth com' dialog to choose a Bluetooth device that will be saved in the application preferences

 Select the device of your choice and go back to the main dialog, that device will be saved in the application preferences now.


After you have chosen your OBD1READ device you can now connect to it in the main menu using  'Start/Stop Logging' and enjoy your car's data stream!

TOYOBD1 Android Datalogger :: Correct speedometer error due to wheel size

Sometimes in life you get to wear shoes that are too big or too small, it happens to cars too,sometimes by choice, sometime out of necessity...


In TOYOBD1 you can configure the application to take into account an 'incorrect' wheel size.
doing so will make sure the MPG calculator and speedometer input is accurate.

the Speedometer correction factor can be adjusted in the 'Configure Displayed fields' dialog.
the value must be a positive value greater than 0.0
correct wheel size value for your ecu would be 1.0


 Here`s a good example, my own car! wheel size is way off from what the ecu is expecting.
AE102 corolla, 3VZ-FE V6 and MT Camry transaxle, ae102 wheels

this car needs a 0.85 wheel size ratio to get correct speed and MPG figures in TOYOBD1.
Fact is, the corolla wheel size is in the 185/65/14 range but the native CAMRY wheel size is in the 205/65/15 range.

To find out what is the correct wheel size ratio I use a GPS device to find out constant speed at around 100kmh / 60 mph and adjust the ratio as needed in TOYOBD1 to see the results. (Please don't endanger yourself doing everything alone, ask a friend) When you have found the correct ratio try it at various constant speeds to make sure it still fits with GPS readings.

Monday 13 October 2014

TOYOBD1 Android Datalogger :: Custom Configuration of an engine

  ...Sometimes it may be necessary to make a custom engine configuration...

-You found a new supported engine!( contact me so the known list grows)
-You changed the injector size on your engine and want the MPG calculations to reflect those changes.

Heres the customizable fields and what they mean.

**********************************************************************************

'Engine preset configurations' 

this is a list of engines known to work and that have built-in  configurations, you choose one similar to yours and then modify other fields as needed.

**********************************************************************************

'metering system' 

this is what the ECU uses to measure the air flow in the engine. 
Here is how to know what to choose

VAF sensor ( V.ane A.ir F.low )

Not all VAF engines uses the same sensor curve AND housing size, but they all share the same layout and are easily recognized.

MAP sensor ( M.anifold A.ir P.ressure )

Working in pair with an I.ntake A.ir T.emperature Sensor this MAP sensor feeds the ecu with data on how to calculate engine flow at that particular moment. Not all toyota MAP sensors share the same voltage curve. there is two groups the Non turbo and turbo MAP sensors. even throughout the Turbo map sensor not all engines have the same exact voltage curve.

MAF sensor ( M.ass A.ir F.low )

This one is rare among OBD1 toyota but existant. The design is generally some sort of hot wire device that measure the speed of the air flowing through a conduit with a known area. this gives the ECU a cfm value to use for it's calculations...

All Other system 0-5V

This is all other measurement systems that have not yet been correctly quantified due to their rare usage on the OBD1 Toyotas .For instance here is picture the 1UZ-FE Kármán vortex air flow meter.
For those devices the [ 0.0 ,5.0 ]v raw signal is displayed.

**********************************************************************************

'Throttle position sensor' 

ANALOG

This sensor has got 4 pins going into it.
it tells the ECU how much the accelerator pedal is depressed with enough precision to make it worthwile.

 DIGITAL
This sensor has got only 3 pins going into it.
That sensor type is not frequently used, mainly on low complexity ECUs. For instance ( MT 4E-FE,5E-FE,4E-FTE, early MT 3S-FE and early MT 5S-FE). that sensor can only tell if the throttle is at rest, at W.ide O.pen T.hrottle or somewhere in between. those ECUS dont seems to implement any tps based accel enrichment logics and switching to a stand alone ECU necessitate installing an analog TPS in it's place.

**********************************************************************************

'Show Ox2 data'

Only V engines have a second oxygen sensor whose data is available. it does not apply to an inline engine.

***********************************************************************************

'Instantaneous MPG calculation'

'number of injectors' this is the number of cylinders your engine have unless this is some sort of Central injector system when you would only have one :S

'size of injectors in CC' this is the capacity of flow of your injectors in CC/minute 

'number of injection events per 2 engine revolutions' it should always be 1.

Friday 10 October 2014

TOYOBD1 Android Datalogger :: How to install the OBD1READ



Today I will show you how to install your OBD1READ unit to a compatible car.

First lets take a look at your package content.

1 OBD1READ device ready for installation.
1  user manual that explains how to install the device. 

This user manual explains what kind of problems you may encounter while installing and how to overcome them or where to get support if you cant handle them alone.

Sorry, blue is the only color available to choose from!!



Before doing anything you must know what must be connected for the system to work.

Quite easy! 4 wires need to be connected inside a diagnosis box in the engine bay.

1- B+ : this is the 12v power line. it will power OBD1READ when ignition key is on.
2- E1 : this is the power ground for OBD1READ, it is also the signal ground with the ecu. 
3- TE2 : this one activates the OBD1 data stream coming from the ecu.
4- VF1 : this is where the OBD1 data stream comes through.

Be aware that inverting B+ and VF1 can damage permanently the OBD1READ device. Dont invert them!

The safest way to hook them is to start with B+, then VF1, then TE2 ,then E1
*the green wires can be inverted together
Please take note that some luxury and sports car, LS400, mk4 supras, SC400 and Soarer will need a jumper to be placed in another diagnostic port under the dashboard. Details for those cars are available in the application glossary dialog.


Here are some of the diagnostic boxes shapes you may encounter in your engine bay.

The needed contacts should be already in the diagnostic box if your car is compatible.In the case of an engine swap with custom wiring, say Starlet 2E -> 4E-FTE you may need to add the missing wires and contacts in the diagnostic box to be compatible.

 Simply connect the 4 wires into the diagnostic boxes and make sure the OBD1READ device sits high in the engine bay (best for BT signal strength). Also take care to secure the device so that it does not fall off the car!!


At that point you are ready to power up the car and configure your cell phone and TOYOBD1.

Wednesday 16 July 2014

TOYOBD1 :: OVERVIEW

SYSTEM REQUIREMENTS

TOYOTA OBD1 compliant ECU 
Phone or table running Android 2.3.3 or higher with Bluetooth capabilities
OBD1READ device connected to your car

outdated overall demonstration(2014)

SENSOR MONITORING 

 Most engine sensors reading are available

  1. Engine RPM
  2. Throttle position sensor state
  3. VAF or MAF or MAP sensor reading 
  4. Oxygen sensors state, either RICH or LEAN
  5. Engine coolant temperature
  6. Car speed 
  7. IDL switch state 
  8. Knock sensor state (either knocking badly or not at all.)
  9. Neutral start switch state
  10. Starter switch state

Some calculated fields are available 

  1. Car fuel consumption in MPG,KM/L, L/100KM
  2. Injector duty cycle

 Some output values are available

  1. Ignition angle
  2. Idle air control valve state
  3. Injector opening duration
  4. Short term fuel trims
  5. Acceleration enrichment state
  6. After start enrichment state
  7. Closed or Open loop state
  8. ECU self-diagnostic state
  9. Warm-up enrichment state

GRAPHICAL VIEW

TEXT VIEWS

GAUGES VIEW

TRIP COMPUTER 

A trip computer mode is available for those interested in monitoring fuel consumption through time

THERMAL ALARM 

A thermal alarm feature is built into the application in case coolant temperature rise above 100C (default value which can be altered )this might save you a lot of trouble some day.

CARPUTER MODE

You can let the tablet control when it connects to the car and when it goes to sleep as long as you configured the app to do so.

DATA LOGGING

All data frame received from the ECU is kept in a database on the phone and is available for export to .CSV for spreadsheet analysis and custom algorithms inputs.You can import data from someone else phone and replay that data from your phone.

DIAGNOSING WITHOUT EVEN BEING THERE

Using this application you can know quickly if there are bad or missing sensor readings from logs you send to someone else. With such logs it is possible to point toward a culprit to the issues without even seeing the car yourself.

  Simple test cases

  1. TPS IDL switch operation
  2. TPS analog signal operation
  3. Map sensor operation
  4. Coolant temp sensor operation
  5. Detect engine overheating
  6. Ox sensor operation
  7. transmission speed sensor operation
  8. Sticky STA starter switch signal.
  9. Error code brewing but not yet thrown by the ECU.

Advanced test cases

  1. Recognize bad engine vacuum from MAP sensor reading.
  2. Detect a bad thermostat through coolant temp monitoring.
  3. Gauge engine performance through VAF sensor monitoring.
  4. Gauge fueling issues through ox sensor, injector duration and short term fuel trim monitoring.
  5. feedback for Flap door AFM tuning for engine with VAF sensors.

DATA MINING PRIOR TO A STAND ALONE ECU INSTALL

Using this application you can extrapolate data to build a base file configuration for a fully configurable ECU.

  1. Cranking ignition timing
  2. End point of warm up enrichment for your engine( this varies a lot on different ecu models. some stop early, some quite late)
  3. Base ignition timing at hot idle
  4. base fuel maps, (you need to take the time to log in every engine loads while being in OPEN loop mode) this can be tedious because of the obd1 protocol.
  5. base ignition timing( same method here)
  6. Idle air control valve usage strategy used for your engine.
  7. When the Closed loop control switches to Open loop

Tuesday 4 February 2014

TOYOBD1 Android datalogger :: Engines supported

 Here is a compatibility list of engines using TOYOBD1 with OBD1READ.

Petrol Engines that were test proven

  • USDM 3VZ-FE 
  • JDM 1992+ 4E-FTE EP82
  • JDM 4A-GE AE111(blacktop)
  • JDM 2JZ-GTE JZA80
  • USDM 1994 2JZ-GE JZA80
  • USDM 2JZ-GTE JZA80
  • JDM 1JZ-GTE JZZ30,JZX90,JZA70,JZX81
  • JDM 1JZ-GTE VVT-i JX100 1998 and earlier ONLY
  • JDM 1992-1993 3S-GTE
  • USDM 1992-1993 celica 5S-FE 
  • 1994-1995 CELICA 5S-FE 
  • USDM 1UZ-FE SC400 and LS400
  • JDM 3S-GTE ST205 WRC
  • USDM 4A-FE 1993
  • 1991+ 3VZ-E Pickup and 4Runner
  • USDM 22R-E 94-95 
  • JDM 4A-GE AE101(silvertop)
  • 1992-1993 REV2 3S-GE (SW20) 89661-17370
  • ST202 3S-GE
  • SW20 1992+ 3S-GTE
  • EE101 4E-FE
  • EP91 4E-FE
  • EP91 4E-FTE
  • USDM 7A-FE 1993 
  • JDM 2TZ-FE 1994 and above
  • JDM 5E-FHE EL54 (2nd generation) 
  • Land Cruiser 1FZ-FE(more details to come about supported years)
  • 88-92 Cressida A/T 7M-GE
  • 88-91 2VZ-FE 89661-32590 ES250 and 2.5 V6 camry
  • late 2TZ-FE (map sensor system)  
  • 5E-FE GEN2 PASEO UK 89661-16490 

Diesel engines that were proven to work

  •  european diesel 2C-E corolla 
  • 1995 1KZ-TE Diesel Land Cruiser (Africa)   
  • Toyota Estima 3C-TE ( toyota estima )

Engines that are believe to work but not yet tested

  • All JDM engines past 1992 with a TE2 ,E1,B+ and some sort of VF(1) pin in their diagnosis box should work.
  • Some non JDM engines between 1992 and prior OBD2
  • AE101 4A-GZE
  • 2RZ-FE depending on maket
  • Avenis turbo diesel 2C-TE 
  • early VVti 2JZ-GE JZX100
  • Crown 2L-TE and 2L-THE 
  • late Crown GS13X 1G-GE 
  • 1G-GZE
  • late 1G-GTE (mark 2, cresta, chaser)

Engines that are clearly known to not be working

  • Anything under 1988
  • Most simple Toyota engines before 1992 (3E-E,2E-E,3S-FE,3S-GE,4A-FE,4A-GE)
  • All OBDII engines (PLEASE LOOK AT THE JDM OBD2 ENGINES LIST BELOW)
  • 1MZ-FE
  • 5VZ-FE
  • All 16V 4A-GE  
  • 3E-E and 2E-E all years 
  • full mechanical Diesels
  • first generation 5E-FE 
  • first generation 5E-FHE
  • 90-91 4E-FTE 
  • 90-91 3S-FE 
  • 90-91 3S-GE
  • 90-91 5S-FE
  • 90-91 3S-GTE
  • AW11 4A-GZE
  • Supra 7M-GE
  • LN130 2L-TE
  • early 1G-GTE (GA70,GZ20)
  • 7M-GTE (http://i88.photobucket.com/albums/k162/crzywhtrican576/supradiag89.jpg
  • 1990-1993 2TZ-FE
  • 2TZ-FZE(OBDII)
  • 1UZ-FE VVTI

Here is a list of JDM OBDII engines  that can't work with TOYOBD1.

To know if your engine is OBDII ,easy way is to find the SIL pin on the pin out.
no OBDI Toyota will have that pin.

*for those desperately seeking to datalog on those OBDII engines it is said that with a recent ELM327 scanner it can be done. But the elm327 must be configured by the application accordingly prior to this. As I have no recent ELM327 scanner my quest ended there. maybe another time...

Back to the future year 2009 : ST162 3S-GE with Honda P06 ecu

 Introduction

Like the title means, let's go back in the past, the year is 2009 , A time when Engine management systems were a mystery to me. At that time I started the project to get a 3S-GTE to work without having the matching ecu and much everything in fact. Back then my skills in electronics were not much better than installing car stereos and simple analog electronic stuff, fog lights,repair broken wires,nothing to fancy. Please excuse the poor presentation of subjects in the pictures, having known I would have shared them It would have looked better!

As the avaricious young Lad I was, I decided to go with the cheapest alternative in exchange for more required skills to succeed. I found on the web that Honda civic ECUs were modifiable quite easily and for cheap, I also found that they were successfully used on rare occasions on the 3S-GTE which was my ultimate goal, but first I wanted to make it work on a 3S-GE I had lying around, those engine share a lot EMS wise and would be less of a loss if something went real bad with the tuning. 

example igniton map
The leanring curve involved for a complete beginner was steep but I probably would do it the same way as the challenge was rewarding in the end. Please note that this document is a really rough tale of how to do this, 5 years have past since the events described here were made, so If you intend to do a similar project where to learn to work with those ECUs go to pgmfi.org, this is where I learned everything about the P06 and most of the basics surrounding Engine management systems and the common strategies used to modify pre-OBD2 oem ECUs. Please do your research too and do not rely solely on what is written here. Any questions asked will be replied to the best of my knowledge tough . For details on

Mecanical and electronical aspect

3S-GE left D15 right
What was the biggest problem was that I neeeded to use the civic distributor( crank angle sensors are inside
) to match with the civic ecu. A friend of mine did the machining work to build an adaptor to bolt the distributor on the 3S-GE head and camshaft, Thanks Again Adam!.


The Honda P06 ecu was found in 1992-1995 d15 and d16 civic with already installed VTEC capabilities or not, was about 35-60 CDN$ available at most scrap yards.
Modifying cost were around 20-25 CDN$ in
3S-GE left D15 right
parts. It required soldering inside the ECU and have the tools to burn EEPROM chips when necessary.

So at that time I bought tools to burn chips and a stock of 27C256 compatible EEPROMs,mine were SST27SF512, as time goes by findind compatible EEPROM is getting harder.

I started by getting a bench P06 to work, pull error codes, trigger ignition and injection events, make sure it was fully working on bench, then perform modifications so that the program could be replaced and add Datalogging to PC through RS232.

Bench ecu wiring and ecu


Please note the Chip marked SST at top of picture, this is where the new program resides
RS232 com device installed
Here is what looked like the adaptor to fit the D15 distributor on the 3S-GE. a rod to space the camshaft key( D15 camshaft key is suitable for the 3S-GE) a collar to center the D15 distributor on the 3S-GE head, and a plate to mount between head and distributor



 Software Side

I used the following software to make Binary files to burn on the EEPROM chips
Crome( Binary file editor for Honda ECUs, you make your tune in there)

I then used an EEPROM programmer SIMILAR BUT NOT EXACT to that one on ebay to burn on the chips my tune. installed the chip in it's socket on the PCB and power the ECU up

I used the following software to datalog what ECU sees at what particular time
FreeLog 1.0.87

If memory serves right I then used  maps from a B18 or B20 non VTEC engine with a D15 base program.

Testing on the engine

Test then began on the Test engine, please note that this ECU was tested on an engine not installed in a car so no real world testing was done. Only proof of concept that the ECU could be used correctly to start engine at all temperatures, that the engine could be revved without failures or bad behavior, that the ignition timing read with a timing light was the one in the tune.
Test rig sporting 3S-GE electronics before test began, crude ;) but sufficient for the task

Close up of the connector receptacle used
As this turned out positive to that point, it was then time to make an adaptor to merge both mandatory Civic wiring and 3S-GE wiring. No files were kept to describe the exact correspondance of what signal went where, but If someone is interested we can make it up together easy and fast, it was not that complicated since both engine share electrical similitude (High impedance injectors and similar sensors pinout).

P06 ECU at left, adapter wiring in between , and ST162 3S-GE wiring at right
To work on a host engine using the P06 ecu  I used those Civic parts: Crank sensors, map sensor, and ignitor. Water and Air Temp sensors should probably used also but I used those of my 3S-GE at the time.
P06 ECU installed with Test engine


Distributor was installed in an orientation that made it suitable for the Pickup coils in the distributor to be in a good location in relation to TDC on 1st cylinder.

Do not take for granted the firing order written on the Cap, this is a bad lead!
As Honda engines of the time were counter clockwise rotating crankshaft, opposed to virtually every competitor being clockwise rotating crankshaft the Firing order on the Distributor had to be changed otherwise the engine could not be used. to do that simply invert spark plugs wires to the new correct order.(Please forgive me as that correct firing order was forgotten since then!)

I used B18 spark plug wires to connect to civic ECU and the 3S-GE head. the fitment was good enough on the 1st gen 3S-GE cylinder head.
B18 spark plugs wires have the proper length and fitment

Map sensor signal was taken on the intake plenum.

After the correct firing order was found the engine ran great using this ECU. better idling than the 3S-GE ECU, better starting also, more agressive Ignition base maps used on Honda engines.

Here is the only video showing the 3S-GE being run by the P06,poor quality, does not show much, but here it goes!

What was accomplished at the time.

Recalibration was possible but this was a tedious process, you needed to burn a new chip every time you wanted to update your tune.
Datalogging was possible , which is not possible with a 1st gen 3S-GE ECU
1st gen 3S-GE without AFM, now using map sensor + IAT sensor and probably a more complex program than the 1986 3S ecu program.

In the end

In the end I started working with a Megasquirt-1+V3 PCB and fell in love with it, the P06 age ended for me and more flexible and complex EMS setup started to take form on the 3S-GE test mule and then on the 3S-GTE afterwards.

Further possibilities

-Using an EEPROM emulator like Moates ostrich would cut a lot of time in the process of building and testing the binary file, which at a point when the suitable file is made it is burned on a chip and used
-Using a P06 with a custom made crank sensor conditioner circuit, One could possibly use the stock toyota crank sensor and simplify by much the work involved and cleanliness of installation. this could also make this setup usable on many most toyota 4 cylinder engines of the same era. 

Monday 27 January 2014

Program the flash memory on NXP LPC1769 (put a program on the LCP1769)

 INTRODUCTION

Using the Program Flash feature of LPCXpresso is the easiest way to get a program on an LPC1769 board, it does not require you to flash the board using a command line, it does not requires you to build that program in the IDE, it does not necessitate to start a debug sessing, with this method you can flash on a board a program that was written in an earlier version of the IDE without going through the assle of updating someone else code.
LPC1769 Board from Embedded Artists

 Some terminology used in this arcticle

  •  EA = E.mbedded A.rtists (this is the company that produce the board shown above, other versions are avaiblable too but this one is quite versatile and not too costly)
  •  NXP = NXP semiconductors, a company associated with Phillips that makes Microcontrollers
  •  IC = I.ntegrated C.ircuit ( this is a Silicon Chip that does a specific work, it might be a lot of things)
  • ADC = A.nalog D.igital C.onverter ( this is an device that reads analog voltages and convert it to digital data usable in processors)
  • PWM = P.ulse W.idth M.odulator (this device generate a frequency which On and OFF time vary)
  • IDE = I.ntegrated D.eveloppment E.nvironement (this is an application used to construct other applications)
  • MCU = Microcontroller (this is an IC that contains a processor, some RAM, some built in peripherals like ADC ,PWM ,Timers, Digital Inputs and Output), like an old computer with low power ,used to do tasks that require real time precision)
  • UI = U.ser I.nterface ( this is buttons, dialogs, windows, textboxes, pictures that compose an application)

What will you learn today

The aim of this article is to learn how to put a program on the LPC1769 board from EA with the use of a PC, USB cable and the Program Flash feature in LPCXpresso IDE.

REQUIERMENTS

This is all you need + PC, cleverness and patience!

 

  • PC with powerfull USB ports,(What??, yeah ... the EA boards require a USB port with good power to be able to flash the memory without errors. Avoid laptops if possible since they generally have weaker USB ports) 
  • PC with Windows XP SP3 or above, Windows 7 64b was used for the writing of this guide
  • USB cable with a Mini-B end
USB with Mini-B end 



 GETTING THE IDE TO WORK

The current version used for this guide is 6.1.4 using the default installation application UI layout

Get the Windows installer on NXP LPCXpresso download section 
Install the IDE following default choices, install the drivers when asked to.
Do not start the IDE at the completition of the installation.
Connect the LPC1769 board to USB cable to PC.
Let the computer install automatically the drivers for the device.
After this is done you can now start LPCXpresso

STARTING/SETUPING THE IDE FOR THE FIRST TIME

Check  'use this as the default and do not ask again', this will be simpler every time you start this application.

Application mandatory registration

Not registered warning
At first startup, the application will complain that it is not registered. To be able to program the LPC1769 flash memory we need to register .Please follow the steps below to do so, it should take you 5-10m playing in a web browser and copy/paste text data. It's boring, but in the end programming flash memory is a lot easier than not registering and building yourself the application and starting a debug session to get the program on the MCU ;)



1- You need to create a free user account on www.lpcware.com here

 2- once you have a working account, you can register an intstalled copy of LPCXpresso

Here are the steps to register in pictures, quite easy

get a serial number and start registration process
Get Activation key from lpcware.com using your user account and the serial number.
After this you have a registered free version of the IDE and you can use the Program Flash feature that was disabled before registration.

USING THE IDE TO INSTALL PROGRAM ON LPC1769


First you need a project built specifically for you target Board, in today's case this is a LPC1769 project.

You need to import your project in the IDE by using the following actions 

File/Import ...
Choose General/existing projects
Choose 'Select archive file' then find your ZIP file, check everything from your archive file then finish


Now that the project is imported in the Workspace you can install the  existing *.afx file on the LPC1769

Select your project in the Project Explorer
Then press on the Silicon Chip Icon , this is the Program Flash feature


LPCXpresso will initialize the LPC1769 board driver then display the Program Flash Dialog that will allow you at last to program the Board, the target board was detected by LPCXpresso and do not need to be changed

After you hit OK a progress dialog should appear and tell you if it succeeded or not. In case it did not succeed, think about using another USB port or even another computer, remember to avoid laptops for this task.
You have now finished with the IDE and therefore can close it

CONCLUSION

You now have a program on your LPC1769, everytime the board will be powered the program there will automatically start.