Wednesday, July 15, 2015

Free Online Electronics Course from EDX

The EDX team have just started a new course

Electronic Interfaces: Bridging the Physical and Digital Worlds

The course number is  EE40LX

As with all the course from EDX, it is FREE 

This course is designed to show the interaction between the digital world and the world around us. You will be building a robot, and learning how sensors can be used to give input to a microcontroller.

If you do decide to give it a go, we are supplying a kit of parts to support the course

Tuesday, May 5, 2015

Genuine Arduino? This board comes from an uncertified manufacturer. We won’t be able to provide any support if it doesn’t work as expected.

Here is the situation. You have bought what you believe is a genuine Arduino.
Genuine Arduino
You download the new IDE software and when you plug the Arduino in you get a pop-up which says;
“This board comes from an uncertified manufacturer. We won’t be able to provide any support if it doesn’t work as expected.”

Stop ! Don't Panic!
The good news is you do have a genuine Arduino board    - sort of

Analogy-
There are two nerds at school, (lets call them, Archibald, he's from the US and Luigi, he's from Europe). They look set to become the best in class, and they have managed to avoid being bullied for years. Looking Good!
Upset with this lack of being picked on by the lesser kids, they decide to bully each other!, and go at it like Popeye and Brutus. Not so Good!
While they are beating each other up, new nerd on the block (let's call her Rosie Berry Pi) puts on a spurt and sneaks in to win the prize, lucky Rosie!
Rosie is showered with the adulation of the whole school. Meanwhile Archie and Lui are reduced to glaring at each other in detention. Silly boys.

What's really going on
I will try and be brief.
Arduino LLC was formed by the big 5 (Massimo Banzi, David Cuartielles, David Mellis, Tom Igoe and Gianluca Martino) in 2009. These are the "Code Guys", and have been creating and directing the software that makes it all work. The run the site Arduino.cc, where most people get the Arduino IDE software from. The manufacturing of the Hardware side was undertaken by "Smart Projects" and after a couple of twists it is now called Arduino SRL, they run the site Arduino.org
Both teams believe they are the "Real" Arduino, and are currently in litigation with each other.
Arduino LLC(the Euro lot) have fired a salvo at Arduino SRL (the Yanks) by including a pop-up in the software which detects the versions made for Arduino SRL. Is this a targeted attack specifically at the yanks? I would suggest it is, as the pop-up is oddly absent if you use one of the obviously fake chinese clones.

When the dust settles, will Arduino triumph in its SRL or LLC form? or will the brand reputation be damaged enough to let the new guys take the market lead?

My suggestion, just tick the box that says "Don't show me again"


Friday, April 24, 2015

Getting Started with Electronics

Electronics is a fun and rewarding hobby, but how do you begin? You have taken the first step just by searching.
There is so much information available it can be really hard to know which tutorial to follow, which resource to use, and even where to buy the parts.
When I first started, back in the 1970's, I took anything and everything apart, I was a bit of a nightmare for my Mum. It was a few years before I started to learn how to put those things back together. In those early days, it wasn't easy to get much knowledge, Especially as I wasn't old enough to get a library card, thankfully things have moved on a little.
There has never been a more exciting time to be involved with electronics.

Finding out, how to begin

I would like to offer some advice to anyone looking to get into electronics.
  • Join a club or after-school class
Ok, not available for everyone, but if it is available to you, do it. Having someone with you as you take your first steps is the easiest way possible, but if you can't, there are lots of online tutorials available. Here are some of my recommendations;
Or try the introduction to electronics pages on the Right hand side of this blog.

There is also the good old fashioned book, such as Make:Electronics by Charles Platt

  "Our Absolute favourite, possibly one of the best introductions to electronics ever written
Simple, clear instructions will take you on a journey with 24 practical experiments to work through"

Getting the Components

So now you want to get going, where do you buy the parts?
  • Maplin, quite high prices, but they are nationwide with stores No Longer has High street stores
  • Farnell, again, quite high prices, online, or from the counter in Leeds, mainly aimed at commercial users
  • CPC, the "hobbyists" side of Farnell, worth a look
  • Rapid, Online, with next day delivery, postage costs are high unless you reach a minimum spend
  • eBay, lots of small sellers offering parts, but be careful, lots of not great parts for the unwary. That being said, it is a fantastic source of low cost components.
  • Amazon, recent changes mean that low price parts can now be bought from third party sellers of this site, use the same caution you would for ebay.
The other cool way of getting hold of components is by recycling! Most redundant electronics can be harvested for their bits.

Working at Home

Electronics can be a messy hobby, bits of wire generally tend to not be a healthy thing for hoovers to suck up. Grab yourself a box to keep everything in, a table to work at, and try and stay tidy as best you can. As you get further along, you might consider having a dedicated space for your projects.

Last Words!

BE SAFE


Stay away from using mains voltage until you are competent, it can and does kill! Using a 9v battery will be safe, the worst you are likely to do is destroy some components when things go wrong. I highly recommend that you wear safety glasses. Components can suffer critical failure, and then they will explode. You can replace LED's, you can't replace your eyes.


Tuesday, April 21, 2015

Arduino LCD

Arduino LCD

This quick tutorial will show you how to integrate an Arduino and an LCD Screen
To follow along, you will need an Arduino, we will be using a Uno
You will also need
  • 16x2 LCD (16 pin type)
  • A strip of 16 Header pins
  • A breadboard
  • A 10k Trimmer
  • Some Jumper wires
Building the Circuit

This should be straight forward, the pins are detailed in the software too.
The screen will need the header pins soldering in, so you can connect it to the breadboard. If you don't have headers, you can solder wire jumpers to the LCD instead.
The Software
Add the code to your Arduino IDE, plug the Arduino in via USB, and flash the code across
Here is the code;
/*
 This Block is not used by the Arduino, it is detail of how to build the circuit
 The circuit:
 * LCD RS pin to digital pin 12
 * LCD Enable pin to digital pin 11
 * LCD D4 pin to digital pin 5
 * LCD D5 pin to digital pin 4
 * LCD D6 pin to digital pin 3
 * LCD D7 pin to digital pin 2
 * LCD R/W pin to ground
 * 10K resistor:
 * ends to +5V and ground
 * wiper to LCD VO pin (pin 3)
 * LCD A to +5v
 * LCD K to 0v
 */


#include <LiquidCrystal.h> // This tells Arduino we want to use a Library, this one is a standard library, included with the software
// <- This means "comment" and lets the Arduino know text after these is for "Human" use only

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  
 
}

