dac

63 Articles

Addressable RGB LED strips may be all the rage, but that addressability can come at a cost. If instead of colors you expect to show shades of white you may the find less flickery, wider spectrum light from a string of single color LEDs and a nice supply desirable. Of course there are many ways to drive such a strip but this is Hackaday, not Aliexpressaday (though we may partake in the sweet nectar of e-commerce). [Niklas Fauth] must have really had an itch to scratch, because to get the smoothest fades for his single color LED strips, he built an entire software defined dual 50W switched-mode AC power supply from scratch. He calls it his “first advanced AC design” and we are suitably impressed.

Switched-mode power supplies are an extremely common way of converting arbitrary incoming AC or DC voltage into a DC source. A typical project might use a fully integrated solution in the form of a drop-in module or wall wart, or a slightly less integrated controller IC and passives. But [Niklas] went all the way and designed his from scratch. Providing control he has the ubiquitous ESP-32 to drive the control nodes of the supply and giving the added bonus of wireless connectivity (one’s blinkenlights must always be orchestrated). We can’t help but notice the PCBA also exposes RS485 and CAN transceivers which seem to be unused so far, perhaps for a future expansion into wired control?

Of all the people I was looking forward to meeting at Supercon, aside from my Hackaday colleagues with whom I had worked for five years without ever meeting, was a fellow from Germany named Matthias Balwierz. The name might not ring a bell, but he’ll certainly be familiar to Hackaday readers as Bitluni, the sometimes goofy but always entertaining and enlightening face of “Bitluni’s Lab” on YouTube.

I’d been covering Bitluni’s many ESP32 hacks over the years, and had struck up a correspondence with him, swapping ideas and asking for advice on the many projects I start but somehow never finish. Luckily for us, Bitluni is far better on follow-through than I am, and he brought that breadth and depth of experience to the Design Lab stage for that venue’s last talk of the 2019 Superconference, before the party moved next door for the badge-hacking presentations.

It’s tough to find a project these days that doesn’t use an analog-to-digital converter (ADC) or digital-to-analog converter (DAC) for something. Whether these converters come as built-in peripherals on a microcontroller, or as separate devices connected over SPI, I2C, or parallel buses, all these converters share some common attributes, and knowing how to read the specs on them can save you a lot of headaches when it comes to getting things working properly.

There are some key things to know about these devices, and the first time you try to navigate a datasheet on one, you may find yourself a bit confused. Let’s take a deep dive into the static (DC) properties of these converters — the AC performance is complex enough to warrant its own follow-up article.

[Bitluni]’s motto seems to be, “When you’re busy, get busier.” At least that would explain adding even more work to his plate in the run-up to the Hanover Maker Faire and coming up with a ten-player game console from scratch.

As for this being extra work, recall that [bitluni] had already committed to building a giant ping pong ball LED wall for the gathering. That consisted of prototyping a quarter-scale panel, building custom tooling to get him past the literal pain point of punching 1200 holes, and wiring, programming and testing the whole display. Building a game console that supports ten players at once seems almost tame by comparison. The console is built around an ESP32 module, either WROOM or WROVER thanks to a clever multifunctional pad layout on the slick-looking white PCBs. [bitluni] went with a composite video output using the fast R-2R ladder network DAC that he used for his ESP32 VGA project. The console supports ten Nintendo gamepads for a simple but engaging game something like the Tron light cycles. Unsurprisingly, players found it more fun to just crash into each other on purpose.

Sure, it could have been biting off more than he could chew, but [bitluni] delivered and we appreciate the results. There’s something to be said for adding a little pressure to the creative process.

The Super Nintendo recently experienced a surge in popularity, either from a combination of nostalgic 30-somethings recreating their childhoods, or because Nintendo released a “classic” version of this nearly-perfect video game system. Or a combination of both. But what made the system worthy of being remembered at all? With only 16 bits and graphics that look ancient by modern standards, gameplay is similarly limited. This video from [Nerdwriter1] goes into depth on a single part of the console – the sound chips – and uses them to illustrate a small part of what makes this console still worth playing even now.

The SNES processed sound with two chips, a processing core and a DSP. They only had a capacity of 64 kb, meaning that all of a game’s sounds and music had to fit in this tiny space. This might seem impossible if you’ve ever played enduring classics like Donkey Kong Country, a game known for its impressive musical score. This is where the concept of creative limitation comes in. The theory says that creativity can flourish if given a set of boundaries. In this case it was a small amount of memory, and within that tiny space the composer at Rare who made this game a work of art was able to develop a musical masterpiece within strict limitations.

Even though this video only discusses the sound abilities of the SNES, which are still being put to good use, it’s a good illustration of what made this system so much fun. Even though it was limited, game developers (and composers) were able to work within its limitations to create some amazingly fun games that seem to have withstood the test of time fairly well. Not all of the games were winners, but the ones that were still get some playtime from us even now.

Last month we marked the 40th birthday of the CD, and it was as much an obituary as a celebration because those polycarbonate discs are fast becoming a rarity. There is one piece of technology from the CD age that is very much still with us though, and it lives on in the standard for sending serial digital audio between chips. The protocol is called I2S and comes as a hardware peripheral on many microcontrollers. It’s a surprisingly simple interface that’s quite easy to work with and thus quite hackable, so it’s worth a bit of further investigation.

It’s A Simple Enough Interface

Don’t confuse this with the other Philips Semiconductor protocol: I2C. Inter-Integrated Circuit protocol has the initials IIC, and the double letter was shortened to come up with the “eye-squared-see” nomenclature we’ve come to love from I2C. Brought to life in 1982, this predated I2S by four years which explains the somewhat strange abbreviation for “Inter-Integrated Circuit Sound”.

The protocol has stuck around because it’s very handy for dealing with the firehose of serial data associated with high-quality digital audio. It’s so handy that you’ve likely heard of it being used for other purposes than audio, which I’ll get to in a little bit. But first, what does I2S actually do?

Although the conversation could (and probably will) go anywhere, we’ll start with video tricks for the ESP32 and see where it goes from there. Possible topics include:

Tricks for pushing the ESP32 DACs to their limits;

When to use an external DAC;

Optimizing ESP32 code by running on separate cores; and

What about HDMI on the ESP32?

You are, of course, encouraged to add your own questions to the discussion. You can do that by leaving a comment on the ESP32 Video Tricks Hack Chat and we’ll put that in the queue for the Hack Chat discussion.

Click that speech bubble to the right, and you’ll be taken directly to the Hack Chat group on Hackaday.io. You don’t have to wait until Wednesday; join whenever you want and you can see what the community is talking about.