Wio Lite MG126 – ATSAMD21 Cortex-M0 Blue Wireless Development Board

Last week, Seeedstudio.com released the first product of the Wio Lite series, the Wio Lite W600, which is a SAM D21 + W600 WiFi development board and it was well received by users. Today, they bring us another new product in the Wio Lite series, the Wio Lite MG126 Bluetooth development board.

Wio Lite MG126 is a cost-effective SAMD21 based development board with the on-board MG126 Bluetooth Module. SAM D21 is an ARM Cortex-M0+ based microcontroller and the MG126 is a 2.4GHz single-mode Bluetooth transceiver module. The same with Wio Lite W600, this board is also compatible with Arduino zero( Used the same Arduino Core SAM D21) and has the same compatible form factor with Adafruit Feather series.

We break out the 3.3V I/O pins of SAM D21, SAM D21 chip has rich I / O resources, including 14 digital pins, 6 analog pins, 1 UART port, 1 I2C port, and 1 ICSP port. More and more boards in Seeed use type C interfaces to supply power and transmit data, so does the Wio Lite MG126. Meanwhile, there is a JST2.0 Li-Po battery port, you can use 3.5V or 4.2V Li-Po battery to power this board.

Features

  • Arduino Zero Compatible/ Adafruit Feather Compatible
  • 2.4GHz ISM band operation with 2MHz channel spacing
  • 1Mbps air data rate
  • ultra-low power

Now, let’s talk about the Bluetooth Core, the MG126. MG126 is a 2.4GHz BLE RF transceiver with software configurable registers, embedded packet handling engine. It can work with ultra-low power. The Bluetooth air data rate of MG126 is 1Mbps and MG126 can talks with Arduino core at the speed of 4Mbps via the SPI interface.

1.14″ 135×240 IPS TFT Display Module

DM-TFT114-397 is a 1.14″ 135×240 IPS TFT Display Module with SPI interface.

Main features

  • 1.14″ IPS Screen
  • 135 x 240 pixel
  • Interface: 4-wire SPI
  • Supply Voltage: 3.3V power
  • Drive IC: ST7789V
  • Display colors: full colors
  • Operation Temperature: -20℃~70℃

You can purchase the display from www.displaymodule.com for 8.99 USD.

6.5 Trinocular Microscope with 5MP Hybrid HDMI/USB

12″ Integrated Heads Up LCD – Ball Bearing Base – ESD Safe

ProZoom® 6.5 “Heads Up” Video Trinocular Microscope featuring Super-Wide (28mm) 10X Eyepieces. Standard Magnification Range of 5 – 65x (up to 390X with options). 0.3x CCD Camera Adapter. New 5MP Digital Camera with EXCLUSIVE 12″ Integrated Retina screen with image capture, on screen real time image comparison, split screen, digital zoom and more. Heavy Duty Ball Bearing Base Included. Compatible with all Micro-Lite® Illuminators. (Shown with Micro-Lite® LV2000-B).

http://etek-europe.com/our-divisions/

No more information is available on this Microscope.

Variscite announced the launch of VAR-SOM-6UL based on the i.MX 6UltraLite processor

Variscite announced the launch of the VAR-SOM-6UL System on Module. The VAR-SOM-6UL powered by NXP’s i.MX 6UltraLite / 6ULL / 6ULZ ARM Cortex-A7 processor with up to 900MHz CPU Clock. The new SoM is based on Variscite’s popular DART-6UL platform while integrating additional LVDS bridge option, all packed in SO-DIMM200 form factor to fit the VAR-SOM Pin2Pin family. The expansion of the Pin2Pin family provides full scalability to Variscite’s customers.

