• Arduino,  Hardware

    Spencer – The voice assistant from the makers of MakerBuino

    Another post about a product from CircuitMess, the creators of MakerBuino. They totally deserve it, these people know how to sell interesting products, both for us, people who enjoy tinkering with electronics and programming, and for the little ones at home.

    This time it is a voice assistant. Yes, like OK Google, Cortana, Siri… Just a bit geekier and a bit less (well, a lot less) useful, at least on its first version. But hey! It can tell you a repertory of bad jokes and sing a couple of songs too.

    It is based on a ESP32-WROOM-32, a dual core microcontroller with 448 KBytes of ROM and 520 KBytes of RAM, with a small FLASH IC of 16MBytes with serial interface. As connectivity interfaces, it has WiFi 802.11n and Bluetooth 4.2.

    The pack, at least on the first batch from the IndieGoGo campaign, contains two boxes: a tool box (very good for being a plus) and the main box, with Spencer components.

  • Logo avisador de timbre
    Arduino,  Hardware

    Homemade doorbell notifier


    Every house has a doorbell. Maybe old, maybe basic… But we don’t always notice when someone rings it. Maybe we are in the exactly opposite side of the house, maybe we are listening to music a bit too high, maybe we are doing some noisy repairs, or because this, our marvelous auditive system was on vacation, and it didn’t pick up the sounds of your doorbell when the Amazon delivery guy rang it.

    Adding push notifications to your phone could be the best solution here (and if you have a smartwatch too, even better, because it is even more difficult to not notice the notification). I have not searched a whole lot, but I am sure there are at least a couple of market models of smart doorbells out there, with their fancy melodies and useless apps for your phone, but why should I change my beloved unbranded totally generic classic doorbell? I don’t need an app specifically for the doorbell. I could use PushBullet, which I am already using for my washing machine and will use it for future projects too.

    Why not design a homemade solution then? Let’s go 🙂

    My basic doorbell receives an AC 230v line when the push button is pressed, not being powered while it is not in use, so the first thing we will need is to detect that 230v signal, as securely as we can, so a fault does not fry our small microcontroller. Talking about them, we will need one with WiFi connection, so why not the same ESP-01 we have used for the previous projects? It is cheap, small and easy to use.

  • Arduino,  Hardware

    Making my air conditioner smarter – Epilogue

    Making some maintenance in my house, I decided to fix the air conditioner in my living room, a Johnson MGE-30-BC, which has been non-working for a long time.

    I bought my house two years ago, and the air conditioner wasn’t working by then. I have always been delaying that repair project because I was expecting the worst possible outcome (maybe the gas escaped and I would have to find the leak, fix it and refill the circuit? maybe the compressor was broken, and I would have to replace it (and also empty and refill the circuit too), maybe more than one thing is faulty and I would have to replace the whole machine?… You know, that kind of repairs, which are not cheap), but… it turned out to be the easiest repair in a long time: the multi-wire cable that connects the inside and outside units has wires of the same color, and two of those wires were connected wrong.

    I don’t understand how that would happen… ¿the person who installed it didn’t try it? Maybe he/she thought it was faulty? Why didn’t he/she go to the store to retrieve his/her money? Was he/she just lazy? The only thing that I know is that I have a working aircon in the living room now 😂.

    Now that it is working, and being the owner of another aircon in my bedroom which I can control with my phone, I thought the living could not be less, and started once again decoding the remote IR codes, as I did some months ago with my bedroom unit.

  • Arduino,  Hardware

    Making my air conditioner smarter – Part 3

    << Continuation of Part 2

    Time to end this project and start thinking about the next one 😄.

    In the previous post, we ported our code to control the air conditioner to our small ESP-01. Now we need to install everything inside the air conditioner and make it work.

    First, we need the small board to power our ESP-01 and connect it to our IR LED. We do not need much: a small voltage regulator (in our case an LM317), a couple of resistors to configure it to 3.3v, a 2×4 female pin connector and a couple of resistors to put the ESP-01 into normal boot mode. The small schematic I came up with is below:

    Everything looks ok, let’s assemble it. The easiest and fastest is to use a perfboard, but in the future we try etching them with acid 😊

    What to do when you don’t have the exact resistor you need? You stack them in series 😊
  • Banner
    Arduino,  Hardware

    Making my air conditioner smarter – Part 2

    << Continuation of Part 1

    I come back from the shadows to continue my “smart air conditioner” 😄

    In the previous post, we got working a small test sketch that let us control our air conditioner with an arduino mega. Now it is time to port that sketch to an ESP-01 to make use of its WiFi connection and compact size, which is not much inside the air conditioner unit.

    As in my smart washing machine (that keeps working a year and a half later 😊), the idea here is to use MQTT for the communication between my small IoT server which has OpenHAB installed. For this MQTT communication, we will need the PubSubClient library.

    #include <ESP8266WiFi.h>
    #include <WiFiClient.h>
    #include <PubSubClient.h>
    void reconnect() {
      // Loop until we're reconnected
      while (!client.connected()) {
        // Attempt to connect
        if (client.connect(mqttClientId, mqttUser, mqttPassword)) {
          // Once connected, resubscribe
        } else {
          // Wait 5 seconds before retrying

    For managing the WiFi connections, I found a library that lets us configure a new WiFi connection, in case we change our WiFi password, without having to reprogram our board, which is great. It is called WiFiManager. In this case, we choose to open a protected WiFi connection in case of not being able to connect to the saved WiFi connection, and retry after 3 minutes (180 seconds).

  • Arduino,  Hardware

    Making my washing machine smarter – Part 5

    << Continuation of Part 4

    The time is now .It is time to connect the new guts to my washing machine, and check if everything works as expected. Well, almost… I just remembered that when I prepared my washing machine for the modifications (part 1), I didn’t prepare the start button, which will be pressed using our relay, and this way, will start the washing program.

    The modification should be simple. To solder a couple of wires to the start button. We will see how it turns out 🙂

    First, we will open the top lid of the washing machine and find the way to unmount and disconnect the control panel. In my case, it was secured with four screws and some plastic clips. After disconnecting the cable connectors, I had the whole panel in my hands.

    Factory fingerprints included in the price
  • Arduino

    Making my washing machine smarter – Part 4

    << Continuation of Part 3

    Time to start coding the software part of this project. If you remember, the requirement seems to be simple: To make the washing machine send a notificacion when the washing cycle ends (when the door unlocks).

    To send these notifications, we could choose one of many routes: e-mail, SMS, push notifications, using a custom app also designed by us… To save time, I decided to use pushbullet, a third party push notification service.

    Pushbullet allows us among other things, to send small text notifications to all the devices linked to the service. We could then, from the microcontroller, send a notification and receive it in my phone and my smart watch. I have a small IoT server in my home: an orange PI PC with OpenHAB, which I use to control my smart power outlets. What if I connect my washing machine to that server and make it send the notifications for me? That way, I could check the washing machine state and send a command to start the washing machine cycle, all remotely.

    Let’s start with the way of communications, which will have the ESP-01 miccrocontroller with my IoT server. In this case, I decided to use MQTT, for its simplicity: You define channels of communication (topics), the receiver will subscribe to those topics and the sender will publish messages to them. The PubSubClient library will help us use MQTT with ESP8266 microcontrollers.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Ver