Visit Us On FacebookVisit Us On TwitterVisit Us On Google PlusVisit Us On LinkedinVisit Us On YoutubeCheck Our Feed

Latest Post: Reverse Engineering Car Parking Sensors

It has been two years since my last post as i can see from the date but finally it seems i found the time to come back. The idea of reverse engineering the car parking sensors came when i replaced my car parking sensors and i was curious to find out how this thing really works. 

Generally, i had a picture in my mind on how they should work. A sounder that sends the sounding and a microphone/receiver that receives it back (as radar works), calculating the time, the signal takes to travel from the sounder and back to the microphone from the obstacle reflection. Having 4 sensors on the car bumper pointing to the same direction, is challenging for the processor to recognize which sounding comes from which sensor. A quick thought i made is that it may use a different operating frequencies for each sensor or a different timeslot for each sensor keeping the same frequency for that purpose. But we will find out later on, while powering things on.

So having this picture in mind we move on.

First interesting thing that got my attention while i was removing the sensors from the bumper was the sensors themselves. They had only two wires each so the picture in my mind with a separate microphone and sounder on each sensor should change to one device which may switch from sounder to microphone and vice versa (operating both as a sounder and microphone). All this because there are only two wires so there could not be two different components such as a sounder and a microphone. If that was true there should be at least 3 wires, 2 wires one for each component (sounder & microphone) and a shared wire for the common ground. 

Second step as long as i made the first optical investigation i unscrewed and removed the enclosure of the main processing unit in order to have direct access to the PCB design. In first look we can see the main processor from Atmel (AT89C2051), a Schmitt trigger (HEF40106B) which may be used for isolating/separating the analog front end from the main processor/circuit, two operational amplifiers (HA17358) with some external components around it which looks like to be used for filtering and amplifying the received reflections and a third IC which after some googling i found out that's an analog switch (HEF4066B). I can't imagine yet what could be the use of this as there could be a lot of uses such as signal scanning between the 4 sensors or for switching each sensor mode from reception to transmission etc. 

Looking closer to the sensor connectors on the PCB we can see that one connection of each sensor is directly connected to ground so the second connection seems to transmit/receive the signals (obvious). Also there is a small transformer connected on each sensor connection which looks to be used for increasing the signal voltage in order to drive the piezoelectric(possible) transducer of each sensor. 

I think it's time to power things on. Connect the main unit to power as well as the LCD screen to the main unit in order to have feedback and know in which step we are working on. Using the oscilloscope i started reading the pins of each sensor connector with the sensors disconnected trying to find a common pattern. At a first look, the waveform coming out from sensor connector 1 looks like a periodic square wave signal.

Trying the connector 2 the signal seems to be the same with the frequency of the square wave remaining at 40.12khz. In more detail i would describe it as a signal of 14 square pulses of 40.12khz repeating about each 160ms. So the device could send these 14 pulses to each sensor, then switch the sensor circuity to receiving mode and wait for the reflected signal to come until next transmission/sounding. But as the frequency of all 4 channels is the same the identification of the reflection (from which sensor the sounding is coming from) it looks that is not implemented using different frequencies. So let's see if there is a different sounding timing (timeslot) for each sensor. Measuring the timing distance between each channel we can see that each channel has exactly 40ms difference from the previous one . 

1st channel signal to 2nd channel signal distance 40ms

1st channel signal to 3rd channel signal distance 80ms

1st channel signal to 4rth channel signal distance 120ms

So these 40ms gaps may be used by the main unit to read the reflections. This also means a frequency of ~6.173Hz (1/160ms). Our first findings since now are clear. All sensors are transmitting on the same frequency but in different timeslots

Next step i tried to read all of the mcu pins and compare them with the function of each pin given by the datasheet. 


