NTP Morse Code Clock Powered by ESP8266

We’ve featured a great many unique clocks here on Hackaday, which have utilized nearly every imaginable way of conveying the current time. But of all these marvelous timepieces, the Morse code clock has the distinct honor of simultaneously being the easiest to construct and (arguably) the most difficult to read. As such, it’s little surprise we don’t see them very often. Which makes this latest entry into the field all the more interesting.

[WhisleyTangoHotel] has taken the basic concept of the Morse clock, which at its most simplistic could be done with a microcontroller and single LED, and expanded it into a (relatively) practical device. With both audio and visual signaling, and support for pulling the time from NTP, this is easily the most polished Morse code clock we’ve ever seen. Using it still requires you to have a decent grasp on Samuel Morse’s now nearly 200 year old encoding scheme of course, but on the bright side, this clock is sure to help keep your CW skills sharp.

For those following along at home, [WhisleyTangoHotel] provides a hand-drawn diagram to show how everything connects together in his Morse timepiece, but there’s nothing on the hardware side that’s likely to surprise the Hackaday reader. A single momentary push button represents the device’s sole user input, with the output being handled by a LED “tower” and speaker on their own respective pins on the microcontroller. Here a Adafruit Feather HUZZAH is used, but any ESP8266 would work in its place.

Of course, the advantage of using an ESP8266 board over your garden variety MCU is the Wi-Fi connectivity. This allows the clock to connect to an NTP server and get the current time before relaying it to the user. Some might think this overkill, but it’s really a critical feature; the lack of a proper RTC on the ESP means the clock would drift badly if not regularly synchronized. Assuming you’ve got a reliable Internet connection, this saves you the added cost and complexity of adding an external RTC.

[WhisleyTangoHotel] wraps up his blog post by providing his ESP8266 Arduino source code, which offers an interesting example in working not only with NTP and time zones on the ESP, but how to handle parsing strings and representing their principle characters in Morse code.

Interestingly enough, in the past we’ve seen a single LED clock that didn’t use Morse code to blink out the time, which might be a viable option as an alternate firmware for this device if you’re not in the Samuel Morse fan club.

Continue reading “NTP Morse Code Clock Powered by ESP8266”

ESP8266 Wi-Fi Instant Camera is a Simple Shooter

If a camera that combines the immediate gratification of a Polaroid with cloud hosting sounds like something that tickles your fancy, look no farther than this ESP-powered point and shoot camera created by [Martin Fasani]. There’s no screen or complicated configuration on this camera; just press the button and the raw picture pops up on the online gallery. Somehow it’s simultaneously one of the most simplistic and complex implementations of the classic “instant camera” concept, and we love it.

The electronics in the camera itself, which [Martin] calls the FS2, is quite simple. At the core, it’s nothing more than the ESP board, an ArduCAM camera module, and a momentary button for the shutter. To make it portable he added a 2000 mAh Li-ion battery and an Adafruit Micro Micro USB charger. [Martin] added support for an optional 128×64 OLED display for user feedback. Everything is housed in a relatively spacious 3D printed enclosure, leaving some room for possible future hardware.

There are firmware versions for both the ESP8266 and ESP32, so fans of either generation of the popular microcontroller are invited to the party. Processing images is obviously a bit faster if you go with the more powerful 32-bit chip, but on the flip side the ESP8266 uses 3MB of SPI flash as a local buffer for the images during upload, which helps prevent lost images if there’s a problem pushing them to the cloud. The camera is intended to be as simple as possible so right now the only option other than taking still images is a time-lapse mode. [Martin] hopes to implement some additional filters and effects in the future. He’s also hoping others might lend a hand with his firmware. He’s specifically looking for assistance getting autofocus working and implementing more robust error correction for image uploads.

We’ve seen some impressive DIY camera builds using everything from a salvaged thermal sensor to film and molten aluminum. But the quaint simplicity of what [Martin] has put together here really puts his project in a whole new category.

Continue reading “ESP8266 Wi-Fi Instant Camera is a Simple Shooter”

Low-energy ESP8266-based Board Sleeps Like a Log Until Triggered

