Arduino stepper motor – a tutorial

This tutorial shows how to explore an inexpensive stepper motor and driver board using an Arduino and included stepper library.

The stepper motor and driver board can be purchased on eBay at very low cost, and is an ideal educational project for the budding Arduino practitioner.

Fig 1

Fig 1 shows the test setup:

  • at the top is a Arduino Pro 328 with Opti bootloader and FTDI adapter for programming;
  • middle is a Logic Shrimp for logic tracing;
  • bottom left is a 28BYJ-48 stepper motor; and
  • bottom right is a driver module based on UNL2003.

Continue reading Arduino stepper motor – a tutorial

Arduino thermistor thermometer – a tutorial

This project was designed ad-hoc as a learning exercise for a friend who ‘needed’ to acquaint himself with Arduino.

What better than a practical exercise that demonstrates some key advantages and disadvantages of the Arduino environment.

The project was a simple digital thermometer to display normal environment air temperature, say from -20° to 50° using common and inexpensive Arduino hardware with firmware developed on the free Arduino IDE, all using hardware that was on hand. Continue reading Arduino thermistor thermometer – a tutorial

I2C – LCD interface – Type 2

A range of inexpensive serial to Hitachi style LCD interfaces are becoming available.

This article describes the settings for one sold by eshoppingcity1 (and others) on eBay (about A$6 for 5 inc post at the time of writing but they are getting cheaper). It uses the Philips PCF8574T I2C expander chip which is supported by the user developed Arduino LCD Library V1.2.

Lc2I2c10 Continue reading I2C – LCD interface – Type 2

RC4 thermistor characterisation.

I have a little RC-4 temperature logger which has been a really handy device for ensuring that our freezers are cold enough, but no colder.

RC-4The RC4 has an internal sensor and is supplied with an external sensor that plugs into a 2.5mm TS jack on the side.

This article explores an alternative sensor that could be embedded in equipment of interest. The sensor is a NTC thermistor.

Firstly, I found that none of the 2.5mm TS plugs I had connected to the RC4 properly, but the T-R of a TRS plug worked reliably.

The display was observed with two 0.1% precision resistors and the thermistor characterised.

Screenshot - 07_07_2015 , 12_25_20

Above, it looks like nominally a 110k/B=4200 thermistor… which is a little unusual. 100k thermistors with B=3950 and 4200 are fairly easy to obtain though.

Clip 155

Above is a chart of the error in using the two commonly available thermistors. At low temperatures the 100k/4200 isn’t too bad, around 60° the 100k/3950 is better.

It is a simple matter in Excel to correct readings made with a different thermistor. Here is a VBA function to perform the conversion.

Function temp2temp(ft, ft0, fr0, fb, tt0, tr0, tb)
'function to correct temperature reading to a different thermistor
r = Exp((1 / (ft + 273.15) - 1 / (ft0 + 273.15)) * fb) * fr0
temp2temp = 1 / (1 / (tt0 + 273.15) + Log(r / tr0) / tb) - 273.15
End Function

You could squeeze all this into a cell formula if you wished to avoid using a VBA function.

Clip 134

Above is an example measurement run made with a 100k/3950 sensor (Indicated) and the corrected data in brown.


Programming jig for STC15Fx DIP-8, DIP-28 chips

The STC15Fx chips use a simple TTL/CMOS async programming interface that is suited to the common USB-RS232(TTL) adapters, some of which are less than A$2 on eBay (CH341 chip).

STCMicroPgmAdapterAbove, the completed adapter. Both DIP-8 and DIP-28 are located furthese from the operating lever, and pin 1 towards the operating lever, the same jumper connections are used for both chip sizes for STC15F104E and STC15F204E.

There are two spare Gnd pins next to the black jumper above but hidden from view. They are for grounding jumpers that may be required to enable programming of some ‘bootloader protected’ chips.

The 6 pin male and female headers at lower left accept a USB-RS232 adapter (break out board style or cable) with the common Arduino pinout. The only thing that commits the pinout is the 1µF bypass capacitor between Vcc and Gnd pins and the spare Gnd pins. The USB-RS232 adapter powers the chip being programmed, and it needs to be a 5V adapter.

Alternatively one of the little MAX232 adapter boards could be used with a physical RS232 port, but power will be required.


Fox flasher MkII

Flashing LED driver using an ESC described a LED driver for an animal deterrent using a repurposed brushless DC motor electronic speed controller.

This article describes a simpler implementation based on a Chinese 8051 architecture microcontroller, the STC15F104E.


Above, the schematic. A very simple circuit with just a handful of electronic components (one capacitor, two resistors, one LDR, one Polyswitch, 4 x LEDs and the MCU). Continue reading Fox flasher MkII

Thermistor for CBAIV

I wanted to embed some thermistors in battery packs to use them with CBAIV and sought specifications from Westmountain Radio who declined to supply the information.

It is a straight forward matter to measure the resistance of a thermistor immersed in a stable bath of water, and similarly to observe the software response to standard resistors. Continue reading Thermistor for CBAIV