The Last Tram of Kolkata
Electrical Circuits & DC Motor Engineering

The Last Tram of Kolkata

Electrical circuits, DC motors, and regenerative braking on the city's last heritage route.

Electrical Circuits & DC Motor Engineering12-Month Curriculum 12h

The Story

The 6:14 AM

Every morning at exactly 6:14, Subroto Dasgupta climbed into the driver's cabin of Tram No. 171 at the Esplanade depot in central Kolkata. The tram was sixty-three years old. Subroto was fifty-eight. They understood each other.

Tram No. 171 was a single-truck four-wheeler, built in 1961 at the Nonapukur workshop on the eastern edge of the city. Its body was riveted steel, painted in the Calcutta Tramways Company livery of cream and blue. Its windows were tall and narrow, designed in an era when air conditioning meant opening a window and hoping the breeze off the Hooghly River would find you.

Subroto had driven this route for thirty-one years — from Esplanade to Ballygunge, a distance of 7.2 kilometres through some of the most densely packed streets on Earth. The route threaded past College Street's bookstalls, through the shade of the banyan trees on Gariahat Road, past the sweet shops where rasgullas sat in terracotta bowls, and alongside the yellow Ambassador taxis that honked at the tram as though honking might make a 15-ton vehicle move faster.

This morning, Subroto's grandson Arjun was riding in the cabin. The boy was twelve, sharp-eyed, and full of questions. He had been asking to ride in the driver's cabin for months. Today, the last day of his school holidays, Subroto had finally agreed.

"Dadu," Arjun said, using the Bengali word for grandfather, "how does it move? There is no engine. There is no petrol tank."

Subroto smiled. He had been waiting for this question.

The Overhead Wire

"Look up," Subroto said.

Above the tram, a single copper wire stretched along the length of the route, suspended from poles and span wires at a height of exactly 5.5 metres. This was the overhead catenary — the tram's power line.

On the roof of the tram, a spring-loaded arm called a trolley pole pressed a grooved copper wheel against the underside of the wire. As the tram moved, the wheel rolled along the wire, maintaining constant electrical contact.

"That wire carries 550 volts of direct current," Subroto explained. "It comes from the Cossipore substation, nine kilometres north of here. The substation takes alternating current from the city grid, converts it to DC using rectifiers, and feeds it into the overhead wire."

"Why direct current?" Arjun asked. "My science teacher said AC is more efficient."

Subroto nodded approvingly. "Your teacher is right — for long-distance transmission. But for a tram motor, DC is better. A DC motor gives you something no AC motor can match: precise speed control using simple resistance. You change the voltage, you change the speed. No inverters, no frequency converters, no computers. Just a handle."

He pointed to the brass controller handle mounted on a pedestal in the centre of the cabin. It had twelve notch positions, from Off to Full Power.

The Circuit

"Here is the secret," Subroto said. "This entire tram is one big electrical circuit."

He traced the path with his finger: "Current flows from the Cossipore substation through the overhead wire. The trolley pole picks it up. It flows down through the cable into this controller. The controller feeds it into the traction motor under the floor — a big DC series motor, 65 horsepower. The current flows through the motor's field coils, creating a magnetic field. Then it flows through the armature — a cylinder of copper windings that sits inside that magnetic field. The magnetic field pushes on the current in the armature, and the armature spins. The armature is connected to the axle through a gear train. The axle turns the wheels. The wheels push 15 tons of steel and passengers down the road."

He paused. "And then — this is the part people forget — the current has to get back to the substation. It flows from the motor, down through the wheels, into the steel rails, and the rails carry it all the way back. The rails are the return conductor. That is why tram rails are always bonded with copper jumper cables at every joint — to make sure the return path is continuous."

Arjun stared at the rails ahead of them. "So we are driving on half the circuit?"

"Exactly. The overhead wire is one half. The rail is the other. The tram is the load in between."

The Series Motor

As the tram pulled away from the Esplanade stop, Subroto advanced the controller handle from Notch 1 to Notch 4. The motor hummed louder. The tram accelerated.

"A DC series motor is wired in a special way," Subroto explained. "The field coils and the armature are connected in series — one after the other, so the same current flows through both. When the tram is starting from rest, it draws a lot of current. That high current flows through the field coils, creating a very strong magnetic field. A strong magnetic field means high torque — strong pulling force. That is why a tram can start smoothly even when it is carrying 200 passengers. The motor automatically provides the most force exactly when you need it — at startup."

"What about top speed?"

"As the tram speeds up, the spinning armature generates a back-EMF — a voltage that opposes the supply voltage. This reduces the current. Less current means a weaker magnetic field and less torque, but by then the tram is already moving and does not need as much force. The motor naturally transitions from high-torque-low-speed to low-torque-high-speed. It is elegant."

