[ultra newb] Making stock Uno's Wi-Fi Capable

[tl;dr wall of text: I have two Uno R3 (non wifi) that need to communicate over wifi. How should I do this—Wifi Shield, which I can't seem to find in the arduino.cc web store, aftermarket wifi card / sort-of-microcontroller e.g. ESP8266, or just buy new wifi-compatible arduino boards, i.e. MKR1000? All options on the table. Please read through for more details! :)]

Hi guys,

Recently I got into Arduino for the first time. I had 0 prior experience in C/C++/related languages, and 0 prior experience in microcontrollers and electrical engineering. I started off thinking that I would get right into doing IoT stuff with Arduino and wing everything else—oh, how wrong I was about that! In my naivety I bought Arduino Uno R3's without knowing that they lacked Wi-Fi capability. So now I'm here trying to make two Uno's talk to each other over Wi-Fi, without any Wi-Fi capability.

I know that people around here don't want to help a newbie who won't get his hands dirty. So that's exactly what I've tried to do, and I've gone through the Projects Book that came with the Uno starter kit, and have also done research on solutions to my IoT problem.

I was wondering what I could do to resolve my issue: Getting 2 non-Wi-Fi-enabled Arduinos to talk to each other. I just want them to be able to communicate over a Wi-Fi, not Ethernet, network. So my first instinct is to give both boards Wi-Fi capability by using a Shield. The Arduino Wi-Fi Shield for the Uno seems to fit the bill perfectly, except it doesn't seem to be in the US store, even though it's listed as a product on the website here: (Arduino - Products). Since I can't see it in the store, I don't have a price for it either. Is it worth getting this? And on both boards, too, since I need them to interact?

I've looked into it a little and it seems that there are other options on the market that may be simpler, like just buying a Wi-Fi card such as the ESP8266, and adapting that for use with the Arduino. I see many examples of people being pretty successful with doing this, so I was wondering if this was a feasible option too. In fact, I heard that these boards have their own microprocessors and SDK's to boot, so I was thinking of just replacing one of the Arduinos with just an ESP8266 board. Would this be okay, or would it ruin what I'm trying to do?

At this point I'm even down to considering just getting another Arduino, like maybe a Yun, Yun Mini, or an MKR board. I see all of those boards are in 3.3V (and a good number of IoT components, too), so to keep using the Uno I'm also going to have to use a logic level converter, and that sounds like it could get complicated really quickly (not too familiar with that, admittedly). The Yun's are hella expensive (is this because of their Linux chip / capabilities), and I'm not sure my project needs an extraordinary amount of processing power, so should I settle for an MKR instead, if I were to get a new board? The MKR1000 bundle looks very tasty indeed. :slight_smile:

So, if you've actually read this far, thank you for sticking with a total newbie like myself who had (has?) no idea what he's doing but is nonetheless determined to make his project work. I'd love to hear what you guys think is the best option for making my Uno's talk to each other through the internet: Get a shield (and which one)? Get an aftermarket Wi-Fi card? Just ditch them altogether and buy a new mkr board?

Alternatively, if you guys have smarter ways of using signals from one place to do something in another place without using two Arduino boards, I'd love to hear it! I'm trying to work on a smart fingerprint lock that, when used, makes another board elsewhere do something. If there's a crippling design flaw with my project, please let me know so I don't waste weeks trying to work this out. Again, I'm literally fresh to the whole arduino/electrical engineering/programming scene, so thanks for bearing with me for so long—I appreciate it.

~Messy

We would need to know more about your whole project to advise properly. Links to components like this fingerprint reader, and more detail on what this mysterious other Arduino will be doing and what will be connected to it.

Personally, I would ditch the two Uno (by which I mean save them for a non WiFi project) in favour of a couple of esp8266 based Dev boards like NodeMCU or Wemos Mini.

However, if all you want is wireless communications between two Arduinos, have you considered something other than WiFi? For example nrf24. These modules, unlike most WiFi modules, don't have their own built in MCU, so you would need your Unos to use them.

Hi Paul,

Thank you so much for your reply—it was extremely helpful.

I guess I wasn't clear enough about my project. I'm not sure how feasible this is exactly, and whether or not it is inefficient, so if anyone has any comments on this exactly that would be appreciated!

My initial design was to have a fingerprint lock on the door connected to an microcontroller. I have not decided on a specific fingerprint reader yet, but strong candidates are Adafruit's fingerprint sensor (Fingerprint sensor : ID 751 : $49.95 : Adafruit Industries, Unique & fun DIY electronics and kits) and Sparkfun's TTL (Fingerprint Scanner - TTL (GT-521F32) - SEN-14518 - SparkFun Electronics). When the fingerprint sensor is used, I want this to trigger a projector elsewhere to display something. Since I haven't considered the projector component at this time, for all intents and purposes, let's say that we're just making an LCD screen display something. So that is really the gist of my project—I'd love to hear what you guys think, whether or not this is feasible, and what I can do with my current situation.

Paul, again, thanks for your reply, and I'll the NodeMCU looks very good. I might also look into the nRF24, because that seems suited to my dilemma.

~Messy.

The advantage of the nrf24 would be its low power requirements and relatively good range, at least in the open. Indoors, less so. You can use nrf24 for simple point-to-point comms for low data rates, even build small networks.

WiFi might be a better choice indoors because each node can join the building's wifi & cabled network, and if required the internet, so two devices can talk to each other even if there are intervening walls, floors, or continents for that matter.

With the fingerprint readers you linked to, battery operation may not be the best idea, they would soon drain them, so a 5V psu such as a phone charger would be more practical. The Wemos Mini and NodeMCU already have a socket to plug a charger into and could provide power to the reader, and connect to its serial line, interpret the results and activate a remote web server to perform some action.

Hi Paul,

Thanks again for your reply. So I think you are right about going after Wi-Fi rather than radio nRF24's, because it means that I could extend my fingerprint lock project to the entire home in terms of smart home technology, and all the mcu's could talk to each other. So I think NodeMCU or Wemos or similar products would be the way to go from here.

As for battery, I was thinking for the Arduino behind the door to be powered by a battery pack, which would be charged inductively using something like this (Inductive Charging Set - 5V @ 500mA max : ID 1407 : $9.95 : Adafruit Industries, Unique & fun DIY electronics and kits) so that I wouldn't have to keep replacing the battery pack. Is this a good idea? Thanks!

~Messy

the Arduino behind the door to be powered by a battery pack, which would be charged inductively using something like this (Inductive Charging Set - 5V @ 500mA max : ID 1407 : $9.95 : Adafruit Industries, Unique & fun DIY electronics and kits) so that I wouldn't have to keep replacing the battery pack

Sounds a bit crazy to be honest. Drill a tiny hole in the door frame and wire it permanently to a 5V power supply. The fingerprint reader and Wemos or NodeMCU will draw too much current for battery operation. Are you replacing a conventional door bell? Just use it's wires to power the circuit.

For fixed installations indeed use wired power supplies. Just connect it to a 5V supply such as a USB adapter or spare mobile phone charger.

NodeMCU and WeMOS are both great boards - very capable microcontrollers in their own right, with built in WiFi function (can be both host and client). Perfect for many IoT projects.

Main limitation vs Arduinos is the limited number of IO ports (only one analog in and 11 digital I/O), but that's where port extenders come in play.

I originally wanted to have the fingerprint scanner ON the door, but your suggestions are all a lot more sensible. However, I wanted the lock mechanism to be mechanical, as I don't have a way of digitally turning the lock. I sort of assumed that having the fingerprint lock, and the Arduino, and the lock mechanism all on the door was the easiest course of action? Please let me know if my ideas are completely whack and out of line.

Does anyone make door & frame where the latch/lock mech is in the door frame?

Seems to me that for security use it might make more sense.

GoForSmoke:
Does anyone make door & frame where the latch/lock mech is in the door frame?

I think everybody who is seriously in the business would do exactly that, but more simply than you imply, and "digitally turning the lock" would indeed be completely whack and out of line. They use standard doors and locks in the normal manner, and the locking operation is over-ridden by the computer-controlled striker plate, which is a straightforward solenoid device.

I dunno Nick. What I'd do is put the knob and latch in the frame and have a very solid door that the latches hold from behind.

But reading your post I see an answer to the OP. Suppose that when the door latches that contacts also bridge the gap to provide power to the in-door lock? The print lock can be in the wall or door then, depending on how it's all rolled.

GoForSmoke:
I dunno Nick. What I'd do is put the knob and latch in the frame and have a very solid door that the latches hold from behind.

I can't see the point of that, it would be just moving an imaginary problem rather than solving anything, and incurring new problems along the way - like a large non-standard frame, in a non-standard opening, likely hassles with fire regulations, and all for no benefit. It sounds like a reputation-killer to me!

Suppose that when the door latches that contacts also bridge the gap to provide power to the in-door lock?

Another opportunity for failure....... Why put power into a door at all when everybody else manages to avoid it altogether?
I'm just an architect, but I wouldn't go along with any of this. It is just re-inventing the wheel - and coming up with a square one.
I'm sure Messy can come up with an Arduino door-control system, but the hardware is well-established, and he should take advantage of that. One very good reason for doing so is that it offers painless retrofitting. When I installed a comprehensive system for our national broadcaster, I don't even think we had to remove the frames. The new strikers were installed in-situ, and all the doors, along with their locks, remained virgo intacto.

Nick_Pyner:
I can't see the point of that,

Obviously. But you did point out how.

When did

When the fingerprint sensor is used, I want this to trigger a projector elsewhere to display something.

become

having the fingerprint lock

?

Paul:

That was in my first comment, when I said I wanted a "fingerprint lock" for my door, although it might have been easy to miss. I thought I made that clear in my following comments, but maybe I wasn't clear enough about that. I'm confident that I'm able to make a mechanical door lock system that can control the lock on a door when the fingerprint sensor is used, but now I'm trying to decide if that's the best / easiest way to do it.

I originally wanted this for the front door of my home, such that the fingerprint sensor would unlock the door and trigger a projector somewhere else.

Nick:
So the solenoid lock that you mentioned sounds like an electromagnetically controlled switch, if I'm reading everything correctly. It sounds like it would work well to control a door using an Arduino—the primary consideration here would be the feasibility of a retrofit, and whether or not my situation will require replacing my door frame.

GoForSmoke:
Having a lock in the frame would be great in the sense that I wouldn't need any electronics on the door itself to turn the lock, although I'm afraid I'm not in a position to retrofit a door frame :stuck_out_tongue:

Once again, thank you all for your input. Much appreciated :smiley:

MessyMix:
GoForSmoke:
Having a lock in the frame would be great in the sense that I wouldn't need any electronics on the door itself to turn the lock, although I'm afraid I'm not in a position to retrofit a door frame :stuck_out_tongue:

I guess that includes bolting a box to the inside with a big button on it that says "UNLOCK" and works mechanically (no power required to open, just to lock)?

What I wonder is how you get inside when power is out?

Hey, at least it's not an electronic parachute ripcord!