1 VCC +5V 20 I/O
2 UART RX 58.82KHZ SQ 19 I/O 40KHZ/6.173HZ SQ
3 UART TX 534.5KHZ SQ 18 I/O 40KHZ/6.173HZ SQ
6 INT0 SIGNAL SQ 15 I/O 6.173HZ SQ
7 INT1 6.182HZ SQ 14 I/O 6.173HZ SQ
8 T0 (timer 0 external input) 24.71HZ SQ 13 AIN1
9 T1 (timer 1 external input) 12.35HZ SQ 12 AIN0
10 GND GND 11 I/O 6.173HZ SQ

Pin by pin. 

From pin 1 to pin 5 all the signal readings are obvious and expected. UART pins 2&3 are used to communicate with the remote LCD display which displays the distance from the obstacle and its direction. This interface can be used in combination with an Arduino for any DIY application. Pin 6 is an external interrupt driven pin and we read a square wave input signal which is not periodic and stable which makes it more interesting and moves it closer to the fact that this pin may reads and decodes the reflections (do all the job). There is a stopped snapshot in the following screenshot where you can see the waveform on that pin. As you may notice there is a small gap after the 12th square wave and then follows another waveform. The following waveform is the reflection and changes its frequency depending on the obstacle distance. In combination with an internal timer the MCU can easily calculate the read frequency and make its calculations for the real objstacle distance. 

Pin 7 is also an external interrupt pin but the oscilloscope reads a 6.182hz square wave. We cannot be sure yet if this square wave is coming out of pin 7 or it's going in.

On pin 8 we have a square wave of 24.71hz. On pin 9 we have a 12.35hz waveform which i followed using the oscilloscope and a continuity meter and i came across a very interesting implementation. As it looks Timer 1 is generating this waveform, then it's inverted through the Schmitt trigger it's filtered and converted to a DC signal and then this signal is feed to the mcu RESET pin through the Schmitt trigger again reversing its polarity. By this implementation when the mcu is normally running it's providing 12.35hz which is then inverted, filtered and again inverted as a result to a zero voltage. When something goes wrong with the mcu (crash – infinity loop etc) and the T1 stops generating this frequency the output of all the above implementation is going high triggering the mcu to reset. This is a very clever "hardware" watchdog and it's something i see for the first time. 

Here is the schematic of this implementation 

Pins 16 to 19 look to drive the actual transducers as these are 4 identical pins generating the same frequency as the one i read on the sensors but in different timeslots. 

Finishing with all the pins i tried to move on and check the routing of the all 4 pins of 6.173Khz with a continuity meter and a desktop light in the backside of the PCB. As these pins are 4 in count probably they may have to do with the four sensors. The continuity shows that each of these pins is connected to the Enable pin on each channel of the analog switch. The Analog Switch consists of 4 analog switches each one having 2 pins that can be actually bridged and one pin that's the enable pin and in fact this pin triggers the corresponding switch bridging. Checking the pins of the IC and using the datasheet i found that one pin of all the analog switches is connected to the filter/amplifier and the other pin is connected to the analog front end of the corresponding sensor. So the logic diagram looks as the following. 

The incoming signals from each sensor is coming to the analog switch and the MCU using the four 6.173Hz square waves selects which sensor input wants to be driven through the Filter & Amplifier to the MCU and finally be decoded. As it looks from the above description the Pin7 (INT1) is not used as an external interrupt pin but as an output pin generating a waveform of 6.173Hz. All four 6.173Hz square waves are in different timeslots. 

Here is the 6.173Khz waveform (yellow) in compination with the 40KHz transducer frequency (Red) 

Regarding the transmission path, the soundings are coming out from the MCU pins (40Khz waveforms described above) then pass through the Analog Front End which also amplifies the signal with the transformers and then finally drive the transducer.

Combining all the above findings we can separate the circuits on the PCB as below

In the end i was really curious to see how the sensors look inside and how they are made of. So i tried to tear down or better to brake them down.

As you can see from the above pictures the whole enclosure is filled with an elastic resin something like silicon and just above the transducer there is a soft white textile material like a sponge visible in the photo above. The transducer itself is indeed a piezoelectric transducer which is very similar maybe the same size as well to the ones you can find in the Christmas wishing cards which plays xmas songs when you open them. 

Latest Post: Owon DS7102 – Rotary Encoder Noise Malfunction Fix

