ESP8266-01 Programming Breakout Board

Here is my 5V ESP8266-01 programming breakout board.

ESP8266-01_ProgrammingBoard_002_1200

I am now programming the ESP8266’s via the Arduino IDE and I found using bread boards and wires was annoying, especially because I have a habit of VCC and GND mix up. I have a small pile of dead ESP8266-01s, dead due to shorting them while moving wires around. They are next to the pile of Arduino Nanos I have killed for the same reason.

Since starting to use the ESP8266’s again I have made a couple of breadboard friendly breakout boards. Version 1 worked but moving wires was inconvenient (the ESP8266 was in the way). Version 2 was better but I still had to mess with power, resistors and lots of wires. This lead me to version 3. A fully self contained programming breakout board.

Continue reading

Arduino with HD44780 based Character LCDs

Updated on 2017.04.29.

Introduction
Arduino Libraries
Parallel Interface: Getting Started with a JHD162A 16×2 display
I2C Interface: Getting Started with a J204A 20×4 display with I2C daughter board
Creating custom characters

Introduction

HD44780 compatible LCDs come in many shapes and sizes and two very common ones are the 16×2 and 20×4 characters. Although most screens come with a back light some do not. And although the original interface is parallel some screens come with an I2C adapter/daughter board pre attached (you can buy the I2C adapters separately).

A 16x2 and a 20x4 character LCD display

A 16×2 and a 20×4 character LCD display

Continue reading

Arduino with Optocouplers

There are many types of optocoupler and you chose one based on the requirements of your circuit. My intention was to create a automatic shutter trigger for my Canon camera, so the circuit was a 5V Arduino and a Canon 40D which has about 3.2V on the shutter release connections. Due to the relatively low voltages there are many suitable optocouplers to pick from. I already had a Fairchild 4N26 so this is the one I used.

4N26

4N26

Optocouplers are digital switches. They work by using an LED emitter paired with a photo detector transistor. This means they can be used to allow one circuit to switch a separate circuit without having any electrical contact between the two. Basically, if you put a current through pins 1 and 2 and light the LED the photo detector transistor detects the light from the LED and allows a current to flow through pins 5 and 4. No current on pins 1 and 2 means current does not pass through pins 5 and 4.

Continue reading

HM-10 Bluetooth 4/BLE Modules

Updated 2017-06-05.
Firmware version 5.49 is now available from the Jinan Huamao website. At the time of writing the readme file has not been updated so I don’t know what changes there are over 5.47.

Since I first posted about the HM-10 the firmware has been update several times and some of the commands have changed. Therefore, I decided to redo the guide. For this update I am using modules with firmware 5.47 (except the one I am using for the firmware update guide, this started at v5.40). Firmware 5.47 appears to be back to normal and AT+DISC? and AT+DISI? work again. It seems these commands were broken in firmwares 3.9x onwards.

Introduction
Bluetooth / BLE
HM-10 Basic specs
Get Started With the HM-10
Getting an Arduino talking to the HM-10
HM-10 AT Commands: Using the Arduino’s serial monitor to talk to the HM-10
Scanning for other HM-10s
Arduino to Arduino using HM-10s
HM-10: Updating the firmware
HM-10 Downloads

Introduction

The HM-10 is has become a very popular Bluetooth 4 / Bluetooth LE / BLE module for use with the Arduino. In part this is due to the standard UART serial connection it offers that makes it fairly straight forward to connect to an Arduino (The UART layer is a good thing and a bad thing).

The HM-10 is made by Jinan Huamao who make a range of Bluetooth modules including the HM-11 which works in the same way as the HM-10 but in a smaller form factor with less pins broken out.

There are 2 versions of the HM-10; the S version and the C version. There are slight component differences due to the date of manufacture and the HM-10C does not have the pads along the bottom (it has 26 pads instead of 34) due to cost savings. Operationally they are the same though.

HM-10S

HM-10S

HM-10C

HM-10C

Continue reading

HC-06 hc01.comV2.0

HC-06_hc01.com_02_800

ZS-040_HC-06_hc01.comV2.0

The latest zs-040 HC-06 modules have an updated firmware, hc01.comV2.0. This firmware has the following defaults:
– baud rate = 9600
– password = 1234
– nl/cr line endings not required.
– AT commands are required to be in upper case
– Firmware version = hc01.comV2.0
– Name = HC-06
– No parity
– SLAVE mode

Since the Bluetooth hardware is the same as the previous zs-040 HC-06s the Bluetooth specs are also the same. Bluetooth 2.0 EDR, SSP.
These use a slightly different BT module than the other zs-040 boards and there is a blue LED at the top left of the daughter board.
Continue reading

Arduino to Arduino by Bluetooth

Updated 12.06.2016: Added example 2

