Four Years Of Learning ESP8266 Development Went Into This Guide

The ESP8266 is a great processor for a lot of projects needing a small microcontroller and Wi-Fi, all for a reasonable price and in some pretty small form factors. [Simon] used one to build a garage door opener. This project isn’t really about his garage door opener based on a cheap WiFi-enabled chip, though. It’s about the four year process he went through to learn how to develop on these chips, and luckily he wrote a guide that anyone can use so that we don’t make the same mistakes he did.

The guide starts by suggesting which specific products are the easiest to use, and then moves on to some “best practices” for using these devices (with which we can’t argue much), before going through some example code. The most valuable parts of this guide especially for anyone starting out with these chips are the section which details how to get the web server up and running, and the best practices for developing HTML code for the tiny device (hint: develop somewhere else).

[Simon] also makes extensive use of the Chrome developers tools when building the HTML for the ESP. This is a handy trick even outside of ESP8266 development which might be useful for other tasks as well. Even though most of the guide won’t be new to anyone with experience with these boards, there are a few gems within it like this one that might help in other unrelated projects. It’s a good read and goes into a lot of detail about more than just the ESP chips. If you just want to open your garage door, though, you have lots of options.

A Guide For Driving LED Matrices

Building an LED matrix is a fun project, but it can be a bit of a pain. Usually it starts with hand-soldering individual LEDs and resistors together, then hooking them up to rows and columns so they can be driven by a microcontroller of some sort. That’s a lot of tedious work, but you can order an LED matrix pre-built to save some time and headache. You’ll still need a driver though, and while building one yourself can be rewarding there are many pitfalls and trade-offs to consider when undertaking that project as well. Or, you can consider one of a number of drivers that [deshipu] has outlined in detail.

The hangups surrounding the driver board generally revolve around the issue of getting constant brightness from LEDs regardless of how many in the row or column are illuminated at one time. Since they are typically driven one row or column at a time, the more that are on the lower the brightness each LED will have. Driver boards take different approaches to solving this problem, which usually involve a combination of high-speed scanning of the matrix or using a constant-current source in order to eliminate the need for resistors. [deshipu] outlines four popular chips that achieve these purposes, and he highlights their pros and cons to help anyone looking to build something like this.

Most of these boards will get you to an 8×8 LED matrix with no problem, with a few going a few pixels higher in either direction. That might be enough for most of our needs, but for something larger you’ll need other solutions like the one found in this 64×32 LED matrix clock. There are also even more complicated drivers if you go into extra dimensions.

Photo credit: Komatta [Public domain], from Wikimedia Commons

A QR Code, Step By Step

We should all be familiar with QR codes, those blocky printed patterns containing encoded text, URLs, or other data. A few years ago they were subject to their own cloud of hype, but now they have settled down in their niche of providing a handy route for a smartphone owner to reach a website without having to type an address.

Have you ever wondered how they work? There are plenty of dry technical guides out there, but if they’re not your thing you might find [Nayuki]’s step-by-step guide to be of interest. It explains the encoding and error checking bit generation process before starting on the familiar three-squares pattern and timing bars of the QR code itself. The really interesting part comes with its explanation of overlays, a set of repeating patterns that are added to the final data segment, and how the pattern used is chosen to minimise penalties due to large blocks of the same colour in the final piece. The chances are most of us will never have to create a QR code from scratch, but it is this type of fascinating technical general knowledge that makes guides like this such an interesting read.

QR codes have appeared in quite a few projects here over the years, but the one we find particularly amusing is this project to hack them by changing one QR into another.

Via Hacker News.

USB Reverse Engineering: A Universal Guide

Every hacker knows what it is to venture down a rabbit hole. Whether it lasts an afternoon, a month, or decades, finding a new niche topic and exploring where it leads is a familiar experience for Hackaday readers.

[Glenn ‘devalias’ Grant] is a self-proclaimed regular rabbit hole diver and is conscious that, between forays into specific topics, short-term knowledge and state of mind can be lost. This time, whilst exploring reverse engineering USB devices, [Glenn] captured the best resources, information and tools – for his future self as well as others.

His guide is impressively comprehensive, and covers all the necessary areas in hardware and software. After formally defining a USB system, [Glenn] refers us to [LinuxVoice], for a nifty tutorial on writing a linux USB driver for an RC car, in Python. Moving on to hardware, a number of open-source and commercial options are discussed, including GoodFET, FaceDancer, and Daisho – an FPGA based monitoring tool for analysing USB 3.0, HDMI and Gigabit Ethernet. If you only need to sniff low speed USB, here’s a beautifully small packet snooper from last year’s Hackaday prize.

