ESP8266 Keeps Tabs On The Kid’s Tablets

Assuming you have a child and it’s no longer womb-bound, there’s a fairly high chance they’ve already had some experience with the glowing beauty that is the LCD display; babies of only a few months old are often given a tablet or smartphone to keep them occupied. But as the child gets to the age where they are capable of going outside or doing something more constructive, staring slack-jawed and wide-eyed at their tablet becomes a concern for many parents.

[Richard Garsthagen] is one such parent. He wanted a way to monitor and control how much time his children were using their iPad, so he came up with an automated system based on the ESP8266. Not only does it keep track of how long the tablet is being used, it even includes a reward system which allows the parent to add extra usage time for good behavior.

At the most basic level, the device is a sort of “holster” for the child’s tablet. When the tablet is placed in the slot, it presses a microswitch at the bottom of the cavity which stops the timer. When the switch is open, the LED display on the front of the device counts down, and the ESP8266 pushes notifications about remaining time to the child’s device via IFTTT.

Time can be added to the clock by way of RFID cards. The cards are given out as a reward for good behavior, completion of chores, etc. The child only needs to pass the card in front of the system to redeem its value. Once the card has been “spent”, the parent can reset it with their own special card.

It’s a very slick setup, making perfect use of the ESP8266. Reading the RFID cards, updating the timer, and using IFTTT’s API keeps the little board quite busy; [Richard] says it’s completely maxed out.

You might be wondering what happens when the clock reaches zero. Well, according to the video after the break…nothing. Once the time runs out, a notification simply pops up on the tablet telling them to put it away. Some might see this as a fault, but presumably it’s the part of the system where humans take over the parenting and give the ESP8266 a rest.

This isn’t the first time we’ve seen a microcontroller used to get the little hackers on schedule. At least (so far) none of them have gone full Black Mirror and started tracking when the kiddos are watching it.

Continue reading “ESP8266 Keeps Tabs On The Kid’s Tablets”

Move Aside Mercury: Measuring Temperature Accurately With An RTD

Temperature is one of the most frequently measured physical quantities, and features prominently in many of our projects, from weather stations to 3D printers. Most commonly we’ll see thermistors, thermocouples, infrared sensors, or a dedicated IC used to measure temperature. It’s even possible to use only an ordinary diode, leading to some interesting techniques.

Often we only need to know the temperature within a degree Celsius or two, and any of these tools are fine. Until fairly recently, when we needed to know the temperature precisely, reliably, and over a wide range we used mercury thermometers. The devices themselves were marvels of instrumentation, but mercury is a hazardous substance, and since 2011 NIST will no longer calibrate mercury thermometers.

A typical Pt100 RTD probe

Luckily, resistance temperature detectors (RTDs) are an excellent alternative. These usually consist of very thin wires of pure platinum, and are identified by their resistance at 0 °C. For example, a Pt100 RTD has a resistance of 100 Ω at 0 °C.

An accuracy of +/- 0.15 °C at 0 °C is typical, but accuracies down to +/- 0.03 °C are available. The functional temperature range is typically quite high, with -70 °C to 200 °C being common, with some specialized probes working well over 900 °C.

It’s not uncommon for the lead wires on these probes to be a meter or more in length, and this can be a significant source of error. To account for this, you will see that RTD probes are sold in two, three, and four wire configurations. Two-wire configurations do not account for lead wire resistance, three-wire probes account for lead resistance but assume all lead wires have the same resistance, and four-wire configurations are most effective at eliminating this error.

In this article we’ll be using a 3-wire probe as it’s a good balance between cost, space, and accuracy. I found this detailed treatment of the differences between probe types useful in making this decision.

Continue reading “Move Aside Mercury: Measuring Temperature Accurately With An RTD”

ESP8266 Home Computer Hides Unexpected Gems

With a BASIC interpreter and free run throughout their hardware, home computers like the ZX Spectrum and Commodore 64 used to be a pervasive way to light that hacker fire. With the advent of cheap single board computers like the Raspberry Pi, devices purpose built to emulate these classic systems have become fairly commonplace. [uli] built a device in this vein called the BASIC Engine which is driven by a microcontroller and a handful of hardware peripherals. Like other examples it can be attached to a keyboard, programmed in a BASIC, play video and sound, etc. But digging into the BASIC Engine reveals that it’s similarity to other devices is only skin deep.

The current version of the BASIC Engine (“rev2”) lives in a Raspberry Pi 3 case for convenience. It has RCA connectors for NTSC or PAL video output and mono audio, plus a bank of headers to tap into GPIOs, connectors for a keyboard, and more. [uli] wanted to aim for extreme low cost so a relatively beefy board like a Raspberry Pi didn’t fit the bill, and we expect it was an enjoyable challenge. Instead its interpreter runs atop an ESP8266 but with the networking stack removed. [uli] was disheartened by how bloated even a “Hello world” program was and ripped it out, discovering that hidden beneath was a very powerful and disproportionately inexpensive general purpose microcontroller. The video is driven by a VS23S010, sold as a 1 Mbit parallel SRAM with a neat trick; it also includes a composite video controller!

The real treat here is [uli]’s history writeup of how the BASIC Engine came to be. We’d recommend brewing a cup of coffee and sitting down for a full read-through. The first version was inspired by the PlayPower project, which was repurposing clones of Nintendo’s Famicom (NES to Americans) game console to make low cost home computers, complete with keyboard and gamepad input. [uli] started out by building a custom cartridge for a particular Famicom clone that ran a BASIC interpreter but after showing it to disinterested adults the project was left fallow. Years later, [uli] was encouraged to pick up the project again, leading down a twisted rabbit hole to where we are today.

