TempMon is a Temperature Monitoring system meant to free up the human task of reading the temperature over and over again. The System is doing the reading , the system is making a decision based on how you configured it to send or not to send a notification.

TempMon strives to be operational and for that reason it will check and double check and triple check all the functions it is meant to do while it is doing them. It can detect missing sensors, low battery, no internet connection, power failure on itself. It is doing this while it also checks and records temperatures at regular intervals.

TempMon Harware Wireless GSM/GPRS
TempMon Harware Wireless GSM/GPRS

The Dashboard is excellently crafted to bring out the Most useful information from the data the system acquires.
Skills used during development of this project: Embedded C, ALTIUM DESIGNER, PHP, MYSQL, JQuery, Bootstrap, REST)

GSM/GPRS Bottle Filler
GSM/GPRS Bottle Filler Dashboard


This device is able to control all functions of a water dispensing machine. Aside from sensing bottle presence using a VCNL4020 infrared proximity sensor, the device is able to control two solenoid electrovalves, measure waterflow using a waterflow sensor and be configured via menu using a button and a LCD. Every water filter is fitted with a RFID card and the device is able to read its unique ID in order to prevent the same expired filter being used twice.

Reports about water usage are periodically sent to a server and remote configuring of the parameters is possible. Skills used during development of this project: Embedded C, ALTIUM DESIGNER, PHP, MYSQL, JQuery, PHP Sockets


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.

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.

GPS vehicle tracking device

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


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.


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.

ISO 9141-2 Reader

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.

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.


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


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.