• EUR€
  • £GBP
  • $USD
PROJECTS ArduinoGravity

How To Use OLED12864 LCD and Arduino Bluno To Make A Smart Clock

DFRobot May 06 2017 1370

I’ve always been dreaming of making a desktop clock which without complex functions, just smaller and can display time. Here is what I think: 


- Small and convenient

- Inertial conduction, sensing the placement of clock

- Charging Function. My clock has the function of charging, using micro USB (any mobile phone charger can be used) for charging. Don’t worry about running out of power (unless you are too lazy to charge it…). I will show you the whole making procedures and source codes in the following.

Isn’t it cool? The clock is small, and can be placed on the desk, posted on the wall, and even hidden in your pocket for easy carriage. Now start making!!!


Gravity I2C OLED-2864 Display

Gravity: I2C Triple Axis Accelerometer

Beetle BLE - The smallest Arduino bluetooth 

Lithium Battery Charger

3.7V Polymer Lithium Ion Battery - 1000mA

Shell (3D printing)

Black Acrylic Transparent Board


Arduino IDE 1.8.0 

Relevant library documents

Source codes 

1. Remove PH2.0 interface on the circuit board

As my clock is small, and PH2.0 interface is relatively large, I decide to remove it, and switch to manually welding connection, as shown below:

Refer to the picture. Use diagonal cutting pliers to cut PH2.0 interface, and then use electric soldering iron to remove the needles, as shown below:

Use the same method to remove the PH interfaces on LIS2DH accelerometer module and charging module, ash shown below:

Parts circled in red in the picture need to be removed.

2. Modify power supply of Bluno Beetle motherboard

By checking the schematic diagram, we can see that there are two LDO power chips on Bluno Beetle motherboard (VIN to 5V, and 5V to 3.3V). Bluetooth chip works on 3.3V, and ATMEGA328p chip on 5V (actually the working voltage of the chip is 1.8V~5V). Our lithium battery is 3.7V, so we can directly use lithium battery to power AEMEGA328p chip, changing the original 5V-3.3V to 3.7V-3.3V (feasible after test). Remove D1 diode on the schematic program, and connect the output power of our lithium battery directly to the 5V pin of Bluno Beetle motherboard (in fact, the 5V power line is changed to 3.7V), as shown below:

The corresponding place of diode on motherboard is shown below:

Note when dismantling, use electric soldering iron to remove one pin of diode, and then use tweezers to unceasingly fold the other pin of diode to make it facture naturally, as shown below:

Note: after removing the diode, it is impossible to download program to motherboard by inserting USB, as you switch it off. 

3. Production of cable

As OLED screen and LIS2DH accelerometer apply I2C interfaces, wire-welding is very simple. It only needs to connect 4 lines, which are Gravity lines in the packaging box of sensor. Use diagonal cutting pliers to cut a length of about 5cm, as shown below:

Strip the skin with wire stripping pliers to expose copper wire (length is 3mm), then tinning.

4. Welding sensors
Before welding sensor, we need to estimate the places of lithium battery, sensor, and motherboard first, as shown below:

Then we could weld the connecting wire. As sensor module is small, difficult to fix, pay attention to the manual skills when welding. 

Hold down PCB board with middle finger of the left hand, and hold the wire to be welded with thumb and index finger.

Connect I2C interfaces on sensor to I2C on motherboard with wire respectively (I’ll save the trouble of explaining the different connections). Connect VCC to 5V on Bluno Beetle motherboard. See the result shown below after completing welding:

Use the same method and connecting mode to weld LIS2DH accelerometer sensor, as shown below:

5. Fix lithium battery and relevant hardware

Welding of hardware has been finished, we need to fix them on lithium battery. I use 3MM strong double-sided adhesive, which has the advantages of fixation and preventing pins behind PCB from puncturing lithium battery, as shown below:

6. Welding charging module

Place charging module on the back of lithium battery. Note to place USB charging interface outside, as shown below:

Use wire to connect “+” pole of lithium battery to 5V of motherboard, “-” pole to GND of motherboard, as shown below:

After that, weld lithium battery to charging module. Use diagonal cutting pliers to cut PH2.0 interface on lithium battery, and weld it to charging module. Note to connect red to “+” pole and black to “-” pole. If not, you know it will be unsuccessful. See the following picture:

Welding is completed…

7.  Print clock shell
Download 3D document from the said link. Print shell. As the set printing parameters are different, time needed for printing is different. It takes me about 3 hours to print.

8. Download program to motherboard

After welding, motherboard could work normally, as lithium battery provides power. Now insert USB interface on motherboard to download program to motherboard. Source code needs to be downloaded from the said link (I’ll save the trouble of explaining how to install library documents). If downloading is successful, clock will start working, as shown below:

Note: we need to change the current time at source code, as shown below:

9. Installing circuit board to shell

Firstly, fix charging module to shell. Note to expose USB charging interface on charging module through the small backplane slot. Use USB wire to test whether it can be inserted and plugged, as shown below:

After inserting USB charging wire, the red LED light on charging module is lit, which means normal charging. After completing charging, green light is lit.

After determining place, use hot melt adhesive for fixation, as shown below:

10. Installing circuit board to shell
After installation of charging module, stuff the other circuit boards into the shell. Don’t worry about the placement as long as you don’t break lines.

11. Production of screen
Cut the black acrylic transparent board into the inner size of the shell cover (it is laborious and takes me about 20 minutes), as shown below:

Sorry, I forgot to take pictures in the future steps, and have to use the pictures taken before. After that, fix the shell cover and acrylic board with hot melt adhesive.

12. Overall assembly

Fix the shell cover and shell with glue. Rotate the clock, and the display also changes. By now, the entire production is completed.