Custom Arduino With Bluetooth

by Ujwal Bhagat in Circuits > Electronics

138 Views, 0 Favorites, 0 Comments

Custom Arduino With Bluetooth

logo.jpg
JLCPCB.jpg

This instructable is sponsored by JLCPCB, you order PCB very cheaply at JLCPCB, for the first order you can get 10 PCBs at 2 USD total. Components used in this project are purchased from LCSC, they are offering 4 USD off on the first order.

Hey guys, in this instructable we are going to build a custom Arduino Board. Recently I was working on a project which involved using an Arduino UNO for monitoring and managing various systems of a moped/scooter, it needed to be installed inside the vehicle. For communication, I wanted something low power, so I opted for HC-05 Bluetooth module, I know I could have used a NodeMCU or ESP8266-12E(barebone), but the power consumption is too high when the engine is not running. And on top of that, the battery is only rated for 3Ah at 12V, upgrading battery was not a solution since there was not enough space. So I used HC-05 with Atmega 328 PU.

I used this instructable to program my Atmega wirelessly. It helped me fixing out various bugs in the code over time. There were over 20 revisions of the code itself. Even with HC-05, the battery would be drained to 30-20% overnight(7-8hrs), because the quiescent current was quite high. So I added a switch between the regulator and the battery. I used to turn the switch off before going to sleep and on after waking up.

Components

IMG_20180331_210740_FB01.jpg
IMG_20180331_214933_FB01.jpg
IMG_20180331_214838_FB01.jpg
IMG_20180331_214617_FB01.jpg
IMG_20180331_214606_FB01.jpg
IMG_20180331_213918_FB01.jpg
IMG_20180331_213828_FB01.jpg
IMG_20180331_213728_FB01.jpg
IMG_20180331_213638_FB01.jpg
IMG_20180331_213545_FB01.jpg
IMG_20180331_213334_FB01.jpg
IMG_20180331_213259_FB01.jpg
IMG_20180331_212941_FB01.jpg
IMG_20180331_212553_FB01.jpg
IMG_20180331_212349_FB01.jpg
IMG_20180331_212209_FB01.jpg
IMG_20180331_212035_FB01.jpg
IMG_20180331_211952_FB01.jpg

I have provided links to the components listed below, I have tried to use as fewer components I can use. Some of the components are SMD, you find their THT equivalent easily if you can't contact me. The whole cost of components without custom PCB would be around 7 - 8 USD. The quantity I have listed below can make only one board.

  1. 10K ohm resistor Quantity:1
  2. 100-ohm resistor Quantity:1
  3. 2k ohm resistor Quantity:1
  4. 1.5k ohm resistor Quantity:1
  5. 1uF 50v capacitor Quantity:1
  6. 10uF 16v capacitor Quantity:1
  7. 22pF 50v capacitor Quantity:2
  8. AMS 1117-3.3v Quantity:1
  9. AMS 1117-5.0v Quantity:1
  10. 16 Mhz crystal Quantity:1
  11. SPDT Push Switch Quantity:1
  12. DIP IC Socket 28pins Quantity:1
  13. Female Header 6 pins Quantity:4
  14. Female Header 15 pins Quantity:3
  15. Atmega 328P-PU Quantity:1
  16. HC-05 Bluetooth module Quantity:1

Optional:

Micro Female USB port or Female DC power jack to power this board.

Schematics and PCB Diagram

PCB_Rev2.0_20180403075257.png
Schematic_Custom-Arduino_Rev2.0_20180403075427.png

I have built the schematics and PCB on EasyEDA, you can find the project files at this link .

The schematics are based on original Arduino UNO R3, improvements can be made in the schematics such as adding reverse polarity protection, higher amperage regulators and thick PCB traces, adding LED lights for power indicator, etc.

Feel free to clone and change the schematics as well as PCB diagram.

Programming Arduino and HC-05

If your Atmega328P-PU does not have a bootloader, then you need to flash a bootloader first.

You need another Arduino to flash the bootloader, to do this there are various posts on the internet, I followed this article.

After that, you need to program HC-05 to be able to upload sketches to the Arduino, for that you need an Arduino UNO, I followed this instructable to this.

Now you are ready to upload sketches to your Arduino wirelessly!

Uploading Sketches to the Arduino

I had luck only with Windows and Android, I have tried on Ubuntu 18.04, it did not work. I do not know about Mac OS or IOS.

In Android,

  • Pair the Bluetooth module, default pin is 1234
  • Download this app .
  • In the menu, click on "Open Files"
  • Open Blink.ino from Example--Basic folder
  • Compile it
  • Upload it to Bluino#00

That is it, if you insert a LED in pin 13 to ground, it should blink now.

In Windows,

  • Pair the Bluetooth module, default pin is 1234
  • Open Arduino IDE
  • In Select Port option, select the port of the HC-05 module*
  • Select Board as Arduino UNO
  • For serial communication use baud rate 115200.
  • Open Blink.ino from basic examples.
  • Compile it.
  • Upload it.

Insert a LED in pin 13 to ground, it should blink.

*Actually there will be two ports for HC-05, one for uplink and other for downlink, use trial and error method to find out which is which.

Product Images and Final Thought

IMG_20180331_214713_FB01.jpg
IMG_20180331_214701_FB01.jpg
IMG_20180331_214445_FB01.jpg
IMG_20180331_215215_FB01.jpg
IMG_20180331_215305_FB01.jpg
IMG_20180331_211910_FB01.jpg
IMG_20180331_211859_FB01.jpg
IMG_20180331_214129_FB01.jpg
IMG_20180331_214023_FB01.jpg
IMG_20180331_214011_FB01.jpg
IMG_20180331_213956_FB01.jpg
IMG_20180331_214139_FB01.jpg

This was my first project using a PCB which was made by a CNC machine, all the PCBs for the project I made previously were made by me using universal PCBs .

Custom PCBs make the project look more professional, and I will certainly use them in my future projects.

If you have suggestions and project ideas, feel free to contact me.