Tag Archives: Arduino

Real Time Clock On 20×4 I2C LCD Display with Arduino

Sometimes it may be necessary to use a display while making a hardware project, but the size and the type of the display may vary according to the application. In a previous project, we used a 0.96″ I2C OLED display, and in this project we will have an I2C 20×4 character display.

This tutorial will describe how to use 20 x 4 LCD display with Arduino to print a real-time clock and date.

Real Time Clock On 20×4 I2C LCD Display with Arduino – [Link]

Lightweight GSM Mobile With Arduino UNO and Nextion Display

Avishek Hardin at Arduino Project Hub designed a lightweight mobile using a GSM module, an Arduino UNO, and a Nextion touch screen display. The lightweight mobile has the following features:

  • Make calls
  • Receive calls
  • Send SMS
  • Receive SMS
  • Delete SMS

In this project, he uses a GSM SIM900A module to establish the cellular communication. The GSM SIM900A is an all-in-one cellular module that lets you add voice, SMS, and data to embedded projects. It works on frequencies 900/1800MHz and uses the RS232 standard to communicate with MCUs. Baud rate of this module is adjustable from 9600 to 115200 through specific AT Commands.

This GSM mobile features a Nextion touch display to take input from the user and visualize the GUI. Its easy-to-use configuration software (Nextion Editor) allows you to design your own interfaces using GUI commands. All GUI data is stored in Nextion display instead of the master MCU. Thus, lots of program space in MCUs can be saved efficiently and it makes the development procedure effortless. The Nextion displays communicate with microcontrollers over UART which is supported by a wide range of MCUs.

Required Parts

Required pats for this project
Required parts for this project

Required Tools

Connection

Connect the Nextion display and the GSM module with your Arduino using following instructions:

  • Nextion +5V to Arduino VDD_5v.
  • Nextion RX to Arduino pin 11
  • Nextion Tx to Arduino pin 10
  • Nextion GND to Arduino GND_0v.
  • GSM Rx to Arduino pin 1
  • GSM TX to Arduino pin 0
  • GSM GND to Arduino GND_0v.
Wiring Diagram
Wiring Diagram of Arduino-based GSM mobile

Program The Nextion Display

First of all, you need to design an HMI file using Nextion Editor. This editor allows you to design the interfaces using plug-and-play components like text, button, progress bar, pictures, gauge, checkbox, radio box, and much more. You can set codes and properties for each of these components later.

Design GUI using Nextion Editor
Design GUI using Nextion Editor

In this project, 8 different pages are used to design the GUI. All the icons used are easily available on the internet. Icons are resized and modified using an open source tool paint.net. Touch events like press and release are also covered when components are touched. More information on Nextion display commands can be found on this wiki page.

Designing dial pad using Nextion Editor
Designing dial pad using Nextion Editor

Steps To Upload

  • Load the .HMI file into the editor. Link to the Github repository is here.
  • Compile the .HMI file (just under the menu bar).
  • Go to File > Open build folder > Copy the .tft file > Paste into SD card. Note: make sure the SD card is formatted to FAT32.
  • Once copied, insert the SD card into the Nextion display and then turn the power on.
  • Wait for the .tft to upload.
  • Power off the Nextion, securely remove the SD card and then again power on the display.
  • Now you should see your new interfaces on the Nextion Display.

Program The Arduino

The Arduino is the brain of this project. It takes input from the Nextion display, sends commands to GSM module to create the cellular connection, and shows information on the display. This project does not use any Nextion library due to lack of documentations and difficulties to understand. Moving on without using libraries seems tough but it is really not.

The code can be found on the Github repositorySimply download it and upload to the Arduino board using the Arduino IDE. If you are using some other board than Arduino UNO, then don’t forget to select that specific board in Arduino IDE before uploading.

Editing the Arduino sketch
Editing the Arduino sketch
compile and upload the sketch using Arduino IDE
compile and upload the sketch using Arduino IDE

Open the Serial Monitor, you should see the AT command log for each event triggered from the Nextion Display.

Serial Monitor shows the AT command log
Serial Monitor shows the AT command log

Important Note

By default, the GSM module has an SMS buffer size of 20. Unfortunately, this Arduino-based mobile cannot display all the 20 messages at once on the Nextion display as it gives a buffer overflow while compiling the Nextion code. Hence, the Nextion display is programmed to show maximum 10 messages at once. If 10 or more SMS are present on the GSM buffer, the Low memory warning icon will be displayed on the Nextion display.