This is a guide which is well-informed, clearly structured, and includes TL;DR sections in the perfect places. It gives due credit to LibUSB and PyUSB, and even includes resources for USB over IP.

If you’re worried about USB hacks like BadUSB, perhaps you should checkout GoodUSB – a hardware firewall for USB devices.

Header image: Ed g2s (CC-SA 3.0).

 

Dig Into The Apple Device Design Guide

Millions of people worldwide have just added new Apple gadgets to their lives thanks to the annual end of December consumerism event. Those who are also Hackaday readers are likely devising cool projects incorporating their new toys. This is a good time to remind everybody that Apple publishes information useful for such endeavors: the Accessory Design Guidelines for Apple Devices (PDF).

This comes to our attention because [Pablo] referenced it to modify an air vent magnet mount. The metal parts of a magnetic mount interferes with wireless charging. [Pablo] looked in Apple’s design guide and found exactly where he needed to cut the metal plate in order to avoid blocking the wireless charging coil of his iPhone 8 Plus. What could have been a tedious reverse-engineering project was greatly simplified by Reading The… Fine… Manual.

Apple has earned its reputation for hacker unfriendliness with nonstandard fasteners and liberal use of glue. And that’s even before we start talking about their digital barriers. But if your project doesn’t involve voiding the warranty, their design guide eliminates tedious dimension measuring so you can focus on the fun parts.

Dimensioned drawing of Apple iPad Pro

This guide is packed full of dimensioned drawings. A cursory review shows that they look pretty good and aren’t terrible at all. Button, connector, camera, and other external locations make this an indispensable tool for anyone planning to mill or print an interface for any of Apple’s hardware.

So let’s see those projects! Maybe a better M&M sorter. Perhaps a time-lapse machine. Or cure your car’s Tesla envy and put a well-integrated iPad into the dashboard.

A Detailed Guide For 3D Printing Enclosures

We’ve all have projects that are done, but not complete. They work, but they’re just a few PCBs wired together precariously on our desks. But fear not! A true maker’s blog has gifted us with a detailed step-by-step guide on how to make a project enclosure.

Having purchased an MP Select Mini 3D Printer, there was little to do but find something practical to print. What better than an enclosure for a recently finished Time/Date/Temperature display Arduino based device?

The enclosure in this guide, while quite nice, isn’t the main attraction here. The real feature is the incredibly detailed instructions for how to design, model and print an enclosure for any project. For the veterans out there, it seems simple. Sketch something on the back of a napkin and take a nap on your keyboard with OpenSCAD open. When you wake, BAM: perfect 3D model. However, for newcomers, the process can seem daunting. With incredibly specific instructions (an example is “Open up a new workspace by clicking CREATE NEW DESIGN,” notice the accurate capitalization!), it should ease the barrier of the first enclosure, turning the inexperienced into the kind-of-experienced.

If you’ve been printing enclosures since the dawn of time or plastic simply isn’t your style, boy, do we have you covered. Why not check out FR4 (aka PCB) enclosures? Or what about laser cut enclosures from eagle files? Maybe two-piece boxes are more your thing.

Garage Distance Sensor Kicks Tennis Ball To Curb

Those with small garages might be familiar with the method of hanging a tennis ball from a ceiling to make sure they don’t hit the back wall with their car. If the car isn’t in the garage, though, the tennis ball dangling from a string tends to get in the way. To alleviate this problem, [asaucet] created a distance sensor that can tell him when his car is the perfect distance from the garage wall.

At the heart of the distance sensor is an HC-SR04 ultrasonic rangefinder and a PIC16F88 microcontroller. [asaucet] uses a set of four LEDs to alert the driver how close they are to the garage wall. [asaucet] also goes into great detail about how to use an LCD with this microcontroller for setting up the project, and the amount of detail should be enough to get anyone started on a similar project.

While this isn’t a new idea, the details that [asaucet] goes into in setting up the microcontroller, using the distance sensor, and using an LCD are definitely worth looking into. Even without this exact application in mind, you’re sure to find some helpful information on the project page.

Continue reading “Garage Distance Sensor Kicks Tennis Ball To Curb”