Tuesday, March 31, 2009

Digital Clock Timer Circuit

Digital Clock with Alarm Using DS1307
DS1307 is a hardware realtime clock, which works on I2C protocol.

Better graphics using the same old fashioned alphanumeric LCD
(type HD44780). Icons which shows the status for Alarm ON/OFF
state, which gives a nice and cute look to the clock.

PIC Digital Clock Timer
This clock timer uses a PIC16F628 microcontroller to display 3

and 1/2 digit time and control an external load. The clock includes
a calendar with leap year and optional daylight savings adjustments.
The timer output can be set from 1 to 59 minutes and manually
switched on and off. The clock also has a correction feature that
allows an additional second to be added every so many hours to
compensate for a slightly slow running oscillator. The oscillator
uses a common 32.768 KHz watch crystal and the frequency can
be adjusted slightly with the 24pF capacitor on the right side of the

PIC Digital Multiple Clock Timer
This circuit uses the PIC16F628 microcontroller to provide 4

timed outputs that can be programmed from 1 minute to 1 week.
An extra 8 bit shift register (74HC164) is used for the 4 timer
outputs and to display four additional indicator lights.

Digital Clock with Timer and Solar Panel Regulator
This is a combination digital clock timer and solar panel charge

controller used to maintain a deep cycle battery from a solar panel.
The timer output is used to control a 12 volt load for a 32 minute
time interval each day. Start time is set using 9 dip switches and
ends 32 minutes later. The 32 minute duration is set by selecting
the 5th bit (2^5 = 32) of a 4040 binary counter (pin 2). The timer
also has a manual toggle switch so the load can be manually
switched on or off and automatically shuts off after 32 minutes.
The time duration can be longer or shorter (8,16,32,64,128,256
minutes etc.) by selecting the appropriate bit of the counter.
The timer circuit is shown in the lower schematic just above the

Digital Clock with MM5314N
The digital clock of circuit, has as base one IC, the MM5314N,
in which are contained all the circuits that need. The IC1
collaborates with six Display of common anode, that are not
critically as materials. You can select what dimension, you want
it is enough you adapt pins their in the circuit. The display are
drive by a system of polyplexis and are drive by thirteen
transistors. For timing the circuit, is used the frequency of
network (50HZ). This solution is the simplest, that it is not best.
For more constant frequency you can use a circuit that would
be based on crystal,

Monday, March 30, 2009

7-Segment Digital clock circuit

Build a digital clock that turns AC load on/off with preset time

Figure 1 shows a circuit diagram of the Clock Controller V1.1.

P10-P1.7 drives 7-segment common anode LED with sink current.
P3.0-P3.3 also drives a base pin of 4-PNP transistor, 2n2907 with
sink current. As shown in the figure, the 2nd 2-digit LED that
connected to P3.2 and P3.3 is rotated 180 degrees to the 1st
2-digit allowing the pt. segment to be used for 1 second blinking.
P3.0-P3.3 also connects four momentary switches while the other
legs are tied to input port P3.4. During display and key switch
scanning, a logic '0' is shifted from P3.0 to P3.3, if there was a
key pressed, P3.4 then became low. P3.7 is a 1-bit sink current
driving, an example in the circuit uses a 2n2907 to drive a small
electromechanical relay 5V, say.

Blue Clock (Atmel Atmega8535 microcontroller)
The power comes in at the top left of the schematic. A bridge

rectifier is used so the polarity of the input signal doesn't matter.
A small SOT223 package, 5V regulator is used to provide
regulated voltage the Atmega8535, RTC, and the LED display
drivers. The Real Time Clock data is comes in from the PCF8563P.
This IC has a 32.768 crystal to keep time and a uses a 3V
CR2032 lithium battery when powered down. SW1 - SW4 are
the four pushbuttons for user input. The MBI5027 constant current
display drivers (24 pin DIP) from Macroblock can be a little hard
to find. They use power directly from the wall transform to turn
on the 7 segment LED's.

AVR 7-segment clock
The circuit can be viewed in every electronic book. Some

7-segments and LED's arranged as a matrix in rows and
colums and a multiplex routine written in assembler. The two
buttons are for setting the time.

Realtime clock with LED display and 89S8252
A real time clock using six 7-segment displays is used in this