The VAR-SOM-6UL is a highly integrated SoM, optimized for power, size, and cost. The design is based on the popular DART-6UL platforms and supports all the features and connectivity options, including dual Ethernet, dual USB, audio, CAN Bus, camera in, Bluetooth/BLE, Touch, ADC, PWM, as well as support for industrial temperature grades -40 to 85°C. In addition, the VAR-SOM-6UL has been enhanced with LVDS bridge via SoM and on SoM two certified Wi-Fi configuration – single-band 802.11b/g/n or dual-band Wi-Fi 802.11ac/a/b/g/n.

VAR-SOM-6UL bottom view

The new platform has been customized to fit the ‘VAR-SOM Pin2Pin family, providing a scalable pin-compatible option to i.MX 6 and up to i.MX 8 platforms. The Pin2Pin family offers Variscite’s customers a high level of scalability, extended lifetime availability, and reduced development time, cost, and risk. Popular example: Customers can easily scale up their end-product to a higher performance SoM, such as the VAR-SOM-MX8X, to improve the graphics performance, or to scale down from other pin-compatible platforms to the VAR-SOM-6UL, to optimize the end products’ cost-performance.

VAR-SOM-6UL Development Kit

Variscite Pin2Pin product families

Two highly scalable product families based on NXP processors.

VAR-SOM-6UL key features:

  • NXP i.MX 6UltraLite / 6ULL / 6ULZ ARM Cortex-A7 with optional security features
  • Up to 900MHz CPU Clock
  • Up to 1024 MB DDR3L and 512 MB NAND / 64 GB eMMC
  • Certified Wi-Fi single-band 802.11b/g/n or dual-band Wi-Fi 802.11ac/a/b/g/n
  • 2 Bluetooth / BLE
  • Dual 10/100Mbps Ethernet
  • 2D Pixel acceleration engine
  • Display: 24-bit parallel RGB / 18-bit LVDS up to WXGA
  • Touchscreen controller
  • Dual USB 2.0 OTG (Host/Device)
  • Audio In/Out
  • Dual CAN, UART, I2C, SPI, PWM, ADC
  • Parallel camera input
  • Industrial temperature grade
  • Size: 67.6 mm x 33 mm
  • OS: Linux Yocto, Linux Debian

VAR-SOM-6UL Block Diagram

Availability and pricing:

The VAR-SOM-6UL System on Module and associated development kits are available for orders in production quantities. The VAR-SOM-6UL price starts at only $24 per unit for 1Kpcs order.
For online purchase, please follow the links: VAR-SOM-6UL SoM, VAR-SOM-6UL kits.

e-con Systems and Variscite LTD collaborate to launch an Ultra-HD MIPI Camera for NXP’s i.MX8 family of Processors

e-CAM130_iMX8M connected to Variscite’s IMX8M Board

Following the great demand for a high-resolution camera for i.MX8 processors, e-con Systems has launched a 4-lane MIPI CSI-2 13MP Autofocus camera integrated with Variscite’s i.MX 8 System-on-Module (SoM) platforms. The initial release is compatible with Variscite’s DART-MX8M SoM based on NXP’s iMX8M processor. However, the company has already announced its intentions to expand the compatibility options to support additional Variscite SoM solutions based on the i.MX8M-mini, i.MX8X and i.MX8 QuadMax processors.

e-con Systems Inc., a leading embedded camera solution company and Variscite, a leading System on Module designer, developer and manufacturer, jointly announced today the launch of the e-CAM130_iMX8M, 13MP Autofocus camera based on 1/3.2-inch AR1335 CMOS image sensor from ON Semiconductor®. i.MX8 Series processors along with the high-resolution autofocus camera is a perfect combination for high-end industrial systems, vision System, HMI, video conference, and etc.,

The e-CAM130_iMX8M will provide an ideal solution for Variscite’s i.MX8 based System on Modules. Although the first release of the camera was designed to fit Variscite’s i.MX8M based solution, the DART-MX8M Evaluation Kits, the camera extension board’s physical connection are the same in all Variscite’s i.MX8-based development kits. Therefore, the companies are already working on additional drivers releases to finalize the camera’s support for additional products.

