Squeezebox Comes To The ESP

Streaming music may now come from somewhere in the cloud to an app on your phone and be sent to the client built in to almost every entertainment device you own, but there was a time when the bleeding edge lay in dedicated streaming device that connected to your existing set-up. One of the players in this market was Logitech with their Squeezebox line of products, and while the original hardware may have been discontinued it remains very much alive among its dedicated userbase due to the free nature of the Logitech Media Server software and implementations of the slimproto streaming protocol in players. Now you can create a network player on about as cheap hardware as it is possible to find, because [Bgiraut] has produced a client for the ESP32 and ESP8266.

The software can be found on GitHub, and comes with the warning that it’s an early proof-of-concept rather than a polished release. It has two options for playback that both require a little bit of extra hardware, an I2S DAC for uncompressed streams or a VS1053 codec module for compressed ones, but neither of those need be expensive.

You can find Logitech Media Server from its download page, and give this device a try. Meanwhile we’ve covered many Squeezebox implementations, including ones on the Raspberry Pi, and the PogoPlug.

Thanks [joyofdivisions] for the tip.

WiFi Your Door Lock With An ESP

The Internet of Things is upon us, and with that comes a deluge of smart cameras, smart home monitors, and smart home locks. There actually aren’t many smarts in these smart conveniences, and you can easily build your own. That’s what [MakerMan] did with some off-the-shelf parts and just a little bit of code. Now he can open his door with WiFi, and it’s a nice clean build.

The build process began by first removing the existing barrel bolt on the door. This was replaced by a deadbolt that also had some really neat solenoids inside for remote activation. This was mounted to the door in a way that the door could lock, with a minimal amount of damage from some skillful hacksaw work. The only thing left to do after this was add some electronics and brains to the lock.

For this, [MakerMan] added a button and LED to the outside of the door. Some of these wires were fed into the lock mechanism, with a few more run over to a project enclosure mounted next to a power outlet. The project enclosure holds an ESP-8266, power regulator, and relay board, and the ESP is running code that instantiates a web server that will unlock the door with a few clicks on a web page.

Sure, it’s probably not the most secure lock on the planet, and the 5V linear regulator is held on to the relay board with hot glue, but this is an exceptionally well-documented project, and all the code is available in an archive.

Continue reading “WiFi Your Door Lock With An ESP”

RemoteDebug for ESP Platforms

Debugging tools are critical to quick and effective development. Without being able to peek under the hood at what’s really going on, it can be difficult to understand and solve problems. Those who live on the Arduino platform are probably well acquainted with using the serial port to debug, but it’s far from the only way. [JoaoLopesF] has coded the RemoteDebug tool for ESP platforms, and the results are impressive.

RemoteDebug does away with the serial interface entirely, instead using the ESP’s native wireless interface to send debug data over TCP/IP. It’s all handled over telnet, making it completely platform agnostic. By handling things over the WiFi connection, it negates issues with physical access, as well as hassles with cables and limited serial ports. It’s also of benefit to robotics projects, which no longer need a tether when debugging.

It comes with a similar set of features to [JoaoLopesF]’s earlier work, SerialDebug. Things like verbosity and timestamps are all built in, making it easy to get high-quality debug data without having to reinvent the wheel yourself. Video after the break.

Continue reading “RemoteDebug for ESP Platforms”

Building An ESP8266 Doorbell On Hard Mode

It certainly seems as though it should be an easy enough project; all [Miguel De Andrade] wanted was to receive a notification when somebody was pressing his doorbell, and thought it would be a good project to get his feet wet in the wonderful world of ESP8266 hacking. But as fate would have it, not everything went according to plan. In the end he got it sorted out, but it’s an interesting look at how even the “easy” projects can call the gremlins out of hiding.

Arguably, the problems started when [Miguel] picked up an ESP-01 module from a local electronics retailer. While the convenience of buying the hardware in a brick and mortar store can’t be overstated, it did mean he was stuck with a slightly more spartan experience compared to the more common ESP “development boards”. Programming it externally with a Teensy ended up not being much of an obstacle, but it did mean he was stuck with only two GPIO pins.

At any rate, with ESP in hand, the next step was figuring out how the existing bell and intercom system even worked. Unfortunately, after some experimentation [Miguel] found there was a bit more going on there than he’d hoped. According to his multimeter, the one line from the intercom sits at approximately 5 VDC when it’s open, and drops down to 2.5 VDC when pressed. If that wasn’t bad enough, picking up the handset to answer the intercom sent the voltage up to a microcontroller-killing 12 VDC. To complicate maters further, the supply line for the intercom was 23 VAC, so he’d need to rectify that somehow if he wanted to avoid a separate power supply for the ESP.

To turn this jumble of voltages into a nice clean 0 – 3.3 V signal for the ESP8266, he came up with a circuit based around the LM358 comparator that utilizes an LM117 regulator to power itself and the ESP at the same time. A couple of diodes are there to block the AC component from causing trouble, and an A2N2222A transistor is used as a buffer amplifier to boost the output of the comparator so it registers as a digital HIGH on the ESP. The circuit took a bit of fiddling to get sorted out, but in the end [Miguel] says it seems to get the job done.

