Post Job Free

Resume

Sign in

Software Engineer

Location:
Singapore
Posted:
January 24, 2013

Contact this candidate

Resume:

Curriculum Vitae

For

Mohammad Arif Hossain

Name:

Address:

Mohammad Arif Hossain

#**-***, *** **, ************ Drive,

Singapore - 140090

Phone:

+65-90011264

abqhgx@r.postjobfree.com

abqhgx@r.postjobfree.com

Career Objective

Systems Architect or Embedded Software Engineering position covering full system (or software) development life cycle from architecture and requirements through design, implementation and delivery, in a challenging environment rewarding innovation resulting in cost, schedule and resource savings and increased sales.

Professional Qualifications

Strengths :

Extensive knowledge & understanding in multidisciplinary fields: Software, Hardware, Mechatronics, Automation & Control Systems, Heavy Industrial Machinery etc.

Innovative and creative in finding solution to complex problems both at a system level as well as detailed code level (in case of software). Maintain knowledge of innovative technologies, able to see the big picture, aligns with business objectives, solid engineering, team player, great customer relations.

Platforms :

Embedded Systems, Linux, Windows XP, Cygwin, MSDOS, DRDOS

Microcontrollers,

Microprocessors & DSPs

ARM9, ARM7, MSP430, 8051, dsPIC DSCs, PIC & AVR

x86, Z80x

Languages :

Assembly, Embedded C, C/C++, BASIC, FORTRAN

Ladder Logic for PLCs

RTOS :

Embedded Linux (uCLinux), SALVO, Keil RTX51 & RTXTiny

Tools :

IAR Embedded Workbench for ARM9, ARM7, MSP430, 8051, PIC

Keil uVision IDE for ARM9, ARM7, 8051

MPLAB IDE + MPLAB dsPIC Compiler, HI-Tech IDE for PIC

Eclipse IDE, GNU Tool Chain, ARM GNU Tool Chain, U-Boot Boot Loader

Microsoft Visual C++ Object Oriented Programming (MFC)

Microsoft Visual C for Windows (API Programming),

Borland C++, TURBO C++

Reverse Engineering & Code Porting Through Different Architecture, Tool & OS :

Reverse engineering existing product codes (C & Assembly mixed) and porting existing codes to new, improved microcontroller of different vendors and accommodate new hardware changes in the code. Porting 8/16 bit microcontroller codes to 32 bit microcontrollers, porting assembly & C codes between different IDE, Compiler & OS. Porting microcontroller/microprocessor codes to DSPs and modifying low level hardware drivers and addition of new features to existing products ensuring maximum code reusability.

Software Debugging, In-Circuit Emulators & Simulators :

In-Circuit Emulator (Hitex with Hitop Emulator Software, PICE-52 POD for 8051), JTAG Debuggers, Oscilloscope, Universal device programmer, Virtual Microcontroller Simulators (Labcenter, Proteus VSM)

Protocols:

TCP/IP, RS232, RS485, CAN, MODBUS, USB, Custom protocols

Bit bang, I2C, SPI

Machine Automation & Motion Control :

Machine Control System Design with PLCs, Servo Motor Drives, AC/DC Drives, Stepper Motor Controllers, Distributed Control Systems, Tuning Servo Drives

Thorough understanding on servo technology and AC/DC servo drives. Hands on expertise in programming Lenze Servo Drives (9300 series) and GDC (Global Drive Control software). Design with the internal function blocks of the complex servo drives, monitoring real time parameters using appropriate software to control drive parameters. Programming and tuning servo loops. Programming any (open loop) AC/DC Drive according to machine’s requirement.

Multi Disciplinary :

Strong in Numerical Analysis, Algorithms, Hardware Design & Hardware Interfacing, Production Machine Automation & Control Systems

Employment History

(7 years of Professional Experience)

Thermo Fisher Scientific, Singapore

Senior Software Engineer - Embedded

[October, 2007 – Present] Instrument Design & Embedded Software Team Lead,

Product R&D

Delectrol Systems Ltd.

