GPS vehicle tracking device

    A device designed for the auto industry that is connected to the battery of a car or truck and transmits the vehicle's GPS position to a web server or mobile phone (via SMS) using the embedded GSM/GPRS module.

GPS vehicle tracking device     The main modules of the device are: a Trimble Lassen iQ GPS module, an Enfora GSM0308 GSM/GPRS module, a Microchip dsPIC33FJ256GP710 microcontroller, a M25P80 serial flash memory from ST and a ST LIS302DL 3-axis accelerometer.

    The microcontroller communicates to the GPS and GSM/GPRS modules and to a computer terminal (only for debugging purposes) through a serial connection (TTL and RS-232). The flash memory and accelerometer are controlled by the microcontroller through SPI.

    The microcontroller gets the GPS position from the GPS module at a preset time interval and procedes to send it to a web server or mobile phone (via SMS) along with other information like vehicle speed and system time through the GSM/GPRS module.

    If there is no GSM connectivity when there is time to transmit, the device will store the unsent messages on the flash memory and wait until the connection is reestablished. Also, a massive deceleration measured by the accelerometer is interpreted as an accident an a distress message is sent to a predefined phone number or server.

    The power supply of the device consists of a Texas Instruments buck converter (TPS54232) that outputs 5V and, being a switching mode power supply, protects the circuit from overvoltage and eliminates the need for a big heat sink. The 5V output by the SMPS is then converted by two LD1117 LDOs in the two distinct voltages needed by the other chips (3.3V and 4V) 

Vehicle Fuel Level sensor reader

Vehicle Fuel Level sensor reader

    A device designed for the automotive industry that is used to measure the voltage or current output by a vehicle's fuel level sensor, calculate the fuel level and output the results through the RS-232 serial connection.

    The device consists of a dsPIC33FJ32MC202MM microcontroller from Microchip, a MAX4172ESA current sensor from Maxim, a MAX3222 RS-232 transceiver and a power supply based on a LM217 linear voltage regulator.

    Under normal operating circumstances, the voltage output by the vehicle's fuel level sensor measured through a resistive divisor by the microcontroller's ADC module. After the measurement and apropriate calculations (according to the sensor type, scale and method of calculation previosly set in the microcontroller by a computer terminal through RS-232), the resulted fuel level is output through the RS-232 connection.

    The power supply is based on the LM217, wich was used for its ruggedness (considering the automotive environment) and for its low price compared to other similar parts.  

ISO 9141-2 Reader

ISO 9141-2 Reader

    This device was designed for the automotive industry as a way to interface with on-board vehicle computers implemented using the ISO 9141-2 OBD2 standard.

    The main components used to build this device are: a dsPIC33FJ64GP802 microcontroller from Microchip, one npn and one pnp transistor that allow level translation from the OBD2 standard to TTL, an ICL3232 RS-232 interface from Intersil, a SN65HVD232Q CAN interface and a power supply based on a LD1117 LDO.

    The device is connected to the vehicle's OBD2 connector and it communicates with the on-board computer using its UART module and the extern level translator. Once the messages are read and interpreted, they are sent through the RS-232 interface or through the CAN interface, depending on the technology selected by the user.

    It was considered that the device will serve as an interface for a CAN Reader or for a telematics device that has an RS-232 port, in both cases the ISO 9141-2 Reader being supplied with a voltage of 5V or 3.3V, thus a simple LDO that converts the Vin to 3.3V was sufficient.  

dc motor tester

dc motor tester

    This project was ordered by a client who needed a way to test small power DC motors before installing them, because it was found that the manufacturer offered unusually high tolerances.

    The device is used to test the datasheet parameters for two different motor types. The test is performed to measure the average operating current or a change in current consumption during a complete rotation. This measurement is performed to detect motors that don't have the reduction gear properly working.

    The on-board microcontroller (a Microchip dsPIC33FJ32GP204) uses LEDs to signal the user that the motor has passed or failed the test. Detailed information about the motor measured characteristics is sent to the UART interface after every motor test.

    The user has the ability to the motor types and accepted tolerances through AT commands sent from a computer terminal via an RS-232 cable.



battery simulator

battery simulator

    This project was done for a client that wanted a way to test their equipment under various conditions of battery decay.

    This was accomplished by designing a device capable of varying the voltage output and series resistance, thus simulating the effects of battery decay.

    The main components of the device are: a dsPIC33FJ32GP204 Microchip microcontroller, a MAX15035 step-down high DC-output accuracy voltage regulator, a MAX5383 SPI DAC from Maxim, a few MOSFETS and a rotary switch

    The microcontroller is used to control the output voltage of the board and its resistance based on the position of a rotary switch. Also, the microcontroller sends the measured voltage, current and resistance over the UART interface.

    The microcontroller continually polls the state of the rotary switch and compares it against an internal table. Every value of the rotary switch has a coresponding voltage output and series resistance. The voltage output of the device is controlled by changing the output of the DAC that in its turn is connected to the reference pin of the MAX15035 voltage regulator. The series resistance value is changed by switching on and off a number of six MOSFETs


vehicle navigator-rearview cam switch

vehicle navigator-rearview cam switch

    This device was designed for the automotive industry and is used to change the video input of a LCD monitor between the on-board GPS navigation system and a rerview camera.

    One of the inputs of the device is the power supply of the reversing lamp. It is connected to one of the inputs of a SPDT relay and when the vehicle is reversing the relay changes the video output from the navigation system to the rearview camera.


Food Industry Automation


    This device is used to combine carbon dioxide with a liquid by controlling two AC motors.

    The main components of the carbonation device are: an ATTINY24 microcontroller from Atmel, a floating level switch, two relays and the power supply.

    The microcontroller continually reads output of the floating level switch, and when its state changes to "empty" the motor that pumps the liquid is started by "closing" the corresponding relay. After a few seconds, the motor that pumps the carbon dioxide is started and both motors work until the floating level switch changes its state to "full".

    Additional care was taken when this board was designed because it is supplied with power directly form a wall socket and because of the high current consumption of the motors.


RF dongle and receiver

RF dongle and receiver

    The RF dongle and receiver system is capable of wireless communication between a dongle connected to a computer through USB and a receiver.

    The main components of the RF dongle are a PIC18F13 microcontroller with USB interfacing capabilities from Microchip, a nRF24L01 RF module from nordic, a PCB trace antenna and a power supply. The receiver is built along the same lines, but without the USB interfacing capabilities and with an RS-232 output.

    After receiving a certain command through the USB connection, the microcontroller powers-up the RF module and asks it to establish a link to the corresponding RF module on the receiver board. After succesfully establishing the link, data transfer between the dongle and the receiver begins.