You might think the problems were solved, but this is where it gets really annoying. The system would work fine for awhile, and then inexplicably go silent. In diagnosing the problem he realized that his circuit connected to GPIO_0 was inadvertently putting the ESP8266 into programming mode, since it was holding the pin LOW unless the intercom button was pressed. He assumed he could just move the circuit to the other GPIO pin, but as that one has the board’s LED on it, that caused its own problems. For now, [Miguel] hasn’t come up with a solution to this issue, and has learned to live with the fact that the system won’t come back up cleanly should it lose power for any reason.

If you’re looking for a slightly classier look than a scrap of perfboard stuck on the wall with what appears to be chewing gum, we’ve also seen the ESP8266 used in some more ornate doorbell setups. Of course if you still haven’t gotten your head wrapped around the whole Internet-connected button thing, you can always start with something a little easier.

Wiring The ESP-32 To Ethernet

Since its introduction years ago, the ESP-8266 has taken over the world. It’s the chip inside thousands of different projects, and the basis for dozens of different IoT thingamadoos. The follow-up to the 8266, the ESP-32, is even more capable. It has a ton of peripherals inside, including an Ethernet MAC. What’s that? Yes, it’s possible to put Ethernet on an ESP-32, and give an IoT board PoE. That’s what [Patrick] is doing for his Hackaday Prize project, and it’s an awesome idea.

This build began as you would expect, with an ESP-32 module attached to one side of a board with some breakouts for the GPIOs and a USB to Serial chip. The tricky part here is the PoE part of the Ethernet, which requires MagJack Ethernet connectors, a flyback transformer, and a PoE-PD controller. These were expensive parts, and the design of such a board requires some thinking — you need isolation across the transformer, and proper ground planes for this mess.

There’s something slightly brilliant about using an ESP-32 in a wired configuration. Far too often, we see these modules used as wireless nodes in a sensor net. The battery consumption is significant, and all those makers are adding USB power input to their fancy WiFi sensor nets. If you’re running wires for power anyway, why not add Ethernet and do away with all that mucking around with WiFi setup. It’s a great project, and one of the better entries in this year’s Hackaday Prize.

Turning Cheap WiFi Modules Into Cheap WiFi Swiss Army Knives

When the ESP8266 was released, it was sold as a simple device that would connect to a WiFi network over a UART. It was effectively a WiFi modem for any microcontroller, available for just a few bucks. That in itself is awesome, but then the hackers got their hands on it. It turns out, the ESP8266 is actually a very capable microcontroller as well, and the newest modules have tons of Flash and pins for all your embedded projects.

For [Amine]’s entry to the Hackaday Prize, he’s using the ESP8266 as the ultimate WiFi Swiss Army knife. The Kortex Xttend Lite is a tiny little WiFi repeater that’s capable of doing just about anything with a WiFi network, and with a bit of added hardware, can connect to Ethernet as well.

The hardware on this board sports an ESP8266-07S module, with two free GPIO pins for multiple functions. There’s a USB to UART in there, and a voltage regulator that’s capable of outputting 600mA for the slightly power hungry radio. There’s also an integrated battery management and charge controller, allowing this board to charge an off-the-shelf lithium cell and run for hours without any wires at all.

So, what can this board do? Just about everything you would want for a tiny little WiFi Swiss Army knife. There’s traffic shaping, port mapping, packet sniffing, and even support for mesh networking. There’s also an SMA connector on there, so grab your cantennas — this is a great way to extend a WiFi network, too.

This is a well-designed and well-executed project, and what makes this even more amazing is that this was done as one of [Amine]’s high school projects. Yes, it took about a year to finish this project, but it’s still amazing work for [Amine]’s first ‘high-complexity’ design. That makes it an excellent learning experience, and an awesome entry to this year’s Hackaday Prize.

Reprogramming Cheap WiFi Outlets

If you want to retrofit your home with smart outlets and lightbulbs, bust out your wallet. You can easily spend forty dollars for a smart light bulb at your local home supply store, and strips of smart sockets could cost sixty. When [coogle] found a WiFi-enabled four-outlet power strip on Amazon, he couldn’t resist. Sure, the no-name strip would be locked down behind a stupid iPhone interface and will probably turn your house into a botnet, but never mind that: you can easily reprogram these power strips to be whatever you want.

After receiving these power strips and tearing them open, [coogle] found exactly what you would expect from a no-name white goods manufacturer. There’s a board with an Espressif chip and a WiFi antenna, and a second board with a few relays, with a few wires connecting the two. You only need to browse AliExpress for a few minutes to figure out what’s going on here. The brains of the outfit are in the ESP8266, and if you can control that, you have your own Internet of Power Strips.

The problem, then, was reprogramming the ESP8266. This was a version of the chip [coogle] hadn’t seen before, but a quick query with the Google Mother Brain revealed it was a WT8266-S1 module, with all the pins required for programming easily accessible on a convenient header. After connecting this header up to an ESP programming board, [coogle] had all the relevant information including the capacity of the Flash. There’s still a bit more work to make this a functional WiFi power outlet, namely figuring out which GPIOs and wires connect to which relays, but this is effectively a completely Open IoT device right now. All you have to do is bring your own firmware.