Given the popularity of hacking and repurposing Amazon Dash buttons, there appears to be a real need amongst tinkerers for a simple “do something interesting on the internet when a button is pressed” device. If you have this need but don’t feel like fighting to bend a Dash device to your will, take a look at [Kevin Darrah]’s trigBoard instead.

The trigBoard is a battery-powered, ESP8266-based board that includes some clever circuitry to help it barely sip power (less than one microamp!) while waiting to be triggered by a digital input. This input could be a magnetic reed switch, push button, or similar, and you can configure the board for either normally open or normally closed switches.

The clever hardware bits that allow for such low power consumption are explained in [Kevin]’s YouTube video, which we’ve also embedded after the break. To summarize: the EPS8266 spends most of it’s time completely unpowered. A Texas Instruments TPL5111 power timer chip burns 35 nanoamps and wakes the ESP8266 up every hour to check on the battery. This chip also has a manual wake pin, and it’s this pin – along with more power-saving circuitry – that’s used to trigger actions based on the external input.

Apparently the microcontroller can somehow distinguish between being woken up for a battery check versus a button press, so you needn’t worry about accidentally sending yourself an alert every hour. The default firmware is set up to use Pushbullet to send notifications, but of course you could do anything an EPS8266 is capable of. The code is available on the project’s wiki page.

The board also includes a standard micro-JST connector for a LiPo battery, and can charge said battery through a micro-USB port. The trigBoard’s full schematic is on the wiki, and pre-built devices are available on Tindie.

[Kevin]’s hardware walkthrough video is embedded after the break.

Continue reading “Low-energy ESP8266-based Board Sleeps Like a Log Until Triggered”

ESP8266 Monitor Keeps an Eye on OctoPrint

At this point, you’ve almost certainly heard of OctoPrint. The web-based control interface for 3D printers is especially popular for those who’s primary computers run on an operating system that has a penchant for occasionally imploding. Even if you aren’t laboring under that common software handicap, OctoPrint offers a wide away of compelling features. Perhaps chief among them the ability to monitor your printer over the network, and if you insist, over the Internet. But while OctoPrint provides the server side for getting your printer on the net, you’re on your own for the client.

Rather than using a web browser like some kind of peon, [David Payne] has come up with a very slick desktop OctoPrint monitor using the WeMos D1 Mini ESP8266 board. With an exceptionally low part count and housed in a (what else) 3D printed enclosure, this is a cheap and easy OctoPrint accessory that we suspect will be decorating many a hacker’s desk before too long.

The electronics are simple to the extreme, just hook the 4 wires of an 128×64 OLED I2C display to the appropriate pins of the ESP8266 board, and you’re ready to upload the Arduino code [David] has come up with.

His code is very polished, from using WiFiManager for initial network setup to providing its own web-based configuration menus to get the device linked up to your OctoPrint instance, [David] clearly wanted this to be as smooth an experience as possible for the end user. When the 3D printer isn’t working on a job, the monitor will even switch over to showing you the time and weather. We’ve seen commercial products that weren’t this user-friendly.

We also love the case design on this little gadget. While the aesthetics are perhaps debatable (sort of reminds us of the little fellows from Darwinia), we appreciate any functional print that doesn’t require supports. You’ll need to provide a couple of little screws to keep the back panel on, but other than that everything snaps into place.

Of course, you could always just use your smartphone to keep an eye on OctoPrint, and even if the remote management capabilities don’t grab your interest, there’s plenty of interesting plugins to keep you occupied.

Continue reading “ESP8266 Monitor Keeps an Eye on OctoPrint”

A Multifunction ESP8266 Smartwatch

Most of the DIY smartwatch projects we feature here on Hackaday aren’t exactly what most people would consider practical daily-use devices. Clunky designs, short battery life, limited functions: they’re more a wearable display of geek cred than they are functional timepieces. Oddly enough, the same could be said of many of the “real” smartwatches on the market, so perhaps the DIY versions are closer to the state-of-the-art than we thought.

But this ESP8266 smartwatch created by [Shyam Ravi] is getting dangerously close to something you could unironically leave the house with. It’s still missing an enclosure that prevents you from receiving PCB acupuncture while wearing it, but beyond than that it has a more than respectable repertoire of functions. It even seems to be a fairly reasonable size (with the potential to be even smaller). All that with a total build cost of less than $20 USD, and we’re thinking this might be a project to keep an eye on.