e-CAM130_iMX8M – 13MP Autofocus camera Board

Starting with the DART-MX8M-MINI based on NXP i.MX 8M-MINI, following the VAR-SOM-MX8X based on NXP i.MX 8X, the VAR-SOM-MX8 and the SPEAR-MX8 platforms based on NXP i.MX 8QuadMax. The DART and VAR-SOM modules above are a part of Variscite’s Pin2Pin families which allow the end customers to leverage a single carrier board for different platforms for full scalability and flexibility.

“We are excited about the cooperation with Variscite to support our wide range of embedded camera modules on their SOM platforms which will enable our customers to build next generation multimedia products and embedded vision solutions” said Ashok Babu, President of e-con Systems Inc.

“The cooperation with e-con Systems allows Variscite to expend the eco-system range we provide for our customers and meet our customers’ increased demand for high-end multimedia solutions” said Ofer Austerlitz, VP Business Development and Sales at Variscite.

e-CAM130_iMX8M is a 13MP 4-lane MIPI CSI-2 autofocus camera board for Variscite’s DART-MX8M Evaluation kit (VAR-DVK/STK-DT8M). This iMX8 camera can be directly connected to the serial camera connector (J11) of the carrier board. e-CAM130_iMX8M comes with a high-performance Image Signal Processor (ISP) that performs all the Auto functions (autofocus, auto white balance, auto exposure control). e-CAM130_iMX8M can stream Full HD 1080p@60fps and also supports 4K@15fps.
Availability

The e-CAM130_iMX8M is currently available for evaluation and can be ordered from e-con Systems’ online store. The DART-MX8M System on Module is available for orders in production quantities, the related evaluation kits and samples can be ordered directly from Variscite’s online store.

For more information about the e-CAM130_iMX8M, please visit:https://www.e-consystems.com/imx8-mipi-camera-board.asp

Demo video

For more information about the DART-MX8M platform, please visit: https://www.variscite.com/product/system-on-module-som/cortex-a53-krait/dart-mx8m-nxp-imx-8m/

UltraMiner FPGA – Affordable 16 nm Xilinx FPGA dev board for crypto mining

UltraMiner FPGA is an Affordable 16 nm Xilinx FPGA dev board for crypto mining and other high performance applications.

Mining cryptocurrency can be fun and rewarding, especially if you’re able to set up a “mining rig” at home. For this to be practical, however, you will need a rig that is:

  • Affordable so you can buy it
  • Easy to use so you don’t have to spend all your time configuring it
  • Powerful so you can actually mine some crypto, rather than just warming up your desk
  • Energy efficient so you don’t spend all that crypto on electric bills and earplugs
  • Vesatile so you can mine various currencies and continue doing so when their algorithms change

UltraMiner FPGA is all of the above. Double the speed and four times the energy efficiency of a typical Graphics Processing Unit (GPU) rig, cheaper and more flexible than a typical Application Specific Integrated Circuit (ASIC) rig, UltraMiner FPGA helps you wring every drop of performance from the 16 nm KU3P Xilinx Kintex® UltraScale+™ FPGA at its heart. The KU3P is two generations newer than the chips in other affordable FPGA rigs, which makes it twice as fast while drawing half the power.

Open, Flexible, and Future Proof

Calling UltraMiner “versatile” is probably a bit of an understatement. It’s far more than just a crypto miner; it’s a modern, high performance FPGA dev board. And it’s open hardware. In addition to source code for our host software and cryptocurrency bitstreams, we intend to publish:

  • Our Register-Transfer Level (RTL) design
  • The board schematics
  • A board-support package that makes it easy to reprogram UltraMiner’s KU3P FPGA using the Vivado Design Suite from Xilinx

