Using 16×2 LCD display with i2c controller in Arduino

If you are planning to use a 16×2 LCD display with i2c controller in Arduino, check out this page for the three general types of LCD i2c controller, and the settings for each one of them:

Also, some controllers will have brightness controllers which can be adjusted using a small screwdriver. If the LCD blinks as per the code in the above site, but you cannot see the characters, it most probably is a brightness issue.


Convert SeaTools iso file into USB bootable on Mac

Seagate SeaTools for DOS is a free hard drive testing software that runs independent from your operating system. Seagate provide a iso file which needs to be burned to a CD. Considering that CD/DVD drives are fast disappearing, and most computers these days support booting of a USB drive, it makes life easier if the the iso get converted into USB bootable. It is actually easy to do it on a Mac using the following steps:

a) Download Seatools for DOS from Seagate site (

b) Open the iso file downloaded. Simple double clicking should mount the file on your desktop. Open the mounted folder, and extract the SeaTools.ima to your desktop.

c) Rename SeaTools.ima to SeaTools.img (Accept the warning dialog box)

d) Insert a USB drive that you will use. Note that any data on this drive will be completely erased.

e) Start your terminal window and find the USB drive identifier:

diskutil list

. Make sure that you get the correct disk identifier. In my case it was /dev/disk1.

   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.3 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            249.4 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4:       Microsoft Basic Data BOOTCAMP                250.0 GB   disk0s4
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *16.0 GB    disk1
   1:             Windows_FAT_32 KINGSTON                16.0 GB    disk1s1

f) Unmount the usb disk folder using the following commands in your terminal window:

diskutil unmountDisk /dev/disk1

g) Copy the contents of the SeaTools.img file to USB drive

sudo dd if=Desktop/SeaTools.img of=/dev/disk1

That’s it. Your USB drive will now boot to SeaTools. One thing that I have observed with the SeaTools is that if you have set the drives to be discovered through AHCI mode in your bios, it might not always detect the drives. It is better to change the drive detection to IDE for it to work reliably.

For those looking to use the same procedure on a Windows machine, this link should help your out: . For Linux and BSD, the procedure should essentially remain the same as Mac in principle, although the disk identifier & unmounting commands might be different. dd should work on all.