project to display the time in HH-MM-SS format using a micro
controller ATMEL-89s8252 with minimum number of external
components. Five switches are used to set the HOURS
MINUTES (+/-) and one for zero reset of the clock display.
The micro controller runs of a 6Mhz crystal which also acts as
the time base for the clock.

Digital Clock with PIC16F84A
This is a small ajustable clock, I made based on PIC16F84A

microchip.The hardware part is very simple because it only
uses 74hct238 demultiplexer, 4x7 segments, and some rezistors.
The software part is programmed through a device connected to
serial port with icprog and made/debuged with MPlab.

Sunday, March 29, 2009

Relay Toggle Circuit

Relay Toggle Circuit Using a 555 Timer
This 555 timer circuit below toggles a relay when a button is
pressed. Pins 2 and 6, the threshold and trigger inputs, are
held at 1/2 the supply voltage by the two 10K resistors.
When the output is high, the capacitor charges through the
100K resistor, and discharges when the output is low. When
the button is pressed, the capacitor voltage is applied to pins
2 and 6 which causes the output to change to the opposite
state. When the button is released, the capacitor will charge
or discharge to the new level at the output (pin 3).

Relay Toggle Circuit Using a 556 Timer
This toggle circuit operates by using a couple 555 timers wired
as inverters. Pins 2 and 6 are the threshold and trigger inputs to
the first timer and pin 5 is the output. The output at pin 5 will
always be the inverse of the input at pins 2 and 6. Likewise, the
output at pin 9 of the second timer will always be the inverse
of the input at pins 8 and 12. A 100K resistor connects the
output of one inverter to the input of the other so the state of
one will be the opposite of the other.

Single Transistor Relay Toggle Circuit
The circuit below requires a double pole, double throw relay in
conjunction with a single transistor to allow toggling the relay
with a momentary push button. One set of relay contacts is used
to control the load, while the other is used to provide feedback
to keep the relay activated or deactivated. Several push buttons
can be wired in parallel to allow toggling the relay from different

CMOS Toggle Flip Flop Using Push Button
The circuit below uses a CMOS dual D flip flop (CD4013) to
toggle a relay or other load with a momentary push button.
Several push buttons can be wired in parallel to control the
relay from multiple locations.

Toggle Switch from A Push On Switch
When there is no toggle switch available, maybe this circuit
can be used for changes. I made this circuit to run a toggle
foot switch, controlling blower table.

Friday, March 27, 2009

USB to Microcontroller Interface Circuit

USB to Microcontroller UART Interface Circuit

Figure 7.4 USB to MCU UART Interface
An example of using the FT232R as a USB to Microcontroller
(MCU) UART interface is shown in Figure 7.4. In this application
the FT232R uses TXD and RXD for transmission and reception of
data, and RTS# / CTS# signals for hardware handshaking. Also
in this example CBUS0 has been configured as a 12MHz output to
clock the MCU. Optionally, RI# could be connected to another I/O
pin on the MCU and used to wake up the USB host controller from
suspend mode. If the MCU is handling power management functions,
then a CBUS pin can be configured as PWREN# and would also be
connected to an I/O pin of the MCU.

USB to Microcontroller parallel Interface Circuit

Figure 12 illustrates a typical interface between the FT245BM and
a MicroController ( MCU ). This examples uses two IO Ports of the
MCU, one port ( 8 bits ) to transfer data and the other port ( 4 / 5 bits )
to monitor the TXE# and RFE# status bits and generate the RD# and
WR strobes to the FT245BM as required. Optionally, SI / WU can be
Connected to another IO pin if this function is required. If the SI / WU
function is not required, tie this pin of the FT245M high. If the MCU is
handling power management functions, then PWREN# should also
be connected to an IO pin of the MCU. The 8 data bits of Port 1 can
be shared with other peripherals when the MCU is not accessing the

FT245BM datasheet pdf