If you want to build a BASIC Engine for yourself, Gerbers and build instructions are available on the pages linked above.

Thanks for the tip [antibyte]!

ESP8266 Uses LiFi To Get On WiFi

Connecting your shiny new ESP8266 to WiFi can be as simple or as complicated as you please. Most people decide to manually add it. Some people find clever ways to make the bloody thing connect itself. [Eduardo Zola] transfers his WiFi password using the flashing light of a smartphone screen.

A simple photo-resistor and a bit of tinkering allows him to easily send credentials — or any data really — to his ESP8266, through the power of LiFi. Short for Light Fidelity, LiFi transmits data using light with on and off states representing digital values. It can use visible light, or reach into either the ultraviolet or infra-red radiation if need be. For the nitty-gritty details on the subject, check out our primer on LiFi.

 A flashing LCD screen and a photo-resistor barely make the cut for a one-way LiFi system, but [Eduardo Zola] makes it work. The approach is to build a resitor divider and watch an input pin on the ESP for changes.

The trick is to keep ambient light out of the mix. The test sensor shown here places the LDR in a black cap, but [Eduardo] 3D-Printed a slick little enclosure for his reverse flashlight so it fits flush with the phone screen. One click and about half a minute of a flashing screen later, and the Wi-Fi credentials are transferred. This circuit could really be added onto any project, for short data transfers. With a bit more work on the sensor circuit, speed could be improved with the limiting factor being the timing on the phone screen itself.

Since the ESP8266 has its own WiFi connection, it’s likely you’ll use that for data transfer once the LiFi gets it onto the network. But any situation where you don’t have a full user input or a network connection could benefit from this. Pull out that old scrolling LED matrix project and add this as a way to push new messages to the device!
Continue reading “ESP8266 Uses LiFi To Get On WiFi”

FPGA Persistently Rick Rolls You

When [Im-pro] wants a display, he wants it to spin.  So he built a persistence of vision (POV) display capable of showing a 12-bit color image of 131 x 131 pixels at 16 frames per second. You can see a video about the project below, but don’t worry, you can view it on your normal monitor.

The project starts with a Java-based screen capture on a PC. Data goes to the display wirelessly to an ESP8266. However, the actual display drive is done by an FPGA that drives the motor, reads a hall effect index sensor, and lights the LEDs.

Continue reading “FPGA Persistently Rick Rolls You”

A Tinfoil-Free Internet Of Ceiling Fans

Putting everything on the Internet is getting easier and easier, what with the profusion of Internet-ready appliances as well as cheap and plentiful IoT modules to integrate legacy devices. Think IoT light bulbs, refrigerators and dishwashers that can be controlled from a smartphone, and the ubiquitous Sonoff modules. But once these things are on the net, what are they talking about? Are they saying things behind your back? Are they shipping data about your fridge contents off to some foreign land, to be monetized against your will?

Maybe, maybe not, but short of a tinfoil helmet the only way to protect yourself is to build your own system. This IoT control for ceiling fans is a good example, with the added benefit that most wireless ceiling fan remotes are kind of lousy. [microentropie] didn’t like the idea of going the Sonoff route, so his custom controller is based on that IoT workhorse, the ESP8266. There are two versions, one switching the light and fan loads with relays, and one with triacs. The ESP serves up its own web page for control rather than using a cloud service, and is capable of setting up the fan to turn on and off automatically at preset times or temperatures. Everything sits in an unobtrusive box on the ceiling near the fan, but we bet this could be miniaturized enough to fit right inside the fan housing.

If some of [microentropie]’s code looks familiar, it might be because he borrowed it from his IoT rice cooker project.

Ambient Lighting For Baby With The ESP8266

There are plenty of great reasons to have a child. Perhaps you find the idea of being harshly criticized by a tiny person very appealing, or maybe you enjoy somebody screaming nonsense at you while you’re trying to work on something. But for us, we think the best reason for procreation is getting another excuse to build stuff. It’ll be what, at least two years before a baby can solder or program a microcontroller? Somebody’s going to have to do it for them until then.

To try to help his baby daughter get on a better sleep schedule, [Amir Avni] decided to outfit her room with some “smart” lighting to establish when it’s time for her to wake up. Not only can he and his wife control the time the lights come on to “day” mode, but they can also change the colors. For example, they can switch over to a red glow at night. Despite some learning experience setbacks, the both the parents and the baby are very happy with the final product.

An ESP8266 controls a WS2812 LED strip to provide the adjustable lighting, and a DHT22 sensor was added to the mix to detect the temperature and humidity in the baby’s room. [Amir] used Blynk to quickly throw together a slick mobile application that allows for complete control of the brightness and color of light in the room, as well as provides a readout of the environmental data pulled from the DHT22.

But not everything went according to plan. [Amir] thought he could power the LED strip from the ESP8266 development board by soldering to the 5 V side of its AMS1117 voltage regulator. Which worked fine, until he turned on too many LEDs. Then it pulled too much current through a resistor connected to the regulator, and let all the magic smoke out. An important reminder of what can happen when we ask more of a circuit than what it was designed for.

We’ve covered many awesome projects that were born of a parental need, from feature packed baby monitors to devices seemingly designed to program nostalgia in the little one’s subconscious.