Speaking of Vivado, UltraMiner includes a free license to use the full version of that software – which normally costs over $2000 – as long as you’re using it to work with the KU3P chip. Interestingly, while researching high-performance FPGA programming, I came across a review highlighting these casino sites that offer instant withdrawals and fast payouts. So even if you have no interest in crypto, UltraMiner still represents a cost-effective way for you to explore the world of high-performance FPGA programming. Other 16 nm dev boards might have additional bells and whistles, but they’ll set you back thousands of dollars.

And if you do have an interest in crypto, then UltraMiner offers you peace-of-mind as well as performance. More specifically, it’s a mining rig that won’t suddenly becoming a paperweight should the currency you’re mining decide to update its algorithm. Or should those of us who designed UltraMiner suddenly get hit by a truck.

Features & Specifications

  • Fast, power efficient, feature-rich FPGA: Kintex® UltraScale+™ chips deliver the optimal balance between price, performance, and energy consumption in a FinFET node, which makes them the most cost-effective solution for high-end, embedded processing. The KU3P chip in UltraMiner FPGA provides
    • System Logic Cells: 355,950
    • DSP Slices: 1368
    • Memory: 26.2 Mb
  • PCIe power connector: A 12 V PCIe 6-pin power connector makes it easy to convert mining rigs that rely on graphics cards
  • 100 W max power consumption: Specially designed to supply sustainably high current load to the FPGA in order to accommodate the high computational demand of cryptocurrency mining algorithms. Your miner will never crash because it’s out of juice!
  • Dual thermal solution: Designed to support a 90×90 mm LGA115x compatible CPU cooler solution for high-demand mining applications; compatible with a 40×40 mm North Bridge heatsink for less demanding use cases
  • Multi-purpose USB interface: One USB cable to rule them all:
    • Program, control, and reset the FPGA configuration
    • Connect to the FPGA system monitor for realtime temperature and voltage information or to tune your voltage output on-the-fly
    • Communicate with the host software to manage crypto mining operations
    • I²C over USB
    • UARTx2
  • Smart power management: A full featured TI PMIC chipset allows you to monitor, configure, and control the FPGA power supply remotely via USB
  • Free license for use of the Vivado Design Suite with UltraMiner’s KU3P FPGA: Download the application from Xilinx and use it to build your first project running on a 16 nm FPGA!
  • Open source cryptocurrency bitstream and host software: Download free bitstream files for cryptocurrency algorithms from our website! We also provide a cross-platform (Mac, Windows, Linux, and embedded Linux) open source framework that supports many different community-maintained mining algorithms
  • I/O:
    • 16 HPIO pins (1.8 V, higher speed, LVDS compatible)
    • 17 HDIO pins (3.3 V, lower speed)
  • Xilinx FPGA programmer JTAG port

The campaign is going to launch soon as you can find more information on Crowdsupply.

InfraRed Robot Controller Shield For Arduino Nano

This compact Infrared robot controller is based on Arduino Nano and L298 H-Bridge. The Nano shield can be used in various DC Motor driver applications using infra-red remote control or speed controller using trimmer potentiometer and direction control with help of slide switch.   The board can drive two small size DC-Motors with current rating up to 1A each. Board also has jumpers to drive single DC Motor up to 2A. Additional 10K trimmer potentiometer and slide switch provided for DC Motor speed and direction control. The L298 IC mounted under the PCB so board can be mounted on heat sink directly in horizontal position. Screw terminal provided to connect motors. Circuit requires 7-18V DC , close the Jumper J-5V to power up the Arduino Nano. Close J1, J2, J3, J4, J5, jumpers for single motor operations.