In the Connecting 2 Arduinos by Bluetooth using a HC-05 and a HC-06: Pair, Bind, and Link post I explained how to connect a HC-05 to a HC-06 so that when powered they automatically made a connection. Here we look at using that connection to get Arduinos talking over Bluetooth. Before continuing you need to have the Arduinos and BT modules set up as per the previous post. Here I am using 2 HC-05s. One in master mode the other in slave mode. The setup process for the slave mode HC-05 is the same as the HC-06 in the previous post.

Arduino2ArdionoBT_Breadboards_01_1600

Continue reading

Bluetooth Modules

This post will be updated as I get time.
Updated 27.03.2017

A while ago I purchased a few more Bluetooth 4.0 modules. I had no real plan for these except playing with them. For my own projects that use Bluetooth I still use the basic HC-05s and HC-06s with Bluetooth V2.0 or 2.1. These have proven themselves to be very reliable and easy to use.

Here are some of the Bluetooth modules I have
new Bluetooth Modules

Continue reading

ESP8266-01 Bread Board Adapter

Update: 2017-01-15
Although the below adaptor works I found it inconvenient. The rear connectors are blocked by the ESP8288. I therefore built a ESP8266 bread board adaptor version 2

After a lengthy pause I have started playing with the ESP8266 modules again and I was getting annoyed by all the wires when using them on a bread board. So, like others before me, I built a small bread board adapter.

ESP8266BreadbaordAdapter_03_1600

Continue reading

Android MIT App Inventor – Auto Connect To Bluetooth

In a previous post I showed how to connect an app inventor Android app to a Bluetooth module connected to an Arduino to control an LED. See Turning a LED on and off with an Arduino, a HC-06 and Android

A few people have asked how to make it so that the app auto-connect to the Arduino on start up and I thought I would offer my solution. This example adds to the previous guide.

Continue reading

App Inventor 2 Pseudo Screens

A!2_Pseudo_Screens_01
As you may have noticed from some of the other posts, I use App Inventor 2 to create Android apps. I do not have time to learn JAVA programming and I found App Inventor an easy way to get in to the world of Android apps. AI2 is not perfect. It is designed as a teaching aid rather than a fully featured Android programming language and as such there are many things missing. However, you can create some surprisingly advanced apps with it. The Arduino Bluetooth Control and the dropController apps were created in AI2 as is the new Bluetooth Control Panel app.

Continue reading

HC-05 FC-114 and HC-06 FC-114. Part 3 – Master Mode and Auto Connect

Update 19.09.2015
The FC-114 boards I have have the Bolutek firmware. User DS has reported that he/she has FC-114 boards that have the linvorV1.8 firmware. So if the below does not work for you then check what firmware you have.

I may be missing something but I can not get the HC-05 FC-114 boards in to Master Mode and connect to other BT devices with just AT commands. The modules say they have accepted the commands, such as AT+ROLE1 but when I try to connect to other modules I get the error message “Can only be used in Lord Mode”.

The modules accept “AT+ROLE1″ and report they have changed mode but they haven’t really.

In an earlier post I mentioned that it looks likes pin 27 or pin 28 has to be pulled HIGH to enter Master Mode and this does indeed seem to be the case. Everything I have tried without pulling the pin(s) HIGH has failed.

HC-05_FC-114_autoConnectSerialMonitor01
They reply with “OK” and if you interrogate with “AT+ROLE” they report “+ROLE=1″ but they are actually still in Slave Mode.

Continue reading

HC-05 FC-114 and HC-06 FC-114. Part 2 – Basic AT commands

Update 19.09.2015
The FC-114 boards I have have the Bolutek firmware. User DS has reported that he/she has FC-114 boards that have the linvorV1.8 firmware. So if the below does not work for you then check what firmware you have.

Since the HC-05 FC-114s and the HC-06 FC-11s share the same firmware the following should work on either module.

The default setting on start up is Slave Mode waiting for pairing or a connection and also accepting AT commands. This means it is fairly simply to start using AT commands.

HC-05 FC-114 & HC-06 FC-114_1200

Continue reading

HC-05 FC-114 and HC-06 FC-114. First Look

I have just received some new HC-05 and HC-06 Bluetooth modules. These were sold as zs-040s which is the module I actually wanted but I received modules marked FC-114. They share the same breakout board as the zs-040 but have different pins soldered between the Bluetooth module and the breakout board and have a very different firmware.

HC-05_FC-114_&_HC-06_FC-114_001_1600

The small push button switch still has traces to pin 34 and still pulls pin 34 HIGH, however, on the FC-114 boards, pin 34 is a regular IO pin and closing the button switch doesn’t do anything. On the zs-040 boards, closing the button switch and pulling pin 34 HIGH puts the modules in to AT mode. Since the FC-114 starts in AT mode this is no big loss.

It took me a while to figure out the differences.
Continue reading