For months I have been working on a project called "Electronics Online Platform" which allows us to work with electronic components such as Arduino and modules like LCDs, Sensors, Input Output and etc and programing them and see the result of the program remotely.

the idea is to make an electronics hardware with a microcontroller (in this case Arduino) and some useful modules such as LCDs, Sensors, Keypad, Rotary Encoder, temperature Humidity Sensor, EEPROM, RTC, UART and etc which could be access through a browser.

with this platform everybody could make their electronics project and learn how to work with electronics part and the see the result of their work. so everybody could work with electronics and make their own project and learn with our electronics components for free.

Why just dont using the simulation software? well we all worked with simulation software or simulation platform witch is great and useful but after all in reality testing result might be diffrent sometimes. so basicly the answer is. because its REAL and reliable.

the idea started with a question? Can we work with real electronics components but through a software or browser instead of virtual simulation? can we make learning Electronics a lot easier than it was for the begginers? Can we make the problems less and the results more?

And the answer for months was NO. Well you know there are many questions in it.

Like how are you going to make a physical connection online? How do people would see the results of their program? How to upload their program to Microcontroller? How to trigger the mechanical parts like keypads and rotary encoders? And the list of questions is many.

After months of finding a way to solve every problem, I decided that this project might be doable and got started.

now I have made the result of my work available to everyone in the world and I want to share with you how you can use this platform for free and start learning arduino with nothing.

َLets see a simple example of how its work

How To Use

For using this platform you should first make a reservation for the device.

1: make an account in ElectronicsCatalyst.com and verify your email (To avoid spam reservation)

2: goto page dawn.ElectronicsCatalyst.com in reservation section enter your email and choose a password and select your desire time.

3: login to the platform and use it

for more detail goto Electronics online platform documention

Start coding

for example we want to show the DHT11 and DS3231 data (temprature, humidity, time) on the SSD1306 OLED 0.95".

here is the example code wrote in arduino also you can download it form attachments

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include "DHT.h"
#include <DS3231.h>

RTClib myRTC;
DateTime now;

#define DHTPIN 2
#define DHTTYPE DHT11   // DHT 11
DHT dht(DHTPIN, DHTTYPE);

int humidity;
int temprature;

#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels

// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire);
String DateTime;

void setup() {
  Serial.begin(115200);
  dht.begin();

  // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
  if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3D)) { // Address 0x3D for 128x64
    Serial.println(F("SSD1306 allocation failed"));
    for (;;); // Don't proceed, loop forever
  }
  // Clear the buffer
  display.clearDisplay();
  delay(500);
}

void loop() {
  // put your main code here, to run repeatedly:
  humidity = dht.readHumidity();
  temprature = dht.readTemperature();
  if (isnan(humidity) || isnan(temprature)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }

  now = myRTC.now();
  DateTime=String(now.hour())+":"+String(now.minute())+":"+String(now.second());

  ShowOnLCD();
  PrintDataOnSerial();
  delay(1000);  
}
void PrintDataOnSerial(){
...
Read more »