Not content with a watch that simply tells the time, [Shyam] added in a weather function that pulls the current conditions for his corner of the globe from the Yahoo weather API and displays it above the time and date on the watch’s multi-color OLED display when the center button is pressed. Frankly, given the state of DIY watches, that would already have been impressive enough; but he didn’t stop there.

The left and right buttons control Internet-connected relays which [Shyam] uses to turn his lights and air conditioner on and off. When he presses the corresponding button, the watch will even display the status of the devices wherever his travels might take him.

A smattering of DIY watches pass by our careful gaze, though it’s been a while since we’ve seen an ESP8266 watch. More recently we’ve seen an Arduino watch, and some downright gorgeous analog creations.

Continue reading “A Multifunction ESP8266 Smartwatch”

ESP8266 Clock Puts Time in a Jar

Ironically, with the wide availability of modular electronic components today, the hardest part of constructing your latest gadget might just end up being able to find a decent looking enclosure for it. Project boxes will only get you so far, and let’s be honest, they aren’t exactly the most attractive things in the world. But if you’re willing to think outside the box (get it?) there are some unconventional options out there that might fit the bill.

Take for example this ESP8266 clock by [ZaNgAbY] that’s housed in a glass pasta jar. With the addition of some window tint film for the LED display to shine through, the final result could nearly pass as modern art. Even if you don’t need an extra clock around the house, this same general principle could be used to create a slick-looking ticker for all sorts of information, from the weather to server uptime with just some adjustments to the code.

Inside the jar there’s six 8×8 MAX7219 LED matrix modules tacked together to create one long strip, with a NodeMCU board stuck to the back with double-sided tape. There’s also a DS3231 RTC module so the clock can keep halfway decent time, but depending on how aggressively you are willing to pull down the current time from NTP, that may or may not be required. A simple barrel jack is popped through the metal lid of the jar for power, and represents the only physical connection the internals have to the outside world.

For the next iteration [ZaNgAbY] is thinking of adding a temperature and humidity sensor, and a light sensor that can dim the LED display depending on the ambient light. While the environmental sensors will have to go on the outside of the lid if there’s any hope of pulling useful readings from them, the clear glass will allow him to keep the light sensor internal to the clock.

Believe it or not, this isn’t the first time we’ve seen somebody give their electronics the pickle treatment. We’ve previously played host to a server that “preserves” files in a Mason jar, as well as a gorgeous display of an iPod under glass.

Continue reading “ESP8266 Clock Puts Time in a Jar”

Easy Access Point Configuration on ESP8266

One of the biggest advantages of using the ESP8266 in your projects is how easy it is to get WiFi up and running. Just plug in the WiFi library, put the SSID and encryption key in your source code, and away you go. It authenticates with your network in seconds and you can get on with building your project. But things get a little trickier if you want to take your project someplace else, or distribute your source code to others. Quickly we learn the downside of using static variables for authentication.

While there are already a few solutions to this problem out there, [Martin Raynsford] wasn’t too thrilled with them. Usually they put the ESP8266 in Access Point mode, allow the user to connect, and then ask which network they should authenticate with. But he didn’t want his projects to require an existing network, and figured he could do just as well making a field-configurable AP.

Using it is simple. Once the ESP8266 starts up it will create a new network in the form of “APConfig XXXXXX”, which should be easy enough to find from your client side device. Once connected, you can go to a simple administration page which allows you to configure a new AP name and encryption key. You even have the option to create an open AP by leaving the “Password” field blank. Once rebooted, the ESP8266 will create a new network with the defined parameters.

[Martin] has also included a “backdoor” to let anyone with physical access to the ESP8266 board create a new open AP that can be used to reconfigure the network settings. During boot up there is a brief period, indicated with specific blinks of the LED, wherein you can hit the reset button and trigger the open AP. This keeps you from getting locked out of your own project if you forget what key you gave it.

If you’re not one to go the austere route, take a look at some of the more robust solutions we’ve seen for easier end-user setup of the ESP8266.