void loop() {
  lcd.setCursor(0,0);  //Cursor to 1st position of top row
  lcd.print("   Mallinson     ");  // Place your own text inside the brackets and inside double quotes
  lcd.setCursor(0,1); //Cursor to 1st position on bottom row
  lcd.print("   16 x 2 LCD");
 
}

Some Notes
  • Some screens won't have a backlight, and some need an external resistor. The screens we sell have an internal resistor and are lit by putting +5v on pin 15,and connecting pin 16 to 0v
  • The 10k trimmer is used to adjust "Contrast". If you can't see your message straight away, turn the middle of the trimmer until you can.
  • If this is the first time you have connected an Arduino, your computer will install drivers, let this stage finish before flashing the software
  • You will need to solder pins onto the LCD, or you could solder cables instead, for a remote screen
Blue LCD   Green LCD

Saturday, March 28, 2015

Open letter - thoughts on the Arduino vs. Arduino battle

Dear Arduino LLC and Arduino SRL (alphabetical order, no preference intended or to be inferred)

As I understand it, and please correct me if I am wrong,
  • Arduino started about 10 years ago.
  • About 7 years ago, the company comprised two parts 
    • Manufacturing (in Europe)
    • Developement (in the US)
  • The original founders are not shareholders of either part
Fast forward to now, and we find that both Arduino LLC in the US and Arduino SRL in Europe are fighting to decide who is the "real" Arduino.
 