USB from RS-232 UART with Minimal Impact on
PC Software
The RS-232 serial interface is no longer a common port
found on a personal computer (PC). This is a problem
because many embedded applications use the RS-232
interface to communicate with external systems, such as
PCs. A solution is to migrate the application to the
Universal Serial Bus (USB) interface. There are many
different ways to convert an RS-232 interface to USB,
each requiring different levels of expertise. The simplest
method is to emulate RS-232 over the USB bus. An
advantage of this method is the PC application will see
the USB connection as an RS-232 COM connection and
thus, require no changes to the existing software.
Another advantage is this method utilizes a Windows®
driver included with Microsoft® Windows® 98SE and
later versions, making driver development unnecessary.
The objectives of this application note are to explain
some background materials required for a better understanding
of the serial emulation over USB method and
to describe how to migrate an existing application to
USB. A device using the implementation discussed in
this document shall be referred to as a USB RS-232
emulated device. The author assumes that the reader
has some basic knowledge of the USB standard. All
references to the USB specification in this

Continue using COM by Emulating RS-232 over USB

more pdf


This is handly prototype board for development of USB
application with PIC18F4550 microcontroller. The great all about
it is that if you want only to load code to it i.e. to program it you
can do this without any additional programmer. Microchip provides
these free USB solutions for their microcontrollers which are
available for you to use off the shelf: USB HID Class firmware you
can build mouse or other Himan Interface Device for Windows,
USB CDC Communication class device, USB Mass Storage
firmware - add your own USB disk drives to your computer,
USB-to-RS232 driver. The planty of prototype space allow you easy
to add on sensors, relays and other peripherial devices to interface
to USB. The board can take power from USB or from External supply
with small jumper selection. RESET button, User button and LED
are on-board.



This is starterkit which allow you to explore all capabilities of
PIC18F4550 and the Microchip's USB firmwares. The software
examples include: USB HID mouse which allow you to move the
mouse cursor with the four buttons on the board, USB Mass
storage device on SD-MMC card simple adds USB disk to your
computer, USB to RS232 converter all these firmware under your
control and ready to be customized and embedded in your next
application. The debugging is In-Circuit through ICSP connector,
the free available ports are put on EXTension connector.



AT90USB162 is the easiest way to add USB functionality to your
next device, Atmel provide free open source HID (mouse, keyboard)
and CDC (USB-to-RS232) code and on top of this AT90USB162
cost is same as ATMega16, so what you are waitng for?

AVR-USB-162 board provide the basic circuit necessary to work with
AT90USB162 - USB connector and circuit, external power supply if
your circuit require more power than 100mA which usually USB port
provide, button, status LED, reset button. All AT90USB162 come from
Atmel pre-programmed with bootloader which allow code to be
programmed inside the chip without any external programmer, just
download the FLIP software from Atmel web site and load your HEX
code inside

Implementation USB into microcontroller: IgorPlug-USB (AVR)

Purpose of this article is to inform readers about implementation
USB interface into singlechip microcontroller, which this interface
directly not supports. Simply: implementation USB interface on
firmware level (similar as emulation of RS232 interface in
microcontrollers, which not have RS232 support). This project
includes development of firmware on microcontroller side, driver
development on computer side (for Windows operating system) ,
development of DLL library for functions calling from another
programs (programmers level) and development of demo program
(users level), which shows all functions of this device. Device is
named IgorPlug-USB (AVR) (as successor of my previous device
for computer remote control IgorPlug - serial port version).

Universal USB interface

Thursday, March 26, 2009

USB to RS485 Circuit

Designing RS-485 Circuits

RS-485 in Brief
Jan Axelson
But first, a quick look at RS-485. The interface popularly known
as RS-485 is an electrical specification for multipoint systems that
use balanced lines. RS-485 is similar to RS-422, but RS-422 allows
just one driver with multiple receivers, while RS-485 supports
multiple drivers and receivers.
The specification document, TIA-485-A, defines the electrical
characteristics of the line and its drivers and receivers. There
are brief suggestions relating to terminations and wiring, but
unlike RS-232, there's no discussion of connector pinouts or
software protocols. An RS-485 network can have as many as
32 unit loads, with one unit load equivalent to an input impedance
of 12k. By using high-impedance receivers, you can have as
many as 256 nodes.
An RS-485 link can extend as far as 4000 ft., and can transfer
data at up to 10 Mbps, but not both at the same time. At 90 kbps
the maximum cable length is 4000 ft; at 1Mbps, it drops to 400 ft,
and at 10Mbps, to 50 ft. For more nodes or very long distances,
you can use repeaters that regenerate the signals and begin a
new RS-485 line


USB to RS485 Circuit