He moved the handle to Notch 8. "The controller handle does not just turn things on and off. At each notch, it switches in or out sections of resistance in the circuit. At Notch 1, a lot of resistance is in the circuit, limiting the current. At Notch 12, all resistance is bypassed and the motor gets the full 550 volts."

The Braking Problem

They were approaching the Park Street crossing. A bus had stopped ahead. Subroto pulled the controller to the Off position and moved a second handle — the brake handle.

The tram began to slow. But Arjun noticed something on the ammeter — the needle, which had dropped to zero when Subroto cut the power, was now deflecting again. Current was flowing.

"Dadu, the motor is off. Why is there current?"

Subroto grinned. "Because now the motor is a generator."

"When I cut the power, the tram is still moving. The wheels are still turning. The wheels turn the axle, the axle turns the armature. A spinning armature inside a magnetic field does not just consume electricity — it produces it. This is regenerative braking. The tram's kinetic energy — its energy of motion — is being converted back into electrical energy."

"Where does the electricity go?"

"Back into the overhead wire. Other trams on the network can use it. In a busy hour, when one tram is braking while another is accelerating, energy flows from the braking tram to the accelerating one. The system recycles its own energy. A Kolkata tram recovers about 30 percent of its braking energy this way."

He applied more brake pressure, and Arjun heard a different sound — a grinding, metallic screech.

"That is the mechanical brake," Subroto said. "Regenerative braking works well at high speed, but below about 10 kilometres per hour, the armature is not spinning fast enough to generate useful voltage. So we switch to friction brakes — cast iron shoes that press directly against the wheel treads. Crude, but reliable."

College Street

The tram turned onto College Street, and Arjun watched the overhead wire shift from one span to the next. At each junction, the trolley pole navigated a complex arrangement of switches and crossings in the wire — called frogs, just like the switches in the rail below.

"This part of the route has been electrified since 1902," Subroto said. "Kolkata was the first city in Asia to run electric trams. Before that, the trams were pulled by horses. Before the horses, there was nothing — just mud lanes and palanquins."

They passed the gates of Presidency University, where Satyendra Nath Bose had studied — the physicist who gave his name to the boson, who corresponded with Einstein, who helped build the mathematics of quantum mechanics. Arjun did not know this yet, but he would.

"The whole system is old," Subroto said quietly. "The substations. The wire. The controllers. The motors. They talk about shutting it down every few years. They say buses are cheaper. They say metro rail is faster. They are right about both. But a bus burns diesel and fills College Street with smoke. A metro runs underground where no one can see the city. A tram runs on electricity, at street level, in the open air, carrying people past the bookstalls and the sweet shops and the university gates."

He pulled the controller to Notch 6 and the tram hummed forward.

"A tram is a 15-ton physics lesson," Subroto said. "And this city has been running one for 122 years."

Ballygunge Terminus

At the terminus, Subroto swung the trolley pole to face the other direction — a manual operation, done by pulling a rope that released the pole and swinging it 180 degrees. The tram had no front or back; either end could be the driving end. The controller handle was removed from its socket and carried to the other cabin. The seats, which were reversible, were flipped by the conductor.

In five minutes, Tram No. 171 would head back to Esplanade. Subroto would drive the same route, past the same bookstalls, under the same wire.

Arjun sat on the wooden bench and looked up at the trolley pole pressing against the overhead wire.

Fifteen tons. 550 volts. A circuit that used the rails of the city itself as one of its conductors.

"Dadu," he said, "can I come again tomorrow?"

The end.

Try It Yourself

Choose your level. Everyone starts with the story — the code gets deeper as you go.

Story Progress

0%

Ready to Start Coding?

Here is a taste of what Level 1 looks like for this lesson:

Level 1: Explorer — Python
import numpy as np
import matplotlib.pyplot as plt

# Your first data analysis with Python
data = [45, 52, 38, 67, 41, 55, 48]  # measurements
mean = np.mean(data)

plt.bar(range(len(data)), data)
plt.axhline(mean, color='red', linestyle='--', label=f'Mean: {mean:.1f}')
plt.xlabel("Sample")
plt.ylabel("Value")
plt.title("Electrical Circuits & DC Motor Engineering — Sample Data")
plt.legend()
plt.show()

This is just the first of 6 coding exercises in Level 1. By Level 4, you will build: Build a DC Tram Motor Simulator.

Free

Level 0: Listener

Stories, science concepts, diagrams, quizzes. No coding.

You are here

Enrolled

Levels 1-4

Python, NumPy, Matplotlib, real projects, mentorship.

Sign Up Free

Stay Updated

Join Waitlist

Get notified when enrollment opens for your area.

Notify Me

Level 0 is always free. Coding levels (1-4) are part of our 12-Month Curriculum.