RTFM: ADCs And DACs

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.

Continue reading “RTFM: ADCs And DACs”

10-Way Game Console Lets Everyone Play

[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.

Continue reading “10-Way Game Console Lets Everyone Play”

Creative Limitation And The Super Nintendo Sound Chips

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.

Continue reading “Creative Limitation And The Super Nintendo Sound Chips”

All You Need To Know About I2S

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?

Continue reading “All You Need To Know About I2S”

ESP32 Video Tricks Hack Chat With Bitluni

Join us Wednesday at noon Pacific time for the ESP32 Video Tricks Hack Chat!

The projects that bitluni works on have made quite a few appearances on these pages over the last couple of years. Aside from what may or may not have been a street legal electric scooter, most of them have centered around making ESP32s do interesting tricks in the analog world. He’s leveraged the DACs on the chip to create an AM radio transmitter, turned an oscilloscope into a video monitor, and output composite video. That last one was handy for turning a Sony Watchman into a retro game console. He’s also found ways for the ESP32 to output VGA signals. Looks like there’s no end to what he can make the versatile microcontroller 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.

join-hack-chatOur Hack Chats are live community events on the Hackaday.io Hack Chat group messaging. This week we’ll be sitting down on Wednesday, March 27, at noon, Pacific time. If time zones have got you down, we have a handy time zone converter.

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.

The Multichannel Field Recorder You Can Build Right Now

Field recorders, or backpackable audio recorders with a few XLR jacks and an SD card slot, are a niche device, and no matter what commercial field recorder you choose you’ll always compromise on what features you want versus what features you’ll get. [Ben Biles] didn’t feel like compromising so he built his own multichannel audio DSP field recorder. It has a four channel balanced master outputs, with two stereo headphone outputs, eight or more inputs, digital I/O, and enough routing for multitrack recording.

Mechanically, the design of the system is a 3D printed box studded on every side with various connectors and patch points. This is what you get when you want a lot of I/O, and yep, those are panel mount connectors so get ready to pony up on the price of your connectors. The analog front end is a backplane sort of thing on a piece of perfboard, containing an eight channel differential I/O.

Of course any audio recorder is awful to use unless there’s a great user interface, and for that you can’t get any better than a high-resolution touchscreen on a phone. This led [Ben] to use Bluetooth to connect to an app showing the gain, levels, a toggle for phantom power, and a checkbox for line or microphone. If that’s not enough there are also some MIDI knobs for volume, because MIDI is still great for user input. It’s everything you want in a portable recording rig, and yes, there is a soundcloud demo. You can also check out a demo video below.

Continue reading “The Multichannel Field Recorder You Can Build Right Now”

Back To Video Basics With An ESP32 VGA Display

In a world where standards come and go with alarming speed, there’s something comforting about VGA. It’s the least common denominator of video standards, and seeing that chunky DB15 connector on the back of a computer means that no matter what, you’ll be able to get something from it, if you can just find a VGA cable in your junk bin.

But that’s the PC world; what about microcontrollers? Can you coax VGA video from them? Yes, you can, with an ESP32, a handful of resistors, and a little bit of clever programming. At least that’s what [bitluni] has managed to do in his continuing quest to push the ESP32 to output all the signals. For this project, [bitluni] needed to generate three separate signals – red, green, and blue – but with only two DACs on board, he had to try something else. He built external DACs the old way using R/2R voltage divider networks and addressed them with the I2S bus in LCD mode. He needed to make some compromises to fit the three color signals and the horizontal and vertical sync pulses into the 24 available bits, and there were a few false starts, but the video below shows that he was able to produce a 320×240 signal, and eventually goosed that up to a non-native 460×480.

It’s a pretty impressive hack, and we learned a lot about both the ESP32 and the VGA standard by watching the video. He’s previously used the ESP32 to build an AM radio station and to output composite PAL video, and even turned his oscilloscope into a vector display with it. They’re all great learning projects too.

Continue reading “Back To Video Basics With An ESP32 VGA Display”