Figure 7.2 Application Example Showing USB to RS485 Converter
An example of using the FT232R as a USB to RS485 converter is
shown in Figure 7.2. In this application, a TTL to RS485 level
converter IC is used on the serial UART interface of the FT232R
to convert the TTL levels of the FT232R to RS485 levels.

This example uses the Sipex SP481 device. Equivalent devices
are available from Maxim and Analogue Devices. The SP481 is
a RS485 device in a compact 8 pin SOP package. It has separate
enables on both the transmitter and receiver. With RS485, the
transmitter is only enabled when a character is being transmitted
from the UART. The TXDEN# signal CBUS pin option on the
FT232R is provided for exactly this purpose and so the transmitter
enable is wired to CBUS2 which has been configured as TXDEN#.
Similarly, CBUS3 has been configured as PWREN#. This signal
is used to control the SP481’s receiver enable. The receiver enable
is active low, so it is wired to the PWREN# pin to disable the
receiver when in USB suspend mode. CBUS2 = TXDEN# and
CBUS3 = PWREN# are the default device configurations of the
FT232R pins.

RS485 is a multi-drop network; so many devices can communicate
with each other over a two wire cable interface. The RS485 cable
requires to be terminated at each end of the cable. A link (which
provides the 120X termination) allows the cable to be terminated if
the SP481 is physically positioned at either end of the cable.

FT232R Datasheet pdf

Tuesday, March 24, 2009

Rotary Encoder Circuit

Rotary Encoder
A digital optical encoder is a device that converts motion into
a sequence of digital pulses. By counting a single bit or by
decoding a set of bits, the pulses can be converted to
relative or absolute position measurements. Encoders have
both linear and rotary configurations, but the most common
type is rotary. Rotary encoders are manufactured in two
basic forms: 1) the absolute encoder where a unique digital
word corresponds to each rotational position of the
shaft, and 2) the incremental encoder, which produces
digital pulses as the shaft rotates, allowing measurement of
relative position of shaft. Most rotary encoders are
composed of a glass or plastic slotted disk. As radial
lines in each track interrupt the beam between a photoemitter-
detector pair (or Optointerrupter), digital pulses are produced.

Inexpensive rotary encoder
The circuit outputs are high as default. When the spindle
is turned, there will be pulses on the outputs. The lower
square wave output signal leads or lags 90 degrees in
respect to the upper signal - it depends on the direction
the spindle is turned. The circuit works from 2V up to 36V,
so 3.3V logic works too. The LM393 gives out good pulses
with as little as 5mV differential input, which means that this
circuit works even when the motor is turned very slowly.

Rotary encoder converter circuit
This circuit used convert signal from Rotary encoder (A,B) to
two pulse signal
- Y for CCW direction
- X for CW (clockwise) direction
Two pulse signal is easy for microcontroller programing
The circuit used two D-type flip-flop(74HC74D) for the judgement.

Magnetic Rotary Encoder Design
Inspired by Nopheads fantastic printing progress using his
encoder, I decided that RepRap would greatly benefit by having
an awesome, standardized rotary encoder board. The optical
encoders can be finicky and hard to mount. Many RepRappers
have also had great success in the past using AS50**
family chips, so I decided to go that route.

Rotary Encoder Counter Circuit
If we re-design the encoder to have two sets of LED/phototransistor
pairs, those pairs aligned such that their square-wave output signals
are 90o out of phase with each other, we have what is known as a
quadrature output encoder (the word "quadrature" simply refers to
a 90o angular separation). A phase detection circuit may be made
from a D-type flip-flop, to distinguish a clockwise pulse sequence
from a counter-clockwise pulse sequence:

Quadratrack: Using Mechanical Rotary Encoders
These mechanical encoders generate a "quadrature" signal. I
don't know the origin of the term quadrature but basically it
means there are four states that this device can be in. Further,
transition from one state to the next is well defined so with a
simple circuit or some software you can translate the pulses
into rotation movement.

The three pins on the device are A, B, and Common.
Since they are mechanical they are simply switches that
connect the A pin, the B pin, and then both the A and B
pin to the C pin. A simple circuit for hooking this up is shown

Timer Circuit

Asymmetric Timer
A simple astable timer made with the 555, the mark (on)
and space (off) values may be set independently. The timing
chain consists of resistors Ra, Rb and capacitor Ct. The
capacitor, Ct charges via Ra which is in series with the
1N4148 diode. The discharge path is via Rb into into pin
7 of the IC. Both halves of the timing period can now be set

