the OPEN-SMART Rich UNO R3 development board

The OPEN-SMART Rich UNO R3 is an ATMEGA328P development board with many components on board and also has the ability to connect an existing Arduino shield to it, it is significantly larger than an Arduino Uno – more than twice the size. This means its aimed at learning rather than using in projects due to its size.

Lets see some images of the board

The components on the board include a 4 digit display, a DS1307 clock, LM75 temperature sensor, infrared receiver, serial MP3 player, rotation angle sensor, 4-channel touch sensor. Hardware resources as you can see are abundant and an added bonus is that you do not need any connecting wires, and the usage is very simple.

If you buy the full kit it also contains a TF card, a speaker, a CR1220 battery for the RTC functionality, and an infrared remote control.

4 digit display There is a 4 digit 7 segment display (0.36 inches) which can display the clock point, it uses the D10/D11 pins
DS1307 clock this uses a DS1307 high-precision real-time clock module with a default I2C address of 0x68.
LM75 temperature sensor I2C interface temperature sensor with a default I2C address of 0x48.
Infrared receiver this uses D2 pin
Serial MP3 There is an MP3 music player module which is based on high-quality MP3 music chip, it uses D7 / D8 pins to be software serial port.
Potentiometer 10K ohm adjustable potentiometer whichuses A0 pin.
4 Channel touch sensor capacitive touch switches, these use pins (D3 / D4 / D5 / D6)


Onboard DIP switch which allows you to select between the onboard components mentioned earlier or an external shield
Onboard Arduino Shield interface which allows you to plug your existing Arduino shields

Code example

The following example will get the temperature from the LM75 on the 4 segment display example – it uses the RichUNO library, we have many more examples in our github link later on in the article. You do not need to use this library but it does make development a lot easier


[codesyntax lang=”cpp”]

#include <Wire.h>
#include <SoftwareSerial.h>

#include "RichUNOTM1637.h"
#include "RichUNOLM75.h"

LM75 temper; // initialize an LM75 object "temper" for temperature

#define CLK 10//CLK of the TM1637 IC connect to D10 of Arduino
#define DIO 11//DIO of the TM1637 IC connect to D11 of Arduino
TM1637 disp(CLK,DIO);

void setup()
Wire.begin();//you should run this function first, so that I2C device can use the I2C bus
disp.init();//The initialization of the display

void loop()
float celsius;
celsius = temper.getTemperatue();//get temperature
delay(1000);//delay 1000ms
/************************************************* *********************/
/* Function: Display temperature on 4-digit digital tube */
/* Parameter: -int8_t temperature, temperature range is -40 ~ 125 degrees celsius */
/* Return Value: void */

void displayTemperature(int8_t temperature)
int8_t temp[4];
if(temperature < 0)
temperature = abs(temperature);
else if(temperature < 100)temp[0] = INDEX_BLANK;
else temp[0] = temperature/100;
temperature %= 100;
temp[1] = temperature / 10;
temp[2] = temperature % 10;
temp[3] = 12; //index of 'C' for celsius degree symbol.


As stated earlier we have many examples in the github link below


There are a couple of options if you want to buy this board

Just the board on its own

Rich Multifunction UNO R3 Atmega328P Development Board for Arduino UNO R3 with MP3 /DS1307 RTC /Temperature /Touch Sensor module – $14

A kit with several additional modules, an IR remote, connecting wire and a sensor shield

Rich UNO R3 Atmega328P Development Board Sensor Module Kit for Arduino with IO Shield MP3 /DS1307 RTC /Temperature /Touch Sensor – $28


If you do not want to but an arduino and a variety of components and shields then this development board has many options on it. The kit above has more than enough for anyone trying to learn Arduino development