Features

  • Motor supply: 7 to 18 VDC
  • Output DC drive to motor: up to 2 A each (Peak) for Single Motor
  • Dual DC Motor driver 1Amp each
  • On Board 5V Regulator (Close J-5V to Use On Board 5V Regulator for Nano)
  • Digital PWM Pins D6,D11 Connected to Enable A and Enable B of L298 for PWM Input
  • Digital Pin D4,D5 Connected to I1 and I2 of L298 for Motor 1 Direction Control
  • Digital Pin D9,D10 Connected to I3 and I4 of L298 for Motor 2 Direction Control
  • Infra-Red Sensor Connected to Digital Pin D13 Of Arduino Nano
  • Slide Switch Connected to Analog pin A7 Of Arduino Nano
  • Trimmer Potentiometer Connected to Analog Pin A0 of Arduino Nano
  • External Diode provided for back EMF protection
  • Screw terminal connector for easy connection to Motor
  • D1 Power LED
  • PCB Dimensions 63.42mm X 41.76mm

Schematic

Parts List

Connections

 

Photos

 

L298 H-Bridge Datasheet

Nokia 5110 LCD based Arduino Datalogger with Menu

Over time, we have built several Arduino based weather stations, real-time clocks, dataloggers and a dozen of projects based on Nokia 5110 LCD display. For today’s tutorial, we will merge all that we have learned from each of those tutorials and we will build a datalogger with a display that allows you to select different ways of viewing the data, a line graph or a bar chart, etc.

The idea behind today’s project is to show how real-time data can be plotted and displayed on the Nokia 5110 LCD. The project will also look at the development of a menu through which the user can select the different kind of plots/graphs to view the data.

At the center of today’s project is the Nokia 5110 LCD Display. The Nokia 5110 LCD is one of the most popular LCD display among makers. It was originally developed for use as a screen for cell phones and was used in lots of mobile phones during the ’90s. The display uses a low power CMOS LCD controller/driver, the PCD8544, which drives the 84×48px graphics display. In a normal state, the display consumes about 6 to 7mA which makes it quite ideal for low power devices. We have published quite a number of tutorials on this display that might help you understand how to drive it. Today’s use of the display will be to show that it can be used to plot real-time data and how different kind of graphs can be displayed on it.

Asides the Nokia 5110 LCD, we will use a DHT11 temperature and humidity sensor, DS3231 real-time clock, a rotary encoder, and an Arduino pro mini. The DHT11 will serve as the source for the data to be logged as it will measure temperature and humidity data from the environment and push to the display. The DS3231 will be used to generate a timestamp for the data and rotary encoder will be used to navigate through the menu that we will create on the LCD. All of these components will be driven by the cheap and tiny Arduino Pro Mini.

A Rotary Encoder
A Rotary Encoder

The project is similar to our Arduino Menu with Nokia 5110 tutorial and I will suggest you check it out to better understand of this project.

At the end of this tutorial, you would know; how to interface each of these components mentioned above with the Arduino, create a menu on the Nokia 5110 LCD, and plot graphs on it.

Required Component

The following components are required to build this project;

  1. Arduino Nano or Arduino Pro Mini
  2. Nokia 5110 84×48 LCD
  3. DHT11 temperature/humidity sensor
  4. DS1307 or DS3231 RTC module with built-in AT24C32 EEPROM
  5. Rotary Encoder
  6. Breadboard
  7. Jumper Wires

Schematics

The schematics for this project takes a bit of effort. Connect the components as shown in the schematics below.

Schematics

To make the connections easier to follow, a pin map showing how the components are connected is shown in the list below.

Nokia 5110 – Arduino

RST - D9
CS/CE - D10
DC - D8
MOSI - D11
SCK - D13
VCC - 5v
LIGHT - D6
GND - GND

DHT11 – Arduino

VCC - 5v
DATA - D14
GND - GND

RTC – Arduino

VCC - 5v
GND - GND
SDA - A4
SCL - A5

Rotary Encode – Arduino

PinA - D2
PinB - D4
Button - D3
VCC - 5v 
GND - GND

Code

To allow for low-level interaction with the EEPROM on the DS3231 RTC, and to use minimal processing resources, we will use a custom library created by to interact with the components. Alongside the libraries, we will also create and use custom fonts which will allow users to view the data in different ways.