Hello All!

It has been a while since my last post. I had a lot to do all these days so my spare time was really cut down. In this post i'm going to write a small how to on how to fix possible rotary encoder problems on your OWON SDS7102 Oscilloscope. 

The issue:

Today while i was trying to read an analog signal using my OWON SDS7102 scope i realised that the Volts/div rotary encoder of Channel 1 didn't work as suspected. By turning the knob the value was jumping steps or do nothing ro changing direction. For example if channel 1 was set to 2V/div and the volts/div knob was turned one step right the value was jumping to 50V/div or to 20mv/Div or to another random value instead of 1V/div. 

In an older post i was analysing how a rotary encoder works. Brinking that post to my mind i thought that may be there is a filtering issue and the mcu reads most of the noise coming out of the encoder as a real output.

As a hardware engineer i always like to tear down the devices and see what is really going on inside. So i did and i reached the keyboard pcb.
OWON screws

After removing the backside of the scope you only need to unscrew the 5 screws shown in the above photo in order to reach the keyboard. 

Owon keyboard pcb backside

And… this is the keyboard back side. What i did was to solder two 100nF on each rotary encoder (one on each output) to filter the output signal. Each encoder has 3 pins in a row. The one in the middle is the GND and the other two on the sides are the outputs. As you can see in the above photo in the first raw i have soldered through hole capacitors and on the other two rows i have soldered SMD. Both types do the job and it's on your choice. 

After the reassembly of the oscilloscope i made a test and i show fully improved behaviour of all the knobs. The capacitors solved the problem and increased the quality of the knobs.

The conclusion is that the Chinese manufacturer may had chosen to make a software filter instead of adding these capacitors to reduce the cost but the software finally wasn't that good to filter all the noise. By adding these capacitors we reduced the noise going to the mcu from the rotary outputs and make software filter life easier. 

Now you can understand how important are the capacitors!

Latest Post: Nokia 5110 Graphics LCD

I received a sample of Nokia 5110 graphics lcd from IC Station to write a review including a small example project. 

The first impression. 

When i received the LCD i realised that the shipping package was very protective and the LCD was in excellent condition without any blemish of shipping.

The LCD has a very good size 84×48 pixels that feets most of embedded projects and comes in a very low price. 

Technical Data:

  • Power supply voltage: 2.7V-3.3V
  • Data interface level: 2.7-3.3V
  • Backlight power supply voltage:highest 3.3V
  • Module size: 43.6mm x 43.1mm(width X height)
  • Installation diameter: 2mm

Here i would like to note the function i liked most. On this LCD module you can configure the contrast in software without making any modifications in hardware. Usually most LCD modules in the market have a potentiometer or you have to add one in order to configure the contrast.

Note! As you see in technical data the data interface level is 2.7-3.3V so you have to include a level shifter if you use a 5Volt interface. 

Manufacturing quality

The manufacturing quality of the LCD i received was very good except the silkscreen at the bottom of the PCB module where the letters wasn't printed in good form but this doesn't effect the functionality of the LCD. 

Nokia 5110 Graphics LCD Nokia 5110 Graphics LCD