Timer Circuit
Timers are fundamental building blocks, and as such timers
are found in practically every electronic circuit. There are
many kinds of timers, available off-the-shelf from resellers of
electrical and electronics goods, because circuits circuits
involving timers have thousands of practical applications.

Timer circuit
The erasing time of an EPROM variate about 10 to 40 minutes.
It is a pity to waste our time to waiting it while watch the clock
round until the EPROM has to be erased. Here a circuit to get
the perfect time while it is erased, we can do some another
work and let the eraser work by it self. Figure I-2. shows
this timer circuit diagram.

ames timer
Although the diagram looks complicated, you should be able
to identify the important sections of the circuit. Look first for
the 2-pole 6-way rotary switch. Pole A is used to select the
appropriate value for RT . Only one of the timing resistors can
be in the circuit. For example, if the switch is operated so
that the 18 kW resistor is selected, the timed interval will be 1

CMOS 24.055 Hour Timer
The resulting timer circuit is made from a CD4060, includes an
oscillator and a 14 stage binary counter, two CD4040's, which
are 12 stage binary counters, a CD4012 Dual Nand gate and
a CD4013 Dual D Latch.

The CD4060 is connected to a 32768 Hz ECS 3X8 tuning form
crystal. The 10 Meg Ohm resistor between CD4060 pins 10
and 11 are to bias the internal inverter into its analog region,
and the 330 K resistor in series with the crystal is to limit the
power to the crystal. This setup is directly from the ECS
data sheet. The output of the 14th flip flop in the CD4060
appears on pin 3, and it is a 2 Hz square wave. A 2N4401
buffer drives a green LED with this square wave. When I
see it blinking through the plastic window of the Irrigation
System Controller housing, I know that power is on, and
that at least the oscillator and first 14 counter stages are working.

Electronics timer by CD4060

This is an electronics timer by CMOS CD4060 which is CMOS
14 Stage Ripple-Carry Binary Counter/Divider and Oscillator.

Two 24-Hour Timer Circuits
These two circuits are multi-range timers offering periods of
up to 24 hours and beyond. They can be used as repeating
timers - or as single-shot timers. Both circuits are essentially
the same. The main difference between them is their behaviour
in single-shot mode.

In single-shot mode - when the preset time has elapsed - Version
1 energizes the relay and Version 2 de-energizes the relay. The
first uses less power while the timer is running - and the
second uses less power after the timer has stopped. Pick the
one that best suits your application.

Repeating Timer
The Cmos 4060 IC has two built-in inverters - at pins 9, 10 and
11. They must be wired together to form an oscillator - the
output of which is at Pin 9.
While the oscillator is running - Pin 9 is switching continuously
from high to low and vice-versa.

Analog Time Delay Circuit

Time Delay Circuits
Short timing functions such as a pulsed outputs or time delays
can also be created with one or two comparator sections.

Low Voltage, High Current Time Delay Circuit
In this circuit a LM339 quad voltage comparator is used to
generate a time delay and control a high current output at low
voltage. Approximatey 5 amps of current can be obtained
using a couple fresh alkaline D batteries. Three of the
comparators are wired in parallel to drive a medium power
PNP transistor (2N2905 or similar) which in turn drives a high
current NPN transistor (TIP35 or similar).

Turn on delay circuit
As you can see there is a RC timing network. Timing resistor is
variable type. Also there is a fast discharge network R2+Q1,
which provides fast discharge of capacitor when input signal
drops and fast turn off the relay . Q1-BD140 , D6-1N5819 or
similar, R2 -510R.

Turn off delay circuit
This circuit differs from upper circuit by momentary charging
timing capacitor. When input signal drops capacitor discharges through timing resistors

Alarm stays active until you turn it off.
A hidden touch point of two pinheads is all that you need.
Use a small capacitor at C1 (.1 uF) and it will appear to turn
off instantly (about a half second).
Or use a Push Button N.O. to instantly drain C1.

PWM Generator Circuit

PWM Generator with Current Limit Circuit

PWM using 555

IC1 astable gives a fixed square wave at pin 3, C1 and R1 derive
uS trigger pulses from IC1 and this will trigger IC2 monostable or
single shot, the voltage at pin 5 of IC2 will change the pulse width
output of IC2, to get it working all the three RC combinations
have to be figured out