Embedded Systems Engineer

[June, 2004 – August, 2007] Machine Control System Design - Software Team Lead,

Industrial Instrument & Control System Design

Micro Electronics Ltd.

R&D Engineer

[September,2001 – June, 2004] Sine Wave Uninterruptible Power Supply Design,

Industrial AVR Design,

Product R&D – Software & Hardware

Experience (Several Project Examples)

Software Team Lead, Orion Dual Star Bench Top Station, Thermo Fisher Scientific

[April, 2008 – July, 2008]

A water quality analysis instrument with two channels for pH, ISE and ORP measurement (2 probes & 2 thermocouples for temperature measurement) designed with NXP LPC2368 (ARM7) Microcontroller with 512 K code memory & 32K internal SRAM. The instrument has a 320 x 240 graphical matrix display for GUI (graphical user interface), 17 user key with 3 soft keys, extensive data logging (measurement, method & calibration) & error logging capability along with engineering logs on 3 large serial EEPROMs (24LC512), several hundred graphical screens for menus and user interaction. The instrument can be operated & controlled through Star Navigator Software from a PC through RS232 or USB interface. The instrument sends data to PC or a Thermal Printer directly in different modes. It also interfaces with an Auto Sampler (a 3 stepper motor driven automatic gantry system) for fully automatic instrument calibration & specimen measurement without manual interaction. More than 30 remote control commands through the RS232 or USB controls the instrument from remote.

Orion had a Star Bench Top Station (single channel) with simple segment displays and with 16 bit MSP430 Microcontroller with 32K code memory. I reverse engineered & ported most of the code from that instrument to ARM7 code and rewritten the hardware drivers to accommodate the new hardware, added new features (40% new features) and GUI codes to the new meter.

Tools Used: IAR Embedded Workbench for ARM7, JTAG Debugger, Oscilloscope, Terminal Emulation Software

Language: Embedded C (ARM7)

Protocols: RS232, USB

Team Lead, Design & Development of ION Meter, Thermo Fisher Scientific

[January – March, 2008]

An intricate instrument measures chemical content (Cl, Fl etc.) in water using optometry. The instrument is based on NXP LPC2138, 32 bit ARM microcontroller. Strong iterative mathematical analysis (numerical analysis) was required and rigorous combination of assembly & C language programming being done to make compact code. It had data logging, calibration logging, method logging & engineering logging capability as well as software debugging through RS232.

Tools Used: IAR Embedded Workbench for ARM7, JTAG Debugger, Oscilloscope, Equation Solver

Language: Embedded C, Assembly (ARM7)

Protocols: RS232

Design & Development of Insoluble Meter, Thermo Fisher Scientific

[October – December, 2007]

An instrument that measures the density of insoluble material content in liquid. It is based on TI MSP430 (MSP430P325) ultra low power 16 bit microcontrollers and was programmed totally in Assembly language. My main job was modifying the software to make this instrument capable of analyzing new chemicals. Strong mathematical analysis e.g. numerical analysis is required and rigorous combination of assembly & C language programming being done to make highly compact code for accommodating mathematical analysis based code to this limited resource based microcontroller. This microcontroller was an OTP.

Tools Used: IAR Embedded Workbench for MSP430, HITEX In-Circuit Emulator, Oscilloscope, Equation Solver, MS VC++ (Calibration Software)

Language: Assembly (Major part), Embedded C (MSP430)

Team Lead, Knit Fabric Dyeing Machine Control System, Delectrol Systems

[March – September 2007]

An Embedded Linux (uCLinux) based GUI Terminal (AT91RM9200, ARM9 Microcontroller Based), A PLC with RS232 communication port formed the control system of a Dyeing Machine. The Embedded Linux (Rev 2.6.17) based GUI Terminal had touch screen panel for substituting a mouse pointer. The operator could graphically see (in an 800 x 600 monochrome matrix display) the operating state and different parameters of machine components and could change their values. The Real Time operations of the machine was controlled mainly by the PLC which was programmed in Ladder Logic but the graphical application software on the embedded Linux terminal worked as operator terminal for operating the machine, loading & changing recipes suitable for different fabrics, handle operator interaction in different error messages and in emergency situations. The Embedded Linux booted from a 1GB SD Memory Card and stored all the machine parameters and recipes in a USB pen drive. The Embedded Linux Terminal communicated with the PLC through RS485 Physical layer to avoid noise problem in industrial environment (RS232 to RS485 converter was used in between).

