A Bolt-On I2C Navigation Key For Your Next Project

We often talk about the advantages of modular hardware here at Hackaday; the ability to just order a few parts online, hook them up with some jumper wires, and move onto the software side of things is a monumental time saver when it comes to prototyping. So anytime we see a new module that’s going to save us time and aggravation down the road, we get a bit excited.

Today we present the very slick I2CNavKey developed by [Saimon], a turn-key interface solution for your builds that can’t quite get away with a couple toggle switches. It not only gives you a four-way directional pad with center button, but a rotary “wheel” like on the old iPods. All of which you can access easily and with a minimum of wiring thanks to the wonders of I2C.

But even that might be selling the module short. This isn’t just a couple of buttons on a breakout board, the I2CNavKey is powered by its own PIC16F18345 microcontroller and features three configurable GPIOs with PWM support (perfect for an RGB LED) plus 256 bytes of onboard EEPROM storage.

[Saimon] has released the entire project as open source hardware for your hacking pleasure, but you can also get them as ready-to-use modules on Tindie for $18 USD [Editor’s Note: Because of a typo we originally we left the 1 out of the price]. Whether you’re a paying customer or not, you get access to the project’s absolutely phenomenal documentation, including a nearly 30 page manual that contains everything you’d ever want to know about the I2CNavKey and how to integrate it into your project. If all hardware was documented with this level of dedication, the world would be a much nicer place for folks like us.

If you recognize the name, or perhaps the affinity for neat I2C-connected input devices, it’s probably because you’ve seen his very similar I2C rotary encoder on these pages previously, which was a finalist in our Open Hardware Design Challenge during the 2018 Hackaday Prize.

Seth Molson Is Designing The Future, One Show At A Time

From the banks of levers and steam gauges of 1927’s Metropolis to the multicolored jewels that the crew would knowingly tap on in the original Star Trek, the entertainment industry has always struggled with producing imagery of advanced technology. Whether constrained by budget or imagination, portrayals usually go in one of two directions: they either rely too heavily on contemporary technology, or else they go so far in the opposite direction that it borders on comical.

Seth Molson

But it doesn’t always have to be that way. In fact, when technology is shown properly in film it often serves as inspiration for engineers. The portrayal of facial recognition and gesture control in Minority Report was so well done that it’s still referenced today, nearly 20 years after the film’s release. For all its faults, Star Trek is responsible for a number of “life imitating art” creations; such as early mobile phones bearing an unmistakable resemblance to the flip communicators issued to Starfleet personnel.

So when I saw the exceptional use of 3D printing in the Netflix reboot of Lost in Space, I felt it was something that needed to be pointed out. From the way the crew made use of printed parts to the printer’s control interface, everything felt very real. It took existing technology and pushed it forward in a way that was impressive while still being believable. It was the kind of portrayal of technology that modern tech-savvy audiences deserve.

It left such an impression that we decided to reach out to Seth Molson, the artist behind the user interfaces from Lost in Space, and try to gain a little insight from somebody who is fighting the good fight for technology in media. To learn how he creates his interfaces, the pitfalls he navigates, and how the expectations of the viewer have changed now that we all have a touch screen supercomputer in our pocket.

Continue reading “Seth Molson Is Designing The Future, One Show At A Time”

Looking Back At Microsoft Bob

Every industry has at least one. Automobiles had the Edsel. PC Hardware had the IBM PCJr and the Microchannel bus. In the software world, there’s Bob. If you don’t remember him, Bob was Microsoft’s 1995 answer to why computers were so darn hard to use. [LGR] gives us a nostalgic look back at Bob and concludes that we hardly knew him.

Bob altered your desktop to be a house instead of a desk. He also had helpers including the infamous talking paper clip that suffered slings and arrows inside Microsoft Office long after Bob had been put to rest.

Continue reading “Looking Back At Microsoft Bob”

Easier End-User Setup For ESP32 Projects

As hackers, we occasionally forget that not everyone is enamored with the same nerdy minutia that we are. Configuring hardware by changing some lines in the code and compiling a new firmware doesn’t sound like that big of a deal to those of us who’ve been around the block a few times, but might as well be ancient Sanskrit to the average person. As long as your projects are for personal use this isn’t really a concern, but what if you plan on distributing the code for a project or perhaps even selling finished products? Shipping it out with hard-coded variables simply isn’t an option.

Code for loading configuration file from SPIFFS

In a recent video, [Proto G] shows a clever way to use WiFiManager to make configuring your ESP32 project easier for end-users. Not only can you use the captive portal system to configure the ESP32’s WiFi against a nearby access point, but it can allow users to enter in configuration data which can be picked up in your code by using SPI Flash File System (SPIFSS).

With the setup demonstrated in the video below by [Proto G], you don’t need anything more exotic than a web browser to configure the device. The end user simply searches for the device’s WiFi network, connects to it, and is presented with an easy to understand dialog which has them select a WiFi network to configure against along with some fields to enter in custom variables. All this information is then stored to a file on the SPI flash. When the ESP32 reboots, it reads the configuration from the saved file and applies the requested settings.

This is very similar to how many consumer devices are now configured, and even the less technically-inclined recipients of such a device should be able to work through the setup with a bit of hand-holding. If you plan on handing one of your ESP32 projects to John Q. Public, this is the kind of configuration you should be aiming for.

We’ve covered using WiFiManager to make ESP32 projects easier to manage, but the addition of arbitrary variables to the captive portal opens up a lot of possibilities. Just the kind of thing you need when you start considering the leap to commercial product.

Continue reading “Easier End-User Setup For ESP32 Projects”

New Brain For Smart Vacuum

The ESP8266 has found its way into almost everything now. With its tiny size, low price tag, and accessible programmer, it’s perfect for almost any application that requires WiFi. [HawtDogFlvrWtr] decided that will all of the perks of the platform, an ESP8266 was practically begging to be shoehorned into his automatic vacuum cleaner. This isn’t a Roomba, though, it’s a Neato that now has a custom WiFi interface.

The new WiFi modification comes with some additional features as well. First of all, it ditches the poorly designed default user interface (often the most annoying proprietary component of any consumer product). In addition, the vacuum can now be placed on a completely custom schedule and can also be deployed at the push of a button. Now that it has a custom interface, it can report its status over the network to a phone or other computer as well.

[HawtDogFlvrWtr] is still developing his project and it looking for some help beta testing his new platform. He also has how to videos on his project page if you’re in the process of tearing apart your own. There are many other ways of modifying vacuum cleaners to add other useful features as well.

Continue reading “New Brain For Smart Vacuum”