Get To Know Touch With This Dev Board

In the catalogue of the Chinese parts supplier LCSC can be found many parts not available from American or European suppliers, and thus anyone who wants to evaluate them can find themselves at a disadvantage. [Sleepy Pony Labs] had just such a part catch their eye, the Sam&Wing AI08 8 channel capacitive touch controller. How to evaluate a chip with little information? Design a dev board, of course!

The chip tested is part of a family all providing similar functionality, but with a variety of interface options. The part tested has eight touch inputs and a BCD output. Said output is used to feed a 74 series decoder chip and drive some LEDs. The touch pads were designed with reference to a Microchip application note which incidentally makes for fascinating reading on the subject as it covers far more than just simple touch buttons.

Whether or not you’ll need this touch chip is a matter for your own designs, however, what this project demonstrates is that with the ready availability of cheap custom PCBs and unexpected parts it’s not beyond reason to create boards just for evaluation purposes.

Perhaps the subject of a previous Hackaday piece would have found this board useful.

All About USB-C: Illegal Adapters

Let’s be clear – it’s not enough to have USB-C to USB-C cables. There’s a lot of cables that we might want to acquire for our day-to-day use, perhaps, for a transition period while we still own some amount of devices not adorned with a USB-C connector. However, the USB-C specification only accounts for a limited amount of kinds of cables, explicitly or implicitly excluding a range of cables that you might want to buy or make.

It’s my firm belief that, as a hacker, you should be able to buy any USB-C contraption that you could ever need. Hackers don’t need restrictions driven by marketing – they need understanding of how a piece of tech can or cannot be used, based on how it operates internally. I would like you to provide with such understanding, so that you can make informed decisions.

On the other hand, USB-C is designed to be used by less-than-skilled people, even if it often fails at that. (Cable labelling, anyone?) Clear definitions of what complies to a standard can help enforce it. Here’s the notorious story of a USB-C cable that killed a Chromebook, and launched a career of explaining USB-C specifics online for [Benson Leung]. There’s many such failure stories, in fact. Today, we’ll go through USB-C contraptions which might or might not fail you, depending on how you use them. Continue reading “All About USB-C: Illegal Adapters”

Working With I2S-Compatible FM Tuners

While the Internet is a great place to get access to any music or audio you can dream of, there’s still a place for broadcast radio. [mit41301] has recently been exploring implementing a simple FM tuner chip in various projects.

The chip in question is the RDA7088, which is designed to require the bare minimum in external components, and is available in a compact SOP16 package. As per the datasheet, it was intended for use in applications like portable radios, PDAs, cell phones, and MP3 players.

[mit41301]’s first attempt involved using the chip as a simple tuner, hooked up to a PIC10F200 for control. Investigation revealed it was capable of outputting digital audio via I2S, while being commanded via I2C. By default, it spits out audio at a low sample rate of 8 kHz, but reconfiguration will jump that up to 44.1 or 48 kHz. Piping that digital I2S stream out to a DAC then delivers analog output that can be fed to an amplifier. The build also got remote control, with the PIC handling decoding IR signals and outputting commands to the radio chip.

Following this success, [mit41301] then went further, hooking up an ESP-01 to the chip to try and get RDS going. If you’re unfamiliar with the Radio Data System, it’s a way for short textual messages to be sent out by FM broadcasters. In addition to the duties carried out by the PIC module, the ESP-01 is also charged with receiving RDS data from the RDA7088, and outputting it to a display.

While using such chips is routine in industry, it’s always great to see a DIY guide to interfacing with specific hardware. If you want to integrate FM radio into your own projects, the RDA7088 is a simple and easy way to do so. We’ve seen similar work before, adding FM radio to the Raspberry Pi.

Continue reading “Working With I2S-Compatible FM Tuners”

All About USB-C: Connector Mechanics

There’s two cases when hackers have to think about USB-C connector mechanics. The first is when a USB-C connector physically breaks, and the second is when we need to put a connector on our own board. Let’s go through both of them.

Clean That Connector

What if a socket on your phone or laptop fails? First off, it could be due to dust or debris. There’s swabs you can buy to clean a USB-C connector; perhaps adding some isopropyl alcohol or other cleaning-suitable liquids, you can get to a “good enough” state. You can also reflow pins on your connector, equipped with hot air or a sharp soldering iron tip, as well as some flux – when it comes to mechanical failures, this tends to remedy them, even for a short period of time.