SMS log showing received messages on Nextion display
SMS log showing received messages on Nextion display

Video

Watch the demonstration video to understand how this Arduino-based lightweight GSMmobile works.

 

XOD, Visual Coding For Microcontrollers

XOD is a new visual programming language for microcontrollers launched now. Pronounced [ksəud], this programming language idea was inspired by vvvv,  a hybrid visual/textual live-programming environment for easy prototyping and development which is designed to facilitate the handling of large media environments with physical interfaces, real-time motion graphics, audio and video that can interact with many users simultaneously.

Like Code, But Better

The basic unit of this language called node, a block that represents either some physical device like a sensor, motor, or relay, or some operation such as addition, comparison, or text concatenation. Each node has its inputs, outputs, and a function. Once you link the nodes together you will define a behavior. XOD will protect you from creating programs don’t compile, by making sure all nodes linked will give the behavior desired.

If it links, it’s likely going to work“.

Fortunately, you won’t need Firmata or another controller PC to export the code that suits your platform. XOD will export for you the needed native code and run it directly. It is already compatible with Arduino, Raspberry Pi and other popular development boards.

XOD gives you the possibility to build your own nodes by merging some nodes together, making it simpler and faster. You can share these nodes with the community and search for trendy ones too once the platform is live.

XOD includes plenty of nodes in their platform. The team believes they are good enough to start your projects just like normal programming!

27 days left for Alpha version although you can still get early access to the XOD private alpha by signing up at www.xod.io!

µduino, The Smallest Arduino Ever

A new member to Arduino compatible devices is just here, the newest yet the smallest Arduino ever created, µduino!Believing that it is enough to include some bulky devices in our applications, the team behind µduino is trying to provide a shrinkified device that can be included anywhere. With the size of  12mm (0.5 inches) x 12mm, µduino is considered the smallest Arduino compatible device that compete with other similar microcontroller boards with power saving .

The µduino makes use of the power of the ATMEGA32U4 chip found in the Arduino Leonardo (a board over 20 times larger), offering 20 I/O ports, including PWM and ADC ports! In addition, the µduino can be powered by batteries or directly by micro-USB.

A list of µduino specifications is here:

  • ATMEGA32U4 microcontroller
  • 6x Analog I/O ports
  • 14x Digital I/O ports (including Rx/Tx)
  • Status LED
  • 5V voltage regulator (accepts up to 16V DC)
  • 6-pin ICSP programming ports (load custom bootloaders, program other boards, etc)
  • 2x 5V ports
  • 2x ground ports
  • 1x Analog reference voltage port
  • Reset button
  • 16 MHz precision crystal oscillator
  • MicroUSB port for easy programming and prototyping
  • 2x mounting holes (can be sewn into clothing)

Despite its small size, µduino is still powerful and capable to be included in many applications performing as full size Arduino boards. µduino team are planning to run a crowdfunding campaign on CrowdSupply but it is not launched yet. You can sign up here to receive more updates about µduino once launched.

Arduino Easy Module Shield Tutorial – Is this the best Arduino Shield

Our friends on educ8s.tv uploaded a new Arduino tutorial. Let’s check it out.

Dear friends welcome to another Arduino Tutorial! Today we are going to take a first look at this very promising new shield for Arduino, the Arduino Easy Module Shield! Also we are going to build a couple of projects with it. Let’s get started!

Arduino Easy Module Shield Tutorial – Is this the best Arduino Shield – [Link]

LoRa IOT Home Environment Monitoring System

RodNewHampshire @ instructables.com writes:

The LoRa IOT Home Environmental Monitoring System consists of an Arduino Mega based IOT-to-Internet gateway and Arduino Feather based remote stations with environmental sensors. The remote stations communicate wirelessly with the gateway using LoRa radios.

LoRa IOT Home Environment Monitoring System – [Link]

Arduino Primo With Bluetooth, NFC, Wi-Fi, and Infrared

Thanks to a partnership with Nordic Semiconductor – the world’s most successful open-source ecosystem for education, Maker, and Internet of Things (IoT) markets -, Arduino announced its new board, Arduino Primo, including native Bluetooth Low Energy wireless connectivity and NFC touch-to-pair using Nordic nRF52832 SoCs.

The Arduino Primo combines the processing power from the Nordic nRF52 processor, an Espressif ESP8266 for WiFi, as well as several on-board sensors and a battery charger.  The nRF52 includes NFC (Near Field Communication) and Bluetooth Smart.  The sensors include an on-board button, LED and infrared receiver and transmitter.

