0Pricing
Arduino & IoT Academy · Lesson

Speed & Direction with an H-Bridge

Control a DC motor with an L298N module.

Speed & Direction with an H-Bridge is a free Arduino & IoT Academy lesson on CoddyKit — lesson 2 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Arduino & IoT Academy learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

Spinning Both Ways

A plain transistor runs a motor in one direction. To make wheels go forward and back, you need a smarter circuit called an H-bridge. 🔁

Why the H Shape

An H-bridge uses four switches arranged like the letter H. The motor sits in the middle, and flipping pairs of switches reverses the current through it.

Meet the L298N

The L298N is a popular H-bridge module. It can drive two DC motors and handles enough current for hobby robots and small carts.

The Direction Pins

Each motor on the L298N has two direction inputs, called IN1 and IN2. Their combination decides which way the motor turns or whether it stops.

int IN1 = 7, IN2 = 8;
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);

Forward and Reverse

Set IN1 HIGH and IN2 LOW to spin one way; swap them to spin the other. The motor simply follows whichever input is higher. ➡️

digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW); // forward

Reversing the Spin

Flip the two inputs and the current through the motor reverses. This is the magic the H-bridge gives you that a lone transistor cannot.

digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH); // reverse

Stopping the Motor

Set both direction inputs the same, like LOW and LOW, and the motor coasts to a halt because no net current flows through it.

The Enable Pin Controls Speed

Each motor also has an enable pin. Feed it a PWM signal and the duty cycle sets how fast the motor spins, just like dimming an LED.

Speed with analogWrite

Send PWM to the enable pin with analogWrite. A value of 255 is full speed and lower numbers slow the motor down smoothly.

int ENA = 9;
analogWrite(ENA, 180); // about 70% speed

Powering the Module

The L298N takes its own motor voltage on a separate terminal. Always tie its ground to the Arduino ground so signals stay in sync.

Two Motors, Full Control

With direction inputs plus PWM enable pins, one H-bridge lets you steer a two-wheel robot at any speed and in any direction. 🤖

Quick Check

On an L298N, what does the enable pin control?

Recap

An H-bridge like the L298N reverses current to change direction, while a PWM enable pin sets the speed. Share ground and you control motors fully. 🚀

Frequently asked questions

Is the “Speed & Direction with an H-Bridge” lesson free?

Yes — the full text of “Speed & Direction with an H-Bridge” is free to read here on the web, and the Arduino & IoT Academy course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Arduino & IoT Academy course, upgrade to CoddyKit PRO.

What will I learn in “Speed & Direction with an H-Bridge”?

Control a DC motor with an L298N module. You practise Arduino & IoT Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Arduino & IoT Academy?

No prior experience is required. Arduino & IoT Academy on CoddyKit is structured for beginners through advanced learners; this is — lesson 2 of 4, so you can start here or from the beginning and move at your own pace.

How long does the “Speed & Direction with an H-Bridge” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Arduino & IoT Academy lesson?

Yes. Every Arduino & IoT Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. Why You Need a Driver
  2. Speed & Direction with an H-Bridge
  3. Switch Mains Devices with a Relay
  4. Protect Against Flyback Spikes
← Back to Arduino & IoT Academy