Tools Used: Eclipse IDE, GNU ARM Tool Chain, U-Boot Boot Loader, Terminal Emulation Software

Language: Embedded C (ARM9), uCLinux Multithreaded Application, Ladder Logic (PLC)

Protocols: RS232, RS485

RTOS: Embedded Linux (uCLinux)

Team Lead, Textile Machinery Commissioning & Servicing Project, Delectrol Systems

A highly sophisticated textile industry (Anlima Textile Ltd.) was deprived of the technical support from a German machine manufacturer and the local machine supplier. There were a seven chamber Stenter machine (Monforts, Germany), a five chamber Drier (Monforts, Germany), two Compactors (Monforts, Germany), a Slitting machine (EL, Germany), a width control machine in between the Drier and the Compactor (Monforts, Germany), two weft straightening machine (Mahlo, Germany) two Winding machines (Germany). The machine supplier did 30% of the commissioning of all those machines and never came back. Most of the inverters used on the machines were Lenze Servo Drives 9300 series which is one of the most sophisticated servo drives available. I found most of the Servo Drives damaged and so all the parameters were lost. I repaired most of the inverters and reprogrammed all of them from scratch analyzing the machine’s working principle and synchronized all the motor actions according to requirement. Extensive understanding of the Servo Loops, Internal Function Blocks of the Servo Drives, PID principle, CAN (controller area networking) communication, load-cell and other sensors and actuators and the Global Drive Control software to program the Lenze Servo Drives (9300 series) was necessary to complete the commissioning of the set of machines without any technical help from the machine supplier and machine manufacturer only by studying the electrical diagrams and drive manuals. The factory is in full production now and a major textile exporter.

Tools Used: Servo Tuning Software, Drive Programming Software

Protocols: CAN, RS232, RS485

Team Lead, Six Axis Gantry Control Systems (Mechatronic System), Delectrol Systems

A six axis industrial gantry had a mechanical setup in six-degrees of freedom. Six servo motor controlled each axis in 0.02 mm accuracy. The controller sent step & direction pulses to each servo drives. The controller communicated with PC software (CNC software) through RS232 which sends position coordinates to the controller and the controller interprets and calculates the step & direction pulses and drives the servo motor controllers accurately. Dallas DS89C420 high speed 8051 microcontroller was used along with SALVO RTOS. Each axis is controlled through a task on the RTOS application in cooperative scheduling mechanism.

Tools Used: Keil uVision IDE, PICE-52 POD Emulator, Oscilloscope, Servo Tuning Software

Language: Embedded C (8051)

Protocols: RS232

RTOS: SALVO for 8051

Team Lead, Yarn Dyeing Machine Control System, Delectrol Systems

Designed DS89C420 (Dallas High Speed 8051 microcontroller) based control system for a 17 dye bath denim yarn dyeing machine. It contained 20 DC motors with 20 DC drives to run the 17 chamber yarn dyeing machine. Most of the DC drives were 5 kW, one 10 kW and one 20 kW. Designed microcontroller based control cards for controlling each motor which were connected to a RS485 bus and a central computer (operator terminal). The main aim was to run all the motors on a synchronized speed so that there is no loose or tight of yarn occurs at any part of the machine. These controllers sent analog signals to the motor drives to control the motor speed in closed loop. All the controllers worked as slaves to a common master PC operating terminal (worked in a protocol like MODBUS) which sent and received speed, torques commands and other motor variables to and from the controllers according to the need of the operator. Extensive PI algorithm and communication protocol programming was necessary.

Tools Used: Keil uVision IDE, Oscilloscope, PICE-52 POD Emulator, Terminal Emulation Software