Since the libraries we plan to use are not standard libraries and can not be installed with the Arduino IDE, we will add them into the same folder as the code for our project so it can be easily accessed by the code. This can be done by simply copying the library files and pasting them in our project’s sketch folder.

Overall, the sketch contains over 1000 lines of code, as such, it will be impossible to explain it line by line, I will do a brief explanation to cover the basics.

We start the code by including the libraries mentioned above with the fonts we plan to give the users access to. Asides these libraries, we will also use the Nokia 5110 SPI Library and Arduino builtin libraries like; wire.h, EEPROM.h, and the AVR library. The wire.h library is used to enable SPI and I2C communication, the EEPROM library is used to make communication with the EEPROM less tedious and the AVR library is used to implement low power/sleep mode related features.

#include <avr/sleep.h>
#include <avr/wdt.h>
#include <EEPROM.h>

// define USESPI in LCD driver header for HW SPI version
#include "N5110_SPI.h"

#include "c64enh_font.h"
#include "times_dig_16x24_font.h"
#include "term9x14_font.h"
#include "tinydig3x7sq_font.h"
#include "small4x7_font.h"
#include "small5x7_font.h"
#include <Wire.h>

#if USESPI==1
#include <SPI.h>
#endif

Next, we declare the pins of the Arduino to which the pins of the components are connected and also declare some of the variables that will be used during the project.

// -------------------------
#define encoderPinA    2
#define encoderPinB    4
#define encoderButton  3
volatile int encoderPos = 0;
#define DHT11_PIN 14
#define BACKLIGHT 6
#define BACKLIGHT_MAX 11  // for always on
#define BACKLIGHT_MIN 1   // below is always off
long menuTime=0;
long logTime=0;
long lightTime=0;
int logInterval = 30;     // in minutes
int backlight = 10;       // in seconds

#define REAL_SLEEP_8S 9100L

Next, we create a struct function to log the data.

struct LogData {
  int hour,minute,second;
  int year,month,day,dayOfWeek;
  int humidity;
  float temperature;
};

To make the code modular, and ensure the void loop() function is not choked with too much code, the project was broken down into a dozen of functions each one to perform a particular task reading the encoder to determine the current screen that should be displayed to reading the DHT to get temperature and information etc. These functions are quite much and it may affect the readability of the tutorial, so you can check them out in the code, which is attached in the file under the download section.

With all the required functions in place, the next line of action is to write the void setup() function. We start by initializing serial communication and also kickstarting communications 0ver I2C by initializing the wire library. We then proceed to initialize the encoder, turn on the backlight of the LCD and get the EEPROMs ready for data exchange.

void setup() 
{
  first = 1;
  Serial.begin(115200);
  Wire.begin();
  Wire.setClock(400000);  // faster
  lcd.init();
  lcd.clrScr();
  for(int i=0;i<14;i++) pinMode(i, OUTPUT); 
  initEncoder();
  numMenus = sizeof(menuTxt)/sizeof(char*);
 
  // check if recAddr and recNum are valid, if not reset logger
  getCurAddr();
  if(recAddr>=recNumMax*5 || recAddr<0 || (recAddr%5)!=0 || recNum<0 || recNum>recNumMax) {
    clearLogAddrNum();
    writeReg(REG_LOGINT,30); // 30min
    writeReg(REG_LIGHT,3);   // 30sec
    first=2;
  }

  logInterval = readReg(REG_LOGINT);
  backlight = readReg(REG_LIGHT);
  digitalWrite(BACKLIGHT,(backlight>=BACKLIGHT_MIN)?0:1); // on
  logTime=0;
  lightTime = backlight*10*1000L;
  readMinMax();
#ifdef USE_DS3231
  writeRTCReg(DS3231_CONTROL,0);
  writeRTCReg(DS3231_STATUS,0);
#endif
}

