MagicMirror² v2.13.0 is available! For more information about this release, check out this topic.

Is it possible to ad an Arduino?

  • Hi, for school we need to build a project using an Arduino.
    For me the Arduino itself is boring thats why i decided to build a MagicMirror using Raspberry Pi and i wanted to integrate functions from Alex, different Sensor-stats like Temperature and the PIR
    But everything i tried didn’t worked and now im Wondering if it’s even possible to connect both.

    Sensors i have and want to use :
    DHT11, for Temperature in Room,
    HC-SR501, for Timeouts when not standing infont of it
    ESP8266 ESP-12E, to Connect to the Alexa

    Im Using a Raspberry Pi3
    and an Arduino Uno R3 with the ELEGOO Ultimate Starter kit and a few other modules.

    i would really appreciate if someone helps me and if you have good ideas to what i should add to get a good grad xD i would really appreciate it aswell.

    This is my Current Config :

    /* Magic Mirror Config Sample
     * By Michael Teeuw
     * MIT Licensed.
     * For more information on how you can configure this file
     * See
    var config = {
    	address: "localhost", 	// Address to listen on, can be:
    							// - "localhost", "", "::1" to listen on loopback interface
    							// - another specific IPv4/6 to listen on a specific interface
    							// - "", "::" to listen on any interface
    							// Default, when address config is left out or empty, is "localhost"
    	port: 8080,
    	basePath: "/", 	// The URL path where MagicMirror is hosted. If you are using a Reverse proxy
    					// you must set the sub path here. basePath must end with a /
    	ipWhitelist: ["", "::ffff:", "::1"], 	// Set [] to allow all IP addresses
    															// or add a specific IPv4 of :
    															// ["", "::ffff:", "::1", "::ffff:"],
    															// or IPv4 range of --> use CIDR format :
    															// ["", "::ffff:", "::1", "::ffff:"],
    	useHttps: false, 		// Support HTTPS or not, default "false" will use HTTP
    	httpsPrivateKey: "", 	// HTTPS private key path, only require when useHttps is true
    	httpsCertificate: "", 	// HTTPS Certificate path, only require when useHttps is true
    	language: "de",
    	logLevel: ["INFO", "LOG", "WARN", "ERROR"],
    	timeFormat: 24,
    	units: "metric",
    	// serverOnly:  true/false/"local" ,
    	// local for armv6l processors, default
    	//   starts serveronly and then starts chrome browser
    	// false, default for all NON-armv6l devices
    	// true, force serveronly mode, because you want to.. no UI on this device
    	modules: [
    		module: 'MMM-TelegramBot',
    		config: {
    			telegramAPIKey: 'api token changed so you can't use it xD',
    			allowedUser: ['same for here'],
    			adminChatId: 'xxx'
    			module: "MMM-Online-State",
    			position: "top_left",
    			module: "updatenotification",
    			position: "bottom_bar"
    			module: "clock",
    			position: "top_right"
                module: 'MMM-RBB-Weather',
                position: "top_left", 
                config: {
                             id: "18228265",
                             days: "0",
                             updateInterval: "600",
    			module: "calendar",
    			header: "Events",
    			position: "top_left",
    			config: {
    				calendars: [
    						symbol: "calendar-check-o ",
    						url: "my ical adress changed it aswell",
    						maximumEntries: "5",
    						maximumNumberOfDays: "7"
      module: "MMM-NowPlayingOnSpotify",
      position: "bottom_left",
      config: {
        showCoverArt: false,
        clientID: "nothing to see here",
        clientSecret: "pls help me get a good grade",
        accessToken: "xD",
        refreshToken: "xxx"
    /*************** DO NOT EDIT THE LINE BELOW ***************/
    if (typeof module !== "undefined") {module.exports = config;}

    And oh before i forget i would like to add some w2812b RGB Strips

  • @Shinji0912 there are a bunch of arduino modules on github

    google search

    mmm-arduino github

    some are general (arduport)
    some are more specific MMM-temphumidity

  • Module Developer

    @Shinji0912 Hi, I wrote a module which converts messages received at serial interfaces to notifications ( I have two Arduinos connected to my Pi with gesture and distance sensors.

    My temperature module ( can receive notifications to update the values.
    Edit: The notification feature is only available in the development branch at the moment. I will mere it to the master the next days.
    There are examples integrated which show how to connect an esp32 board with WiFi to get temperature and humidity.
    Currently I am working on a module which should use MQTT to control an WS2801 LED Strip. But this one is in a very early state and will take a while to develop.

  • @wishmaster270 Wow thank you very much , im completly new to this and first of all this helps me out very much and im going to try to make my own module showing an API from our school , is it okay if i ask you questions when i need help?
    and btw. rrealllyy appreciate your help 🙂

  • @sdetweil I tried the “Arduports” one but for some reason it didn’t worked for the sensors im using ^^

  • @Shinji0912 u have to have code running in the Arduino sending the data, doesn’t just happen

  • @sdetweil I know I’ve set it up but it didn’t worked.

  • @Shinji0912 seems pretty simple, connect serial port for arduino to serial port for PI…

    arduino send 10
    pi read 10

    u can test that without MagicMirror

  • This post is deleted!

  • @sdetweil Thats my Current Arduino code :

    volatile int32_t m_counter = 0;
    bool WasStarted = false;
    static const char *pcDHT11Prefix = "[sensor:DHT11:";
    static const char *pcPostfix = "]";
    void setup() {
      int test = 1;
      m_counter = test;
      if(test > 1) {
        WasStarted = false;
      WasStarted = true;
    void loop() {
      Serial.print(m_counter + 11);
      if(m_counter % 3 == 0) {
        Serial.print(m_counter + 11);
      if(m_counter >= 60) m_counter = 0;

    and i got the ArduPorts running on the MM itself

    now it is running but always searching for the module … see Picture.
    alt text

Log in to reply