A Simple PWM Circuit Based on the 555 Timer

The 555 timer in the PWM circuit is configured as an astable
oscillator. This means that once power is applied, the 555 will
oscillate without any external trigger. Before the technical
explanation of the circuit, let's look at the 555 timer IC itself.

PWM generator

Here is an assembly very simple to get an oscillator giving
a fixed frequency signal but variable duty cycle. It can - after
amplifier transistor - serve to control the rotation speed of a motor
with direct current or to adjust the power of a dew-heater. We use
once again a logic gate of a CD4093 circuit.

Opamp PWM Generator Circuit

This uses the LM324, a 14-pin DIL IC containing four individual
op-amps and running off a single-rail power supply.
The sawtooth is generated with two of them (U1A and U1B),
configured as a Schmitt Trigger and Miller Integrator, and
a third (U1C) is used as a comparator to compare the sawtooth
with the reference voltage and switch the power transistor.

PWM Generator Circuit by Digital register method

an example circuit using the digital comparison method
when a microcontroller is available to set the 4-bit digital register
value. A write strobe is required from the micro to latch the 4 data
bits into the register. The 74HC161 counter is free-running,
the frequency being set by the 74HC14 oscillator section, where
it is roughly f = 1/(6.3RC). The resulting frequency of the PWM
signal will be 16 times less than this counter clock frequency,
since it requires 16 pulses to complete one "revolution" of the
counter. With R=2k and C=1nF this results in a counter
frequency of approximately 80kHz which will result in a PWM signal
frequency of 5kHz.

0 - 100% PWM generator Circuit

The next circuit I found is actually a concoction of 2 separate
designs that cunningly come together to form a 0 - 100% PWM
generator. The first stage uses a single 555 timer to generate a
constant saw tooth waveform.

Yes I know that we don’t want a saw tooth but it can be easily
converted to PWM. If you look at the saw tooth you can see
that it is a wonky triangle, but wonkyness aside it has a fat bottom
and a thin top (just like most triangles).

Intercom circuit

2-Line Intercom-Cum-Telephone Line Changeover
The circuit presented here can be used for connecting two
telephones in parallel and also as a 2-line intercom.
Usually a single telephone is connected to a telephone line.
If another telephone is required at some distance, a parallel
line is taken for connecting the other telephone. In this
simple parallel line operation, the main problem is loss of
privacy besides interference from the other phone. This
problem is obviated in the circuit presented here.


Doorphone Intercom
A simple 2 way Intercom based on the LM386386 using 8 ohm


High Quality Intercom
This circuit consists of two identical intercom units. Each
unit contains a power supply, microphone preamplifier, audio
amplifier and a Push To Talk (PTT) relay circuit. Only 2 wires
are required to connect the units together. Due to the low
output impedance of the mic preamp, screened cable is not
necessary and ordinary 2 core speaker cable, or bell wire may
be used.


Low-cost Transistorised Intercom
The circuit comprises a 3-stage resistor-capacitor coupled
amplifier. When ring button S2 is pressed, the amplifier circuit
formed around transistors T1 and T2 gets converted into
an asymmetrical astable multivib-rator generating ring
signals. These ring signals are amplified by transistor T3 to
drive the speaker of earpiece.


Multi-station intercom uses CB microphones
This intercom unit can connect any number of units together,
rather than the limit of two, as with most designs. In practice,
the number of stations required would normally number less
then 10.


Simple Intercom
Very simple and useful circuit for communication between two
person. The Q1 is used to amplify the weak output signal
of speaker when one push his (her) side push-button to speak.

This is a very interesting circuit using 2 transistors in each
station to drive a high impedance speaker. 8R speakers will
work quite well and this is an ideal project to connect between
your work-room and the kitchen so you can be told when dinner
is ready!


The intercoms were designed so that they can be added at will to
any part of the link line. The Link is a 2 core 14 strand speaker
cable of pretty standard quality but it provides almost a noise free


The Ferris Intercom
The movie "Ferris Bueller's Day Off" is a high school comedy
from 1986. It was a rather popular movie at the time and
for years afterward. Anyway, in the movie, there was a scene
where Ferris's high school principle (Mr. Rooney) comes to
Ferris's home and pushes the intercom button. Ferris should
be at home sick, but of course he is out for a day, living it up.