Language: Embedded C (8051)

Protocols: RS232, RS485 + proprietary customized protocol

Team Lead, Automatic Dyes Chemical Measuring System, Delectrol Systems

Designed a computer network based weighing scale for measuring dyes chemical with operator error verification mechanism. (a) A Controller Board, (b) a Digital Scale (with RS232 output) (c) an Intelligent LED Matrix Display Unit (RS232 input), (d) a barcode reader and (e) a server computer formed a system where dyes could be measured and verified accurately. The controller was designed with Dallas FP5002 (secure 8051 Microcontroller) microcontroller and it communicated in RS232 with the server PC with a long RS485 physical layer. Display controller was designed with AT89C52 Microcontrollers. The controller had 3 RS232 ports & 1 RS485 port to communicate with the Barcode Reader, Display, Digital Scale & the Server Computer. Multitasking software of RTX51 RTOS (Keil) were used for barcode reader, matrix display, digital scale and the server computer communication.

Tools Used: Keil uVision IDE, Oscilloscope, PICE-52 POD Emulator, Terminal Emulation Software

Language: Embedded C, Assembly (8051)

Protocols: RS232, RS485

RTOS: RTX51 (Keil)

Low voltage AC Servo Drive (Velocity Control), Delectrol Systems

Designed low voltage (48VDC) low power AC drive (400 W) for the weft feeders of shuttle & air jet looms. Used dsPIC33 series DSC (32K code) for generating three phase PWM to drive a three phase MOSFET H-Bridge to drive the motor in Volt-Hertz Control Algorithm. These weft feeders needed precision velocity control with optical encoder feedback while running and special braking mechanism when weft is overloaded. DC injection braking technique was used to brake the motor to stalling state within a very short time (braking hardness is adjustable by software). RS232 port was used for real time speed torque monitoring on PC software.

Tools Used: MPLAB IDE + MPLAB dsPIC C Compiler, Oscilloscope

Language: Embedded C (dsPIC DSC)

Protocols: RS232

Digital Air Flow Meter & Logger, Delectrol Systems

Designed a digital air flow logger with NXP LPC2138 to be used in industries for measuring compressed air consumption in different departments and log them in real time. An AC turbine type air flow sensor, an analog pressure sensor and a temperature sensor was used to measure air velocity, air pressure and air temperature and calculated air volume consumption in real time. The microcontroller read analog voltage through ADC channels continuously and gave an average flow, pressure & temperature reading to the LCD Matrix display. The air consumption can be seen graphically on the matrix display. It had other features e.g. Error log, event log, remote download of logged data through RS232 etc.

Tools Used: IAR Embedded Workbench for ARM7, JTAG Debugger, Oscilloscope, Terminal Emulation Software

Language: Embedded C (ARM7)

Protocols: RS232

Large Message Display (3 color LED matrix): (300cm length x 20cm width), Delectrol Systems

Matrix Display in three colors (Red, Green & Amber) with 8x8 matrix blocks. It had internal I2C EEPROM (24C32) which stores the messages in memory. The messages can be changed anytime by just attaching a PS2 keyboard with it. No need to interface with a PC by just attaching to a PC keyboard. The display used multiplexing technology and used two AT89C52 (economic flash microcontrollers). There was RS485 communication available to use the displays in a network and program them from a PC.

Tools Used: IAR Embedded Workbench for ARM7, JTAG Debugger, Oscilloscope, Terminal Emulation Software

Language: Embedded C (8051)

Protocols: RS232, RS485

Educational Qualification

B.Sc. in Mechanical Engineering

Bangladesh University of Engineering and Technology (BUET)

Dhaka, Bangladesh

(August, 2001)

CGPA : 3.42 (out of 4.00)

Personal Data

Date of Birth 23rd of January, 1978

Place of Birth Dhaka, Bangladesh

Nationality Bangladesh

Religion Islam

Marital Status Married

Visa Status P2 Employment Pass, Valid till 30th September, 2008

Availability 2nd of October, 2008



Contact this candidate