Interfacing analog Joystick with AVR

In this tutorial we are going to learn something interesting which is already sued by many people to play games. Yes, the analog joystick which is used to control the motion of a vehicle or a character. They are also used to control the motion of a RC car or maybe a RC helicopter. Normally all the joysticks are two axis joysticks. The ‘y’ axis is used to move the object forward or backward while the ‘x’ axis is generally used to move the object left or right. These joysticks are available both in digital and analog outputs. The digital joystick gives pulse width modulated output but is more costly than the analog output joystick.


In this tutorial, we will get the input from the joystick from both the ‘x’ and the ‘y’ axis, convert the analog data into a digital value and then display the data into LCD.  Before starting the tutorial, I will recommend you to read the LCD tutorial, if you haven’t, which can be found in the AVR tutorial section. Also, before displaying the data there will be some minor calculations involved. Continue reading

Raspberry Pi Surveillance System

The surveillance system, also known as PATOSS, monitors various environmental parameters of a bird named PATO. The project is made by Jorge Rance. The project monitors PATO recovery  by streaming videos of what he’s up to to the web, checks on the ambient temperature  and also the water level in his little dish and also automatically tweet once an hour  to let the owner know whether everything is as it should be, with a live picture attached taken by the webcam. The data is transmitted by a WIFI dongle.


The whole PATOSS system is Creative Commons licensed so you can adapt it for your own needs. The project was implemented using a Rasberry Pi B model along with an input/output expander, a webcam, a wifi dongle an usb temperature sensor and also a liquid level sensor. The onboard operating system used was Raspbian.

Programming the Intel MCS-48 Microcontrollers

The Intel series of MCS-48 family of microcontrollers, commonly known as the 8048 series were one of the most prominent microcontrollers 35 years back. All they feature is 64 bytes of RAM, and access to 4096 bytes of external program memory.


The first thing was to make sure that an EEPROM was loaded with the program; however they supported the D27256 series of eeprom instead of D2758 series. To solve the problem upper addressable bits were tied to ground and the solution worked. The program was written in assembly with Windows 7 as the developing platform since the programming tools are running on the Windows platform.

Early Intel processors combine the address and data bits onto the same lines and use two signals: ALE (Address Latch Enable) and PSEN (Program Store Enable) to signal what state the bus is in. This was done to save costs and keep pin count down. Unfortunately this complicates the connection to an external PROM. To solve the problem Andrew Rossignol used an external latch to store the address lines after the bus returned to a floating state.

TV-GO-Sleep – timer that turns off any TV

Most of you have wished that you had a remote control that could be set to turn off your hotel TV after a pre-determined amount of time. The TV-GO-sleep timer exactly does that. The timer is built around an Arduino microcontroller, and hence can also be used to make your own modifications at any time. A simple push button is used to set the timer, which is displayed on a single seven-segment display. When the timer expires, the Arduino uses infrared LED’s  to transmit all the ‘off codes’ it knows, and the TV shuts down.

The project is easy to make and all the required parts are easily available online or any local hobby shop.  The project just requires an Arduino, some resistors, a circuit board and 3- infrared led’s along with a box which is used for mounting the remote. Initially the timer will display 9 which is equal to timer of approximately 90 minutes. On every push button interrupt, the timer decreased by approximately 10 minutes.