In order to test the LCD i made a simple project using Arduino (i don't usually use it but it is very good for fast prototyping and testing) and i built a simple thermometer with the well known LM35. 

It took me about an hour or less to make it work and write a simple testing software. To interface the LCD i used Adafruit's well documented Nokia 5110 LCD Open Source Driver which can be found here

First i used the example included in the Adafruit's LCD Driver to make sure the wiring was working and just after that i wrote a simple project to print my Logo. 

Attention! I didn't use a level shifter even though i used an Arduino uno which uses 5V data interface. That's not correct and may damage your LCD. I run this application only for a few minutes just for the review. 


RST -> Arduino PIN3
CE -> Arduino PIN4
DC -> Arduino PIN5
DIN -> Arduino PIN6
CLK -> Arduino PIN7
VCC & BL -> Arduino 3V3
LM35 VCC -> Arduino 3V3
LM35 Output -> Arduino PIN A0


Nokia 5110 Graphics LCD Candrian Logo

After i saw that everything was working as it supposed to i wrote some code to read the analogue output of LM35 and display it on the LCD making a simple digital thermometer. 

Nokia 5110 Graphics LCD Simple Thermometer


The Source Code:

Latest Post: My new home lab

I'm writing this article to share with you some photos of my new home lab i built on my own. It is a lab designed on my needs and on my lab equipment i already own. It had to be small to feat in a door space and at the top of a desk. On the other hand it had to be big enough to include all of my stuff. That was a challenge and i had to take advantage of any available space. In order to make it more compact and safe i also included an electrical installation.

First i designed a 3D Cad model.

3D Cad 3D Cad 3D Cad 3D Cad 3D Cad 3D Cad

After i checked that everything is correct i ordered the wood pieces which finally was made out of 16mm Melamine. 

Melamin 16mm Pieces

I firtstly assembled it on the floor to make things easier. 

Assembled on the floor

I placed it on the desk top

Placed at the top of the desk

and i started making the electrical installation. 

Making the electrical installation

Finally it looks like this: 

And...this is it! Doors expanded

As you can see on the right photo in order to take advantage of the free space on the left of the red drawer i designed a vertical drawer that can be push-pulled and hang hand tools. 

Latest Post: Power Line Communication – (Video)


PLC (Power Line Communication) is the technology that allows data transmission over the existing Power Line network. Power Line can be the home power network or the national electricity transmission grid. The data that can be transferred is as diverse as its speed. With speeds of nearly 200Mbps, video transmission, voice, data and any other services can be transmitted successfully.

On this article i'm going to describe in detail my B.Sc Thesis in department of Electronic Computer Systems Engineer at Technological Education Institute of Piraeus, October of 2012 in Greece.

The project includes the design of two modules (transmitter – receiver) implementing a serial communication over the Mains connecting a remote large display to a weighing machine. 

The main idea:

The main idea of the communication process is simple described in the following diagram.  


From right to left, data to be transmitted are first modulated (digital bits are converted to analog frequency/sine wave e.g. bit 1 is converted to a sine wave of 10Khz bit 0 is converted to a sine wave of 20Khz). In order to "clear" the Mains frequency and make the wire available for the transmitter the 50/60Hz signal is filtered. This filter clears any signal of 50Hz to 60Hz. The transmitted data then are free to travel over the Mains. When they find their destination another 50 to 60Hz filter is involved. After the filter pass the remaining signal is the modulated transmitted data. This signal is now demodulated and converted to digital bits. 

Convert data in a transferable form (Modulation):

There are different ways to modulate digital bits to a transferable frequency. I'll describe the most commonly used types.

  • FSK – Frequency Shift Keying


In FSK modulation, digital information is transmitted through discrete frequency changes of a carrier signal. For example bit 0 is modulated to a sine wave of 10Khz and bit 1 to 20Khz.

  • FDM – Frequency Division Multiplexing


FDM is an encoding method of digital data on multiple carrier frequencies. This method allows simultaneous data transfer on the available frequency range. Firstly the information to be transmitted is separated to pieces. Each piece is modulated to a specific frequency in the available frequency range. Then all the modulated signals are multiplexed to a single signal ready for transmission. 

  • UPB – Universal Powerline Bus


UPB is a communication protocol specially designed for home automation devices. It uses power line wiring for signaling and control. The implementation can simple be done by charging and discharge a capacitor, forming spikes on the current AC signal.


The pulses can be placed on 4 different but specific positions on the current AC wave. It's like a 4 bit digital number.

The receiver can simple find the position of each pulse by first recognizing the zero crossing and then start counting since the pulse sense.

Available Transmission Frequencies on AC Power Lines

As in any communication so here a frequency table specifies the allowed transmission frequencies on Power Lines.

North America: 0-500Khz




 3 – 9kHz

 Electricity providers

 9 – 95kHz

 A-Band Electricity providers

 95 – 125kHz

 B-Band Clients of electricity provider

 125 – 140kHz

 C-Band Clients of electricity provider

 140 – 148.5kHz

 D-Band Clients of electricity provider

Electronic Filters:


  • Active Filters
  • Passive Filters

Filter Types

  • Low Pass​  


  • High Pass   


  • Band Pass   

BandPass_Filter_DIAGRAMBandpass_ActiveBandpass_Passive copy

  • Band Stop   




From theory to practice …


Project Description

  • "Weight bridge" – Remote Display
  • Receiver – Transmitter Design
  • FSK Modulation 72Khz Band-A


First Stage Filter. AC Power Line Filter

The first step of the project was to filter the AC 50-60Hz Power Line signal. The best way to block any other undesired signals than the communication frequency was to design a band pass filter allowing only the communication frequency zone (72Khz) to pass.

The filter was first designed and simulated in spice software. 


Simulation Output:


Great! it looks working as it was designed to.

Because on this project we are going to play with 220-110V 50-60Hz Mains AC the above filter was modified to be more secure for experimentation and human use in the future.


  • Between the 47uH inductor and 10K resistor a 1:1 transformer was added to isolate the main circuit from Mains.
  • In parallel with R1 (10K resistor) a TVS diode was added to protect the circuit from Mains voltage spikes. 


In continue to the above filter two more filters was included in the design. One for receiving signals and one for transmitting signals.

Receiver Filter

For the receiver a simple L-C Band Pass filter was designed to remove any remaining noise and undesired signals. 


Simulation Output:


Transmitter Filter

In transmission mode we don't want to transmit any noise higher than the transmission frequency. Taking advantage of the Power Amplifier, used to transmitte the output signal, i designed a Low Pass active filter


Simulation Output:


Looking on the internet about PLC solutions i found a bunch of different chips produced by the following companies:

  • STMicroelectronics
  • Microchip
  • Texas Instruments
  • Echelon
  • Maxim Integrated

A common rule i try to follow in most of my projects is to make simple and reliable designs. To do so i try to use as less chips as possible. From the above PLC solutions only STMicroelectronics offer's a chip that includes almost everything in one chip. The ST7540 PLC Modem including the Analog Front End as well as the Power Amplifier, all in a single chip solution looks to be the best choice. 

In this design i used one more chip. A common 8-bit MCU, the Atmel's Atmega168 to control the modem and hold the communication protocol. There is no specific reason why i used this MCU but it was the MCU i knew better.

The ST7540 Block Diagram


ST7540 Receiver Path


The receiver path of the ST7540. The receiving signal is captured on RX_IN pin. First crosses a Band Pass filter which filters once more the signal depending on the selected communication band. Next, the AGC (Auto Gain Control) manages to normalize the incoming signal so that it has the same "Volume" Gain along regardless of the signal strength variations that may occur during the communication. Finally the signal is filtered again, driven thru a frequency mixer to the demodulator where the signal is demodulated  to bits and be available on RxD Pin. 

ST7540 Transmitter Path


The Transmitter path of the ST7540. The transmitter includes a Power Amplifier with all of it's pins available on the chip footprint. That was one more reason why i chose this modem. I used PA_IN-, PA_IN+ and PA_OUT in appropriate connection with passive components so that it functions not only as a Power Amplifier but as a Low Pass active filter as well. The Current and Voltage loop is a great function that provides control of the output signal strength depending on the cable load and length.

The transmitter path starts with the TxD pin where the digital bits are captured. The FSK Modulator in combination with the DAC converts the digital bits to analog signal. This signal is then filtered and amplified properly to TX_OUT depending on the output Voltage and Current sense. 

Communication between ST7540 & Atmega168


The communication between the ST7540 modem and the Atmega168 can be established using SPI (Synchronous) or UART (Asynchronous)


SPI master-slave interconnection



For this project i chose SPI to establish a Synchronous communication between MCU and Modem.

Circuits: The project was designed in Eagle Cadsoft

  • The final circuitry scheme including all the above described filters. 


  • Full schematic of the final device


  • The PCB design to board





  • Difficulty on SPI Communication
  • Difficulty on data reception
  • Design/Develop data correction protocol. 

SPI Communication Problem

One of the main difficulties i came across on this project was the modem's SPI peripheral. In SPI communication it is used the peripheral device to perform in Slave mode while the Host device is functioning in Master.
In the specific modem (ST7540) the manufacturer has determined the SPI to function only in Master mode making the Host MCU to perform in Slave. 

This comes in contrasts with the basic concept of the implementation where the Host controls the line communication and defines the timing of transmission. The Host defines the synchronization clock as well as the start / end of the SPI communication.

SPI protocol in order to define the start / end of the communication requires an additional line the SS. By this line the Master can signal the Slave when the communication starts/ends. While the ST7540 is working in Master mode it doesn't include this additional line thus increases the difficulty of SPI synchronization. 

After a lot of hours of SPI debugging using logic analyzer and testing different combinations i found an unusual but working method. In order to enable the Slave's (Atmega168) SS pin to indicate SPI's start/stop i used another pin of the same MCU and not one of the ST7540 (while it wasn't included).

So by checking the CD_PD line (carrier frequency detect line) of the ST7540 the MCU knows when there are available data for reception in ST7540. If the MCU detect available data enables the SS pin and the SPI communication starts by receiving the available data. When the data reception ends thus the CD_PD pin has changed state to indicate that there are no more available data the MCU restores the SS pin to its initial state disabling the SPI and clearing the SPI bit counter used to synchronize the communication. 

This method is like deceiving the SPI while the same (Slave) device enables its SS pin. 

Data Correction Protocol

Once successfully completed the data transmission between the ST7540 and the Atmega168 one more problem occurred. After several data transmissions and monitoring the transmitted data using Oscilloscope and Logical Analyzer it observed that many times the data received differed from those sent.

After studying the taken measurements it was found that the received data were not wrong in their content but in the bit sequence. The received bytes were shifted one or more bits to the left thus some of the most important bits were lost in the transmission.

To prevent and automatic correct the received data from possible "undesired shifts" a correction protocol was designed.

On the following example i randomly added 2-shift error on New byte 2 and 1-shift error on New byte 1

Protocol Steps:

  • Transmitter:
  1. The byte to send is first separated to two nibbles.
  2. Nibble 1 and Nibble 2.
  3. The header 0x10 is logical AND at each new byte
  4. The new bytes (New byte 1 and New byte 2) are ready to be send
  • Receiver:
  1. The receiver makes a logical AND to the received byte with 0xF0 and check's if the header is > 0x10. The main idea is to check if the received byte's header is 0x10 or it is shifted left. 
  2. If it's > 0x10 it means that the received byte was shifted left. So the receiver shifts the byte one bit right and checks again. 
  3. This procedure is repeated until the header of the received byte become 0x10.
  4. When the header becomes 0x10 it "means" (if the byte was really shifted) that the right half byte (nibble) is the correct half byte that was first sent from the transmitter.
  5. The same procedure is repeated for the the "New byte 2"
  6. The two right halves of the received bytes are then combined to one new byte which is the final byte to read. 




For safety reasons the power strip where the PLC modules were connected during the tests was modified by adding a four contact switch with light indicator and a fuse.  

Before After

An extra fuse was added to each power cable used to connect the PLC module. 

The Mains 50-60Hz filter was built in a separate removable PCB for extra protection. The PCB was also wrapped with heat shrinkable avoiding user contact to Mains. 



More Photos:

Debugging … Flashing and Debugging again … 



The final project connected on the Mains.


The module board.


The Mains 50-60Hz filter was developed in a separate removable PCB for protection reasons.


The 50-60Hz filter was also wrapped with heat shrinkable avoiding user contact to Mains


RS232 to UART converter.


Modified wall plugs 12V 1A used to power the PLC modules.


First Blinking Led Test.

Final demonstration

The source code as well as the PCB & Schematic can be found here:



Project presentation at 1st Innovation Festival Technological Educational Institute of Piraeus (Video in Greek)




Latest Post: Thermostat V1.0


In the need of my new homemade energy saving fireplace (which boils water for the radiator) i designed and built a digital thermostat. The idea to design my own thermostat came when i came across with the following problem.

When i first fire the fireplace the water in the boiler around the fireplace is cool. After a few minutes the fireplace warms the water enough so that the water temp exceeds the thermostat limit. The thermostat changes state and drives an electric valve to move the water from the fireplace boiler to the radiators. The electric valve is slow enough and takes a few minutes to make a full turn. While the water is moving from the fireplace boiler to the radiators, circularly cool water is coming back in the fireplace boiler from the radiators. Τhe water temp in the fireplace boiler is getting cooler and after a few minutes falls under thermostat's limit. The thermostat changes state and stops the valve from driving the water to radiators. This happens again and again until the whole amount of water in the radiators is get warm

To prevent this problem from opening and closing the electric valve in so small time spaces i designed a thermostat that can delay the sample points. It check's the fireplace boiler temp and drives the electric valve once the water temp exceeds the thermostat limit. After that it waits for a half hour or more and then checks the water temp again.

The Design:

A simple Power Supply design using LM7805 regulator and two capacitors. 


For Menu selection and device configuration a Rotary Switch is used. The selected rotary includes a push button switch as well. 


Two Relays manage to drive external electric valves


The user interface is displayed on a HD4780 LCD Character Display with configurable backlight.


The main MCU is the 8-bit AVR ATMEGA168. A Buzzer manages to indicate the user for a button press or a limit exceeded. Two LM35 temp sensors one internal and one external measure the ambient and pipe – fireplace boiler temp. You can also notice a 32.768Khz crystal. This crystal is used to impliment a real time clock which keeps real time delays.


Writing the Firmware

Writing the Firmware

All the components. The front panel is printed on a laser printer using transparent paper.

All components Front Panel

Milling notes Circuit Top view

Homemade PCB without ISP header to make faster board routing.

MCU Flashing Bottom View

The source code as well as the PCB & Schematic can be found here:



Latest Post: Carbon Fiber Exhaust Repair

I'm writing this post to share with you some photos of my motorbike's exhaust system repair. 

For the repair i used 1 meter of carbon fiber tape and 1 liter of resin (i didn't use all of the resin but that was the smallest available amount in the market). Total cost of the repair was about 40


Cleaning and sanding the broken place.  Placing the first carbon fiber layer 

Exhaust Repair Exhaust Repair

The final result: (On the final surface you can view some bubbles that came out because i didn't use a vacum machine)

Exhaust Repair Exhaust Repair

Latest Post: Macbook Pro 13.3″ Simple Sleeve

One Sunday while i was watching my grandmother's sewing machine it came on my mind to build a simple modern Sleeve for my Macbook Pro 13.3". The materials i used was what i found lying around. An old pair of blue jeans and a piece of durlap in the store room used for sack repairing. It didn't take more than one to two hours to learn how to use the sewing machine (by reading the manual and some videos on youtube) and cut the materials in the correct form.

Here is the result of the unique Candrian Sleeve

I used the bottom of the jean as a pocket in the Sleeve

Latest Post: IV-11 VFD Tube Aluminium Case

Today (Jun 7, 2013) i finished my first IV-11 VFD Tube Unibody Aluminium clock prototype.

From 3D Model:

3D Model Assembly 3D Model Assembly

3D Model 3D Model

3D Model 3D Model

To Real Model:

IV-11 VFD Clock (Aluminium) IV-11 VFD Clock (Aluminium)

IV-11 VFD Clock (Aluminium) IV-11 VFD Clock (Aluminium)

IV-11 VFD Clock (Aluminium) IV-11 VFD Clock (Aluminium)

IV-11 VFD Clock (Aluminium) IV-11 VFD Clock (Aluminium)

IV-11 VFD Clock (Aluminium) IV-11 VFD Clock (Aluminium)

More info:

Latest Post: IV – 11 VFD Tube Clock V1.2 (Greek Design)

Click for more info IV – 11 VFD Tube Clock V1.2