There are three onboard microcontrollers:

  • nRF52832, the main Arduino microcontroller with integrated BLE and NFC
  • STM32f103, a service microcontroller used for advanced debugging and programming of the other microcontrollers
  • ESP8266, for Wi-Fi and related internet connectivity functions.

The board has:

  • 14 digital input/output pins (of which 12 can be used as PWM outputs)
  • 6 analog inputs
  • 64 MHz ceramic resonator
  • micro-USB connector
  • ICSP header
  • battery charger
  • Infrared receiver and transmitter
  • NFC antenna
  • BLE interface
  • Buzzer
  • two service buttons
  • LEDs
  • reset buttons (to reset the various microcontrollers).

Arduino Primo can be connected to a computer using a micro-USB cable, or it can be powered using a battery, connected via a 2-pin JST-PH connector. Having both Bluetooth and Wi-Fi connectivity on board makes it easy to get started in the IoT world.

“Our passion at Arduino is to provide the tools to encourage passionate people to build out their ideas and bring them into the world. Adding wireless connectivity from our partnership with Nordic provides even more options,” says Federico Musto, CEO & President of Arduino S.r.L. “Ease-of-use is one of our core strengths, and this makes the Nordic chip a perfect match for the Arduino Primo,” adds Musto.

More details about Arduino are available at the official page at Arduino.org

Paperino, The ePaper Display Shield

ePaper displays  (EPDs) are becoming a trend in application, just like the display used in Amazon Kindle,  for their low power consumption due to the  to the underlying ‘bistable’ display technology. These displays can continue to show information without any power at all. It is only required while updating the display with new information, otherwise there won’t be any power consumption.

Providing such revolutionary displays to your applications will be a professional approach. For this, a new crowdfunding campaign is providing Paperino, an easy-to-use, micro ePaper shield for the Particle & Arduino community. Paperino simplifies driving ePaper displays with clean, simple, and short script examples.

Thanks to the plug-and-play shield for particle family, Paperino can be used with the following boards: Photon, Electron, or Bluz without manual wiring. It can also be wired easily to be connected with Arduino and other compatible boards.

Paperino Features

Glass-free Display

Paperino is lightweight and thinner than other ePaper products because it uses a glass-free ePaper display from Plastic Logic. It weighs 1.2 grams and is only 0.5 mm thick.

Supports Four Gray Levels

Unlike many other ePaper products out there, Paperino can support four gray levels instead of two (black and white).

Fast, Partial Updates

You don’t have to wait for slow, full screen updates to load. With Paperino, you can quickly update only parts of the screen.

Accelerometer

The integrated accelerometer lets you interact with your Paperino in all sorts of ways, including tap sensing. Tap sensing capability can trigger screen updates or wake up your microcontroller.

Paperino Specifications

The Paperino breakout board can be used for manually wiring your favourite, Arduino-compatible microcontroller with 3.3 V and >4kb of free RAM.

  • Resolution: 148 x 70 px
  • Pixel density: 150 ppi
  • Grey levels: 4
  • Weight: 1.2 g
  • Thickness: 500 µm
  • Power consumption: 4.5 mA (mean current for typical image update)
  • Operating conditions: 0°C .. 40°C
  • Storage conditions: -25°C .. 50°C

You can pre-order your own Paperino for $20 and with a driver board for $30. The crowdfunding campaign still has 16 days to go, and you can learn more details by checking it out.

20×4 I2C Character LCD display with Arduino Uno

Our friends on educ8s.tv published a new video! Check it out.

Hello guys, I am Nick and welcome to educ8s.tv a channel that is all about DIY electronics projects with Arduino, Raspberry Pi, ESP8266 and other popular boards. Subscribe to the channel now if you don’t want to miss any future videos. In this video we are going learn how to use this inexpensive character LCD display with Arduino. After we learn how to use the display we are going to build something useful. A simple real time clock. Let’s start.

20×4 I2C Character LCD display with Arduino Uno [Link]

Explore magnetoresistive sensing with Arduino

Graham Prophet@ eedesignnewseurope.com discuss about precision-measurement motion sensing using Arduino compatible kit.

From distributor RS Components, this kit enables development of precision-measurement motion control systems using Sensitec’s magnetoresistive sensor technology, applied to linear and angular measurement.

Explore magnetoresistive sensing with Arduino – [Link]