Cheap 433MHz Transmitters

I decided the other day that it would be a good idea to spend 99p on a 433MHz transmitter and receiver pair from eBay. Not to use, but to take a look and see just how bad these modules are (and I expected them to be pretty awful too).

f5rp7jnhm8dg3t1-medium

These modules are the absolute bare minimum you can get away with for transmitting data. There isn’t actually any modulation as such, the data pin on the transmitter (which is the smaller of the two modules) just turns the carrier frequency on and off. This is called On Off Keying, or OOK (No, not Ook, Ook! or Ook?, but OOK). The receiver just tells you if it can “hear” that carrier frequency.  There’s no data protocol, no packets, no nothing. You just tickle one end and the other end giggles.

They’re great for sending UART data across the air waves. Connect the transmitter to the TX pin of one Arduino and the receiver to the RX pin of another and you can send data between them pretty simply.

Sounds great, yes? Well, actually no, not really. Let’s take a look why. Continue reading

Flexible LED Fading

I’d like to introduce you to a method of fading RGB LEDs both smoothly and flexibly.

A common method of fading colours on the Arduino is to use simple for loops, such as:


  // fade from blue to violet
  for (r = 0; r  0; b--) { 
    analogWrite(BLUEPIN, b);
    delay(FADESPEED);
  } 
  // fade from red to yellow
  for (g = 0; g < 256; g++) { 
    analogWrite(GREENPIN, g);
    delay(FADESPEED);
  } 

And so on. And that is all very well if you just want to fade a single LED to a predefined brightness, or a couple of LEDs all to the same brightness. However if you want to get different combinations of colours and fade smoothly between them it all gets a lot more complex. Especially if you don’t know at the time what colour you are fading from.

Continue reading

Why You Can’t Use Resistors as a Voltage Regulator

People, all the time, use a simple resistor-based voltage divider to change 5v into 3.3v. You see it all over the place. For instance, when you want to get your 5V Arduino to communicate with a 3.3V ESP8266 – you use two resistors (10K and 22K say) to drop the 5V of the Arduino down to the 3.3V the ESP8266 expects.

And that is all fine and dandy.

However I all to often come across people attempting to do the same thing to power a 3.3V device off 5V. After all, if you can use it for changing 5V into 3.3V for the signals, surely the same thing works for the 5V power to 3.3V, right? I mean, it’s the same 5V isn’t it?

Well, no. You can’t. Absolutely not. And it’s all because of the current.

Continue reading

Dangers of Counterfeit Power Supplies

SamPlugI thought I would take a look inside a power supply that I suspected was a counterfeit. See just what is going on with it.  This Samsung power supply was making strange things happen with my phone while it was plugged in. Yes, it charged the phone fine, but it made the touch screen go all screwy, and I suspected it was a rather noisy switcher in it. I had bought it from eBay for next to nothing, so I am expecting it to be somewhat nasty inside.

Guess what? I was right.

Continue reading

Measuring Arduino Internal Pull-up Resistors

The Arduino (and many other boards) have a very useful time-and-cost saving feature ideal for when you are working with buttons and switches – namely internal pull-up resistors on the GPIO pins which can be enabled / disabled at will in software. This means you don’t have to clutter your board up with pull-up resistors of your own for all the buttons and things, and also means they can be turned off and on to give your design much more flexibility. Continue reading