How could a connector fail, exactly? Well, one of the pins could break off inside the plastic, or just get too dirty to make contact. Consider a device with a USB-C charging and data socket, with USB 2.0 but without high-speed pairs – which is to say, sadly, the majority of the phones out there. Try plugging it into a USB-A charger using a USB-A to USB-C cable. Does it charge, even if slowly? Then, your VBUS pins are okay.

Plug it into a Type-C charger using a Type-C cable, and now the CC pins are involved. Does it charge in both orientations? Then both of your CC pins are okay. Does it charge in only one orientation? One of the CC pins has to be busted. Then, you can check USB 2.0 pins, used for data transfer and legacy charging. Plug the phone into a computer using a USB-A to USB-C cable. Does it enumerate as a device? Does it enumerate in both orientations? If not, you might want to clean D- and D+ pins specifically, maybe even both sets. Continue reading “All About USB-C: Connector Mechanics”

Audio Amp Puts VFDs To Work In An Unusual Way

It’s safe to say that most projects that feature a VFD emphasize the “D” aspect more than anything. Vacuum fluorescent displays are solid performers, after all, with their cool blue-green glow that’s just the right look for lots of retro and not-so-retro builds. But that doesn’t mean there aren’t applications that leverage the “V” aspect, such as this nifty audio preamp using VFDs as active components.

The inspiration behind [JGJMatt]’s build came from the Korg Nutube line of VFD-based low-voltage dual-triode vacuum tubes. Finding these particular components a little on the expensive side, [JGJMatt] turned to the old standby DM160 VFD indicator tube, which is basically just a triode, to see how it would fare as an amp. The circuit takes advantage of the low current and voltage requirements of the VFDs — the whole thing runs from a USB boost converter — by wedging them between a 2N3904 input stage and a 2N2007 MOSFET output. There’s a mix of SMD and through-hole components on the custom-etched PCB, with a separate riser card to show off the VFDs a little bit through the front panel of the 3D printed case.

All in all, we find this little amp pretty cool, and we love the way it puts a twist on the venerable VFD. We’ve seen similar VFD amps before, but this one’s fit and finish really pays off.

A Cheap 3D Printer Control Panel As A General Purpose Interface

Browsing the usual websites for Chinese electronics, there are a plethora of electronic modules for almost every conceivable task. Some are made for the hobbyist or experimenter market, but many of them are modules originally designed for a particular product which can provide useful functionality elsewhere. One such module, a generic control panel for 3D printers, has caught the attention of [Bjonnh]. It contains an OLED display, a rotary encoder, and a few other goodies, and he set out to make use of it as a generic human interface board.

To be reverse engineered were a pair of 5-pin connectors, onto which is connected the rotary encoder and display, a push-button, a set of addressable LEDs for backlighting, a buzzer, and an SD card slot. Each function has been carefully unpicked, with example Arduino code provided. Usefully the board comes with on-board 5 V level shifting.

While we all like to build everything from scratch, if there’s such an assembly commonly available it makes sense to use it, especially if it’s cheap. We’re guessing this one will make its way into quite a few projects, and that can only be a good thing.

Taking Distance Based CAD To The Next Level

For those who model CAD models regularly, a pair of calipers is essential as it allows reasonably accurate measurements to fit a specific part. However, [Jason Harris] is taking that concept to the next level with a signed distance function-based CAD tool, SDFX.

For those who don’t know, Signed Distance Functions can tell you from a given point how close the nearest part of the model is. The model is represented as a single function that offers some exciting benefits. For instance, chamfering and fileting are often quite complex in traditional CAD programs and trivial in an SDF setting. SDFX is a golang library that allows you to write golang programs to describe the model. OpenSCAD is a favorite of Hackaday as it is a beautiful parametric code-first CAD package. But the syntax and language are somewhat cludgy, to say the best. The advantage of using golang rather than a DSL is that you can use all the niceties that a full-featured language brings. For example, you can export multiple objects, make network requests, and interface with GUI libraries to recreate something like the customizer for OpenSCAD.

Objects are rendered to STL using Marching squares. Then, they can be printed in whatever slicing software suits your fancy. It’s an excellent project with a great API and almost a hundred examples.

The code is available on GitHub under an MIT License.