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”
In part one, I compared the different Analog to Digital Converters (ADC) and the roles and properties of Delta Sigma ADC’s. I covered a lot of the theory behind these devices, so in this installment, I set out to find a design or two that would help me demonstrate the important points like oversampling, noise shaping and the relationship between the signal-to-noise ratio and resolution.
Check out part one to see the block diagrams of what what got us to here. The schematics shown below are of a couple of implementations that I played with depicting a single-order and a dual-order Delta Sigma modulators.
Basically I used a clock enabled, high speed comparator, with two polarities in case I got it the logic backwards in my current state of burn out to grey matter ratio. The video includes the actual schematic used.
Since I wasn’t designing for production I accepted the need for three voltages since my bench supply was capable of providing them and this widget is destined for the drawer with the other widgets made for just a few minutes of video time anyway. Continue reading “Tearing into Delta Sigma ADCs Part 2”
It’s not surprising that Analog to Digital Converters (ADC’s) now employ several techniques to accomplish higher speeds and resolutions than their simpler counterparts. Enter the Delta-Sigma (Δ∑) ADC which combines a couple of techniques including oversampling, noise shaping and digital filtering. That’s not to say that you need several chips to accomplish this, these days single chip Delta-Sigma ADCs and very small and available for a few dollars. Sometimes they are called Sigma-Delta (∑Δ) just to confuse things, a measure I applaud as there aren’t enough sources of confusion in the engineering world already.
I’m making this a two-parter. I will be talking about some theory and show the builds that demonstrate Delta-Sigma properties and when you might want to use them.
Continue reading “Tearing into Delta Sigma ADC’s”
Although it’s technically possible to get 16 bits of resolution on a ATMega328, most implementations of PWM on everyone’s favorite ‘mega – including just about every Arduino sketch – are limited to 8 bit PWM. This means the pins can only output 256 different values, so if you’re playing around with music made on an Arduino don’t expect very high fidelity.
There is a clever way around this: use two PWMs, and use one pin for high bytes and another for low bytes. That’s what Open Music Labs did when working on a synthesizer project that needed very high quality audio.
The basic idea behind the build is that PWM pins can be used to create audio frequencies. Using two PWM pins and adding them together means it’s possible to add extra bits of resolution. This requires using different values of resistors on each pin. For example, using the same value of resistors on two PWM pins increases the resolution by one bit. Two pins with a resistor value ratio of 1:4 increases the resolution by four bits, and so on.
There’s a great tutorial for setting up these higher resolution, dual PWM outputs on an ATMega or Arduino, as well as a distortion analysis for this dual PWM setup.
[Jose Carlos Veloso Junior] has been working on his 3D printer to improve the resolution. We looked in on his project back in October when he was printing the blue busts like the one seen above.
We were impressed by the resolution he was able to achieve back then, using liquid resin that is cured with visible light. The resin creates a thin layer on a glass tray, and is cured when a projector shines precisely positioned light from below. The cured resin is then lifted on the Z-axis, and the next layer in the printing process is hardened by the projector’s light.
Well, this newest rendition far outperforms the initial iteration. The bust on the right looks like it’s been hand-buffed to remove the layer lines, but it actually just came off of the printer. [Jose] made a video of the new equipment in action, which you can watch after the break. He’s keeping most of the juicy bits to himself but he did tell us that the improvement he achieved were due to multiple changes in the process. He tweaked the software to use a more precise curing time, the resin formula has been improved, the ability to isolate pixels without hardening resin around them has been stepped up, and he’s made changes to the way the printer is calibrated and how it lifts the hardened model.
This is fantastic. Kudos to you sir!
Continue reading “3D printer gets a big resolution improvement”
Watch out, these sunglasses are actually a head mounted display. [Staffan] says he’s wanted dataglasses since ’95, but whats currently out there makes the user look ridiculous, and we have to agree. While his forum posts are a little lacking in detail, he’s promised us more info soon. And for now lets us know at least the resolution, well sort of: Its either 480×1280 or 480x427x3, you can be the judge. Update: [Staffan] has clarified “The resolution is 480*1280 true pixels. It is accomplished by spanning the screen across two Kopin CyberDisplay VGA modules.”
Regardless, [Staffan] is looking for help perfecting the glasses, with what in particular we’re not sure, but the project looks promising and we hope he keeps up the good work.
Not willing to settle for 1400×1050 on his Thinkpad, [Lawrence Sheed] set out to upgrade the LCD screen. He ordered a 15″ replacement screen that brought the eye candy up to an impressive 2048×1536 QXGA format. The replacement fits perfectly for a nice factory look. Other than some delicate disassembly you might need to flash the EDID but in [Lawrence’s] case it wasn’t necessary. If you’re going to haul around a full-blown laptop it might as well have some killer resolution and now you know how to make that happen.