The first thoughts I have had on this are as follows;
  • Arduino is an open source project that consists of 3 elements, not just manufacturer and developer, the third element, with equal importance is the community. Both Manufacture and Developement have been influenced by the community.
  • All 3 elements of Arduino are under threat from "clones" largely made in the far east, and inferior to the real thing.
 So what is to be done? As ever, the courts will decide, if it gets that far ( I hope it doesn't come to that). I would like to put forward a possible solution.

Firstly, Arduino LLC and Arduino SRL, please talk, and think this through. Consider the cost of this litigation, in both financial and reputation terms.
You could acknowledge that both arguments have merits, and settle this amicably. Whilst you fight each other the wolves are circling. Arduino faces challenges competing against Arduino copies, as well as Raspberry Pi, Beagle bone and many others.
At the moment, Arduino has the edge in Market share, and reputation. Arduino is the first option (in many cases, the only option) we as the end user consider when looking to build a project.
I beg of you, don't loose that because of in-fighting. It matters not one jot who "wins" if there is no market share left.
Possible solutions?
  • Manufacture and Distribution
  • Is it possible that Arduino LLC could have all rights to manufacture and distribute in the US, and Arduino SRL all rights in Europe? I estimate they are similar size. 
  • Future Development
  • I suggest a new "Not for profit" foundation be formed to continue development, and that this be a foundation without national boundary.
  •  Both Arduino LLC and Arduino SRL could fund the foundation on a sales percentage basis, and it would attract independent funding from the Arduino community.
  • Without boundaries would reinforce the open source ethos, and attract the best people to the project. 
I respectfully ask you all at both LLC and SRL, to please stop and think, just for a moment, and consider all that you have achieved, all that you can achieve, and how valued you are by the wider community.

To the Arduino community, I ask for you to add your comments to this open letter, forward it, repost it retweet it. Do whatever it takes to let everyone involved know how we feel and how much this could hurt us.

I end with a quote "Live Long, and Prosper"

Andrew Mallinson

Friday, March 13, 2015

Ebay Cross Promotion

We have been experimenting with how to display other items on our ebay listings
It is possible to do this with ebays HTML editor.You will find this on your Shop Management page
- Shop design - HTML Builder
Try some of these links

Other Great Kits and Parts
Make Electronics
Supports the book
1500 piece Kit
Just Parts!
1100 piece Kit
Just Parts!
Starter Kit
Our Best Seller
Crystal Radio
Requires No Batteries
Breadboard Kit
Perfect for Arduino
Amplifier Kit
10W Stereo Power
Amplifier Kit
2 1/2W Stereo Power
FM Radio Kit
Retro Styling
Visit my eBay Shop:Go to member's eBay Shop Mallinson-Electrical
And you can have a different one to put on other listings

Related WAGO Connectors
773-102
2 pole push-fit
773-104
4 pole push-fit
773-106
6 pole push fit
773-108
8 pole push-fit
773-173
High Current 3 pole
2273 series
Push fit - But Smaller
222-412
2 Lever Re-useable
222-413
3 Lever Re-useable
222-415
5 Lever Re-useable
Visit my eBay Shop:Go to member's eBay Shop Mallinson-Electrical
Note: If you use your Back Button on your browser, you will loose all your info. Use the "Edit" link to the right of "Preview" under the code

Tuesday, March 3, 2015

Genuine Arduino New Colours comparison with Fakes

Arduino in New Colours? Why?
Arduino is open-source, the design specs are available from many sources. This means you can build your own! It also means that it is frequently copied commercially, and not always with great success. Arduino released the plans, but not the trademarks and logos, copies using these trademarks are infringing copyright, they are undermining the spirit of open-source, and just plain wrong.
Over the last few years, the market has been flooded with forgeries, sorry to say, but the chinese seem to be the main culprits.

There is some good news though!

Arduino is changing!

The main difference you will see is the colour, but there are other differences.
Shown here, side by side, you can check out the differences to look for
arduino-uno-rev-3

The new colour of the genuine board makes identification really easy, here are the other areas to check
  • The input resistor



    • The genuine Uno has a Gold and Black resistor
    • The Fake is Silver and green

  •  The Header Sockets


    • The Genuine Uno has the names printed on the headers in White
    • The Fake has no printing


  • The Logo

    • The genuine Logo has a unique Font and Design
    • The fake is less defined, badly drawn and obviously wrong when compared

  • Performance

 The main difference is not visible. Genuine Arduino works, and it works well. Sure, you are going to screw up the code, get the pins connected wrong and all the other ways you will "have fun".

We got hold of a couple of forgeries, and subjected them to some of our code.
It kind of worked okish.
To clarify, it worked fine with basic code, but failed after about 30 hours of use.
Trying a second fake, we found that not all the Arduino add-ons were recognised.
It is kind of frustrating to debug code anyway, but if you cannot be sure of your hardware it just becomes a nightmare.

At the end of the day, do you want to work your way through the issues to get that project right, just to have it consigned to the bin because you saved a few quid?

I hope this quick guide is useful for you, have fun, and please check out our website
www.mallinson-electrical.com/arduino/arduino-uno-rev-3.html



Monday, February 9, 2015

£1000 Give away

You read it correctly!
We are giving away £1000 worth of kits
Read details on Facebook here

Friday, February 6, 2015

2 steppers controlled with 2 L298N and 1 Arduino

We received the following comment on youtube:-

"Hello! Nice video. The sketch on your blog helped me a lot. I tried it,works well.
But I would like to control two steppers with 2 L298 drivers and 1 arduino board I have.
How can I modify this sketch to make them work? Or can you send me a new sketch for them,please?  I appreciate your help!"


The following sketch will do just that, do check out the delays in void loop though, at 1000, there is a 1 second pause between each section, reduce this to 0 for no delay.
The sections for forward and backwards can be repositioned to make the steppers do what you want, when you want.
As always, feel free to modify the code as much as needed
 
// Highlight from HERE

///This is a simple sketch to allow the Arduino to control
// two bi-polar stepper motors
// By Andrew Mallinson
// Mallinson-electrical.com
// The Arduino is hooked up to two L798N H bridge
// This allows higher voltage and current to be applied to
// the stepper motor, without damaging the Arduino

// Use pins 4,5,6,7 for one H bridge(stepper 2)
// Use pins 8,9,10,11 for the other (stepper 1)
//
// Define the Arduino pins
int RED = 8; // L298N  In1
int YELLOW = 9;//L298N In2
int GREEN = 10;//L298N In3
int BLACK = 11;//L298N In4
int RED2 = 4; // L298N  In1 second H bridge
int YELLOW2 = 5;//L298N In2 second H bridge
int GREEN2 = 6;//L298N In3 second H bridge
int BLACK2 = 7;//L298N In4 second H bridge
// Define some variables
int d = 3; //define delay - adjust this to give smooth running, lower number = higher speed
int s = 200;//steps per rev of stepper
float fwd = 1.5; // number of revs forward required - {Can be any number or increment of 0.02
float rvs = 3.0; // number of revs reverse required - {sequences are 4 steps, 50x 4 steps = 1 rev, so 4 steps=0.02 revs
float fwd2 = 1.5; // number of revs forward required - {Can be any number or increment of 0.02
float rvs2 = 3.0; // number of revs reverse required - {sequences are 4 steps, 50x 4 steps = 1 rev, so 4 steps=0.02 revs

void setup()
{
  pinMode(RED,OUTPUT); // set the pins to be giving signal not receiving
  pinMode(YELLOW,OUTPUT);
  pinMode(GREEN,OUTPUT);
  pinMode(BLACK,OUTPUT);
  pinMode(RED2,OUTPUT);
  pinMode(YELLOW2,OUTPUT);
  pinMode(GREEN2,OUTPUT);
  pinMode(BLACK2,OUTPUT);

}
// There are four different steps, because there are 4 permutations of the poles on a bipolar stepper
// Pair Red/Yellow and Pair Green/Black

void Astep() {     // This is a subroutine to tell arduino the output which creates the first step
  digitalWrite (RED,1);  // +ve voltage out of red
  digitalWrite (YELLOW,0);// so yellow is -ve
  digitalWrite (GREEN,0);// sets green to -ve
  digitalWrite (BLACK,1);// so black must have +ve
}
void Bstep() {
  digitalWrite (RED,1);
  digitalWrite (YELLOW,0);
  digitalWrite (GREEN,1);
  digitalWrite (BLACK,0); 
}void Cstep() {
  digitalWrite (RED,0);
  digitalWrite (YELLOW,1);
  digitalWrite (GREEN,1);
  digitalWrite (BLACK,0);
}void Dstep() {
  digitalWrite (RED,0);
  digitalWrite (YELLOW,1);
  digitalWrite (GREEN,0);
  digitalWrite (BLACK,1); 
}
void A2step() {    
  digitalWrite (RED2,1); 
  digitalWrite (YELLOW2,0);
  digitalWrite (GREEN2,0);
  digitalWrite (BLACK2,1);
}
void B2step() {
  digitalWrite (RED2,1);
  digitalWrite (YELLOW2,0);
  digitalWrite (GREEN2,1);
  digitalWrite (BLACK2,0); 
}void C2step() {
  digitalWrite (RED2,0);
  digitalWrite (YELLOW2,1);
  digitalWrite (GREEN2,1);
  digitalWrite (BLACK2,0);
}void D2step() {
  digitalWrite (RED2,0);
  digitalWrite (YELLOW2,1);
  digitalWrite (GREEN2,0);
  digitalWrite (BLACK2,1); 
}
void forwd()// this is a subroutine to define the sequence of steps to drive the stepper forward
{
  Astep(); // Carry out the instruction of a subroutine we created called Astep
  delay(d); // wait for a length of time defined in the setup section
  Bstep();
  delay(d);
  Cstep();
  delay(d);
  Dstep();
  delay(d);
}
void forwd2()// define the sequence of steps to drive the second stepper forward
{
  A2step();
  delay(d);
  B2step();
  delay(d);
  C2step();
  delay(d);
  D2step();
  delay(d);
}
void rvrs()// define the sequence of steps to drive the stepper in reverse
{
  Dstep();
  delay(d);
  Cstep();
  delay(d);
  Bstep();
  delay(d);
  Astep();
  delay(d);
}
void rvrs2()// define the sequence of steps to drive the second stepper in reverse
{
  D2step();
  delay(d);
  C2step();
  delay(d);
  B2step();
  delay(d);
  A2step();
  delay(d);
}


void loop()
{
  int f=(fwd*s/4);// create a new value f based on forward turns required, steps/rev and divide by four (4 seperate steps)
  for(int i=0; i<f; i++)// setup a counter called i, if it is less than f(above), we will do this again, so add 1 to i and carry out the instruction below
  {
  forwd(); // carry out the instructions we defined in subroutine forwd
  }
  delay(1000); // wait for one second - the number is milliseconds, 1000ms = 1s
   int f2=(fwd2*s/4);// create a new value f2 based on forward turns required for second stepper, steps/rev and divide by four (4 seperate steps)
  for(int i=0; i<f2; i++)// setup a counter called i, if it is less than f2(above), we will do this again, so add 1 to i and carry out the instruction below
  {
  forwd2(); // carry out the instructions we defined in subroutine forwd2, to drive 2nd stepper
  }
  delay(1000);
  int r=(rvs*s/4);
  for(int i=0;i<r;i++)
  {
    rvrs();// 1st stepper reverse
  }
  delay (1000);
  int r2=(rvs2*s/4);
  for(int i=0;i<r2;i++)
  {
    rvrs2();// 2nd stepper reverse
  }
  delay (1000);
}

// Highlight to HERE

Thursday, January 29, 2015

Cutting Resistors with a Robot - Meet Vincent V

We cut resistors, A LOT of resistors. Over the last 3 weeks, I have built Vincent V, a robotic resistor cutter.

We call him V for short.
Construction
I used 8mm steel plate for the body and cutter assembly. The resistor drive plate is a 5mm toothed belt on Aluminium Pulleys (Aluminum for the Americans). This is driven by a NEMA 17 stepper motor. The resistors are held down on the belt by an Acrylic top plate, and springs. The cutter is a guillotine using the 8mm plate, fround by hand to 80' for sharpness and longevity. It slides in a keyway, and is operated by a 15mm stroke pneumatic cylinder. Air at 100psi is directed to the cylinder by the servo valve.




Control
The brain behind the control is an Arduino Uno R3.
The stepper motor is driven by an L298N H Bridge
The servo valve is switched using an IRFZ510 Mosfet
The software is still being worked on, but I couldn't wait any longer to give it a go.
For testing we used the stepper motor software on this blog, and added a command to take pin13 HIGH when we needed a cut.

Next Steps
Over the coming weeks I will be tidying up the build, A dedicated Power Supply, an LCD screen, and selector buttons, along with some better code.

If you would like to know more, just ask!


Wednesday, January 21, 2015

The Blandford Radio Build

Huge Thanks to +Andy Blandford for the pictures of his radio build,
made in a "radio" biscuit tin, using our FM radio kit

Andy says
 "I was inspired to buy this kit by a radio design biscuit tin I was given at Christmas. I just finished building the radio and mounting it into the tin rather than the cardboard case provided. I have never soldered a PCB before and found the instruction book combined with the video brilliant. The radio played first time and sounds really good. Thanks Andrew Mallinson."



Great job Andy!
here is the original
and the Build Instructions



Stepper Motor, L298N and Arduino

We are driving a bi-polar stepper motor from an Arduino. To get enough current, we have interfaced an L298N H bridge



Wiring 
straight forward,I just used jumper wires for this.

Stepper Motor wires PairA to L298N Out1 and Out2,
Stepper Motor wires PairB to L298N Out3 and Out4
(how to find pairs at the bottom of this post)

Connect Arduino Pins 8,9,10,11 and GND -to-
L298N In1,In2,In3,In4, and GND

L298N is connected to a 12vdc Power supply
Arduino connected to the PC via USB



Arduino Code (cut and paste)

// Highlight from HERE

///This is a simple sketch to allow the Arduino to control
// a bi-polar stepper motor

// By Andrew Mallinson 
// Mallinson-electrical.com
// The Arduino is hooked up to a L798N H bridge
// This allows higher voltage and current to be applied to
// the stepper motor, without damaging the Arduino
//
//
// Define the Arduino pins
int RED = 8; // L298N  In1
int YELLOW = 9;//L298N In2
int GREEN = 10;//L298N In3
int BLACK = 11;//L298N In4

// Define some variables
int d = 3; //define delay - adjust this to give smooth running, lower number = higher speed
int s = 200;//steps per rev of stepper
float fwd = 1.5; // number of revs forward required - {Can be any number or increment of 0.02
float rvs = 3.0; // number of revs reverse required - {sequences are 4 steps, 50x 4 steps = 1 rev, so 4 steps=0.02 revs

void setup()
{
  pinMode(RED,OUTPUT); // set the pins to be giving signal not receiving
  pinMode(YELLOW,OUTPUT);
  pinMode(GREEN,OUTPUT);
  pinMode(BLACK,OUTPUT);
 
}
// There are four different steps, because there are 4 permutations of the poles on a bipolar stepper
// Pair Red/Yellow and Pair Green/Black

void Astep() {     // This is a subroutine to tell arduino the output which creates the first step
  digitalWrite (RED,1);  // +ve voltage out of red
  digitalWrite (YELLOW,0);// so yellow is -ve
  digitalWrite (GREEN,0);// sets green to -ve
  digitalWrite (BLACK,1);// so black must have +ve
}
void Bstep() {
  digitalWrite (RED,1);
  digitalWrite (YELLOW,0);
  digitalWrite (GREEN,1);
  digitalWrite (BLACK,0);  
}void Cstep() {
  digitalWrite (RED,0);
  digitalWrite (YELLOW,1);
  digitalWrite (GREEN,1);
  digitalWrite (BLACK,0); 
}void Dstep() {
  digitalWrite (RED,0);
  digitalWrite (YELLOW,1);
  digitalWrite (GREEN,0);
  digitalWrite (BLACK,1);  
}
void forwd()// this is a subroutine to define the sequence of steps to drive the stepper forward
{
  Astep(); // Carry out the instruction of a subroutine we created called Astep
  delay(d); // wait for a length of time defined in the setup section
  Bstep();
  delay(d);
  Cstep();
  delay(d);
  Dstep();
  delay(d);
}
void rvrs()// define the sequence of steps to drive the stepper in reverse
{
  Dstep();
  delay(d);
  Cstep();
  delay(d);
  Bstep();
  delay(d);
  Astep();
  delay(d);
}


void loop()
{
  int f=(fwd*s/4);// create a new value f based on forward turns required, steps/rev and divide by four (4 seperate steps)
  for(int i=0; i<f; i++)// setup a counter called i, if it is less than f(above), we will do this again, so add 1 to i and carry out the instruction below
  {
  forwd(); // carry out the instructions we defined in subroutine forwd
  }
  delay(1000); // wait for one second - the number is milliseconds, 1000ms = 1s
  int r=(rvs*s/4);
  for(int i=0;i<r;i++)
  {
    rvrs();
  }
  delay (1000);
}

// Highlight to HERE

Ratings
Stepper motor Voltage = 2.5v supply Voltage = 12v

This is not a problem, when we apply the voltage for a step, there is a rapid increase from 0v towards 12v, but before we get there, we are onto the next step. I have over simplified this, but effectively what we are doing is making the stepper motor more responsive.

Stepper Motor Current = 1.68A, the Arduino is not even close!

No Problem, we will use the Arduino to operate a H Bridge, this device, in simple terms, will act like a big quick switch. When Arduino says go, the L298N will switch a bigger voltage and current to the stepper.


To Find your Stepper Pairs
1st find the two pairs of windings on the stepper motor. Choose any two wires, and see if they are connected to a winding.
You can do this with a multimeter set to Ohms - reading at or around zero, or you can use a battery and an LED. Connect the battery to one stepper wire, the other to one leg of an LED with a resistor.Touch the other LED leg with any of the remaining 3 stepper wires, when it lights you have your pair.


How it works
Bi-Polar stepper motors are not very complicated. The central rotor is magnetic, and by creating a magnetic field in one of the two windings, we make the rotor "step" so that the magnets line up. This effect can be seen simply, by holding two ordinary magnets close to each other, One way they attract, but reverse one and they repel each other.