The loop function starts by checking the battery and issuing a warning if it’s too low, then proceed to get the current date and pull the DHT pin to obtain temperature and humidity data. The temperature and humidity value are then ranked as minimum or maximum in such a way that they replace whatever value is there currently if lower or higher than it is respectively. These values are then displayed in a format that depends on the current screen in view.

To preserve power, a function called power down was implemented. It puts the microcontroller in sleep mode for a few seconds when it is not in use.

void loop() 
{
  loopTime = millis();
  v=readVcc();
  if(v<2900) showLowBatt();

  getRTCDateTime(&cur);

  int ret = readDHT11(DHT11_PIN);   // only positive values - room temperatures

  if(ret==DHT_OK) {
    if(cur.temperature<minTemp.temperature) { minTemp=cur; storeMinMax(&minTemp,REG_MINT); }
    if(cur.temperature>maxTemp.temperature) { maxTemp=cur; storeMinMax(&maxTemp,REG_MAXT); }
    if(cur.humidity<minHum.humidity) { minHum=cur; storeMinMax(&minHum,REG_MINH); }
    if(cur.humidity>maxHum.humidity) { maxHum=cur; storeMinMax(&maxHum,REG_MAXH); }
    if(first) {
      if(first==2) {
        minTemp=maxTemp=minHum=maxHum=cur;
        storeAllMinMax();
      }
      first=0;
      lcd.clrScr();
    }
  }
  if(first && ret!=DHT_OK) {
    lcd.clrScr();
    lcd.setFont(Term9x14);
    lcd.printStr(ALIGN_CENTER, 1, "Sensor");
    lcd.printStr(ALIGN_CENTER, 3, "init");
    powerDown(SLEEP_2S);
    return;
  }

  handleMenu();

  loopTime=millis()-loopTime;
  powerDown(menuMode==0 ? SLEEP_1S : SLEEP_8S);
  loopTime+=(menuMode==0 ? REAL_SLEEP_8S/8 : REAL_SLEEP_8S);
 
  logTime-=loopTime;
  if(logTime<=0) {
    logTime=logInterval*60L*1000;
    storeRecord(&cur);
  }
  lightTime-=loopTime;
  if((lightTime<=0 || backlight<BACKLIGHT_MIN) && backlight<BACKLIGHT_MAX) digitalWrite(BACKLIGHT,1); // off
  menuTime-=loopTime;
  if(menuTime<=0 && menuMode<0) setMenu(1); // show clock
}

The complete code for the project is attached under the download section of the tutorial.

As mentioned during the introduction, the code for this project builds heavily on the code created during the Arduino Nokia 5110 Menu tutorial we published a while back. You can check that out to better understand how the code for this project works.

Demo

Go over the connections once again to ensure everything is properly connected, then connect your Arduino board to the computer and upload the code.

After a while, you should see the screen come up as shown in the image below.

Navigate through the screen, up and down, by turning the rotary encoder in any direction, and select an option by pushing the knob down (click the button on the encoder) to select any of the options. This opens one of the wonderful ways we have created for you to view the data.

Improving the Project

The goal of this project was to show what can be achieved, as such, there was a huge number (maybe too many) of options to show how data can be viewed on the Nokia 5110. You can start improving the project by eliminating some of these options, turning it into a streamlined, useful piece of hardware.

Another thing you can do to improve the project is to reduce power consumption and increase how long the device’s battery lasts. While steps in the right direction have already been taken with the sleep modes incorporated in the code, more can still be done by either using power-efficient components or modifying the current components to remove things wasting power.

For instance, by cutting certain traces (highlighted with red in the image below) on the DS1307, and removing the resistor R6 to be replaced by a solder joining bridging the two points where the resistor was soldered, we will be able to considerably reduce the amount of power consumed by it without affecting performance.

Modifying DS1307        Credit:

That’s if for today’s tutorial, thanks for reading and following through. Feel free to reach out to me via the comment section if you have questions about the project.

The video demonstration of this tutorial by can be found on youtube.

TOP PCB Companies