Direct Digital Synthesis (DDS) Explained by [Bil Herd]

One of the acronyms you may hear thrown around is DDS which stands for Direct Digital Synthesis. DDS can be as simple as taking a digital value — a collection of ones and zeroes — and processing it through a Digital to Analog Converter (DAC) circuit. For example, if the digital source is the output of a counter that counts up to a maximum value and resets then the output of the DAC would be a ramp (analog signal) that increases in voltage until it resets back to its starting voltage.

This concept can be very useful for creating signals for use in a project or as a poor-man’s version of a signal or function generator. With this in mind I set out here to demonstrate some basic waveforms using programmable logic for flexibility, and a small collection of resistors to act as a cheap DAC. In the end I will also demonstrate an off-the-shelf and inexpensive DDS chip that can be used with any of the popular micro-controller boards available that support SPI serial communication.

All of the topics covered in the video are also discussed further after the break.

Continue reading “Direct Digital Synthesis (DDS) Explained by [Bil Herd]”

Harmonic Analyzer Mechanical Fourier Computer

If you’re into mechanical devices or Fourier series (or both!), you’ve got some serious YouTubing to do.

[The Engineer Guy] has posted up a series of four videos (Introduction, Synthesis, Analysis, and Operation) that demonstrate the operation and theory behind a 100-year-old machine that does Fourier analysis and synthesis with gears, cams, rocker-arms, and springs.

In Synthesis, [The Engineer Guy] explains how the machine creates an arbitrary waveform from its twenty Fourier components. In retrospect, if you’re up on your Fourier synthesis, it’s pretty obvious. Gears turn at precise ratios to each other to create the relative frequencies, and circles turning trace out sine or cosine waves easily enough. But the mechanical spring-weighted summation mechanism blew our mind, and watching the machine do its thing is mesmerizing.

In Analysis everything runs in reverse. [The Engineer Guy] sets some sample points — a square wave — into the machine and it spits out the Fourier coefficients. If you don’t have a good intuitive feel for the duality implied by Fourier analysis and synthesis, go through the video from 1:50 to 2:20 again. For good measure, [The Engineer Guy] then puts the resulting coefficient estimates back into the machine, and you get to watch a bunch of gears and springs churn out a pretty good square wave. Truly amazing.

The fact that the machine was designed by [Albert Michelson], of Michelson-Morley experiment fame, adds some star power. [The Engineer Guy] is selling a book documenting the machine, and his video about the book is probably worth your time as well. And if you still haven’t gotten enough sine-wavey goodness, watch the bonus track where he runs the machine in slow-mo: pure mechano-mathematical hotness!

Continue reading “Harmonic Analyzer Mechanical Fourier Computer”

Running a Web Server on the ESP8266

We’ve written lot about the ESP8266 lately, but people keep finding more awesome uses for this inexpensive module. [Martin] decided that using the ESP8266 with an external microcontroller was overkill, and decided to implement his project entirely on the module with a built-in web server.

[Martin] started out with the ESP8266 web server firmware developed by [sprite_tm]. This firmware provides a basic web server that supports multiple connections and simple CGI scripts right on the module. The web server firmware opens up a ton of possibilities with CGI scripting. When booting up in AP mode, you can even connect the ESP8266 to another access point right from the your browser.

[Martin] decided to connect a DHT22 temperature/humidity sensor to the module as a proof of concept. He used a DHT22 library written for the ESP8266 to read data from the sensor, and wrote a CGI script to display the data on a web page. [Martin] also added buttons to control a GPIO pin as a proof of concept. He posted his source code and a binary (see the end of his post) so you can try out his application and mod it for your own project.

Photographing a Display Controller Die

Who doesn’t like integrated circuit porn? After pulling a PCD8544 display controller from an old Nokia phone, [whitequark] disrobed it and took the first public die shot.

As we’ve seen in the past, removing a die from its packaging can be a challenge. It typically involves nasty things like boiling acid. Like many display controllers, the PCD8544 isn’t fully encapsulated in a package. Instead, it is epoxied to a glass substrate.

Removing the glass proved to be difficult. [whitequark] tried a hot plate, a hot air gun, sulphuric acid, and sodium hydroxide with no success. Then the heat was turned up using MAPP gas, which burned the epoxy away.

After some cleaning with isopropanol, the die was ready for its photoshoot. This was done using a standard 30 mm macro lens. Photo processing was done in darktable, an open source photography tool and RAW processor.

[whitequark] plans to take closer photos in the future using more powerful magnification. These high resolution die photos can be useful for a number of things, including finding fake chips and reverse engineering retro hardware.

Hacking a $20 WiFi Smart Plug

The Kankun smart plug is an inexpensive device that lets you switch an outlet on and off over wifi. The smart plug only works with an Android or IOS app that ships with the device, which limits its usefulness to turning things on and off from your phone.

In an attempt to make this device more useful, [LinuxGeek] probed the device with nmap and discovered that it runs OpenWRT. After trying various common default passwords he discovered the login was root/admin. While [LinuxGeek] hasn’t sniffed the protocol yet, others have hacked it a bit further. The plug apparently uses UDP packets to communicate with the Android app, but the packets are unfortunately encrypted.

Rather than hack at the protocol, they wrote code that toggles the GPIO pin from a CGI script and developed a small Windows application that hits the CGI script for simple control from a computer. There’s also a Google+ group where more information and a couple other hacks for these plugs are posted. For $20 (from AliExpress) and with a bit of hacking, this smart plug could be a great way to add wireless control to a home automation system.

2.5kW of Beverage-Cooling Awesomeness

We’ve covered many thermoelectric beverage coolers in the past, but none come close to the insane power of the AbsolutZero. [Ilan Moyer] set out to design a beverage cooler that chills a drink from room temperature to 5 degrees Celsius as quickly as possible, and it looks like he succeeded. The AbsolutZero consumes around 2.5kW of power and runs 8 water-cooled thermoelectric modules to quickly chill a drink.

[Ilan] put his machinist skills to work and fabricated many custom parts for this build. He machined water blocks for each thermoelectric cooler out of solid copper which draw heat away from each thermoelectric cooler. He also fabricated his own bus bars to handle the 200A+ of current the system draws. To transfer heat from the beverage to the thermoelectric modules, he turned and milled a heat spreader that perfectly fits a can of any beverage.

[Ilan]’s design uses a closed-loop water cooling system and 4 radiators to dissipate all of the heat the system produces, which is quite a lot: thermoelectric modules are typically only 10-15% efficient. The whole design is buttoned up in a custom polycarbonate enclosure with a carrying handle so you can conveniently lug the massive setup wherever quickly chilled beverages are needed. Be sure to check out [Ilan]’s build photos to see his excellent machining work.

Thanks for the tip, [Stefan].

Using Cell Phone Screens with any HDMI Interface

Thanks to the worldwide proliferation of smartphones, tiny high-resolution displays are common and cheap. Interfacing these displays with anything besides a phone has been a problem. [twl] has a board that does just that, converting HDMI to something these displays can understand, and providing a framebuffer so these displays can be written to through small microcontrollers.

[twl] is using a rather large FPGA to handle all the conversion from HDMI to the DSI the display understands. He’s using an Xilinx Spartan-6-SLX9, one of the most hobbyist friendly devices that is able to be hand soldered. Also on the board is a little bit of SDRAM for a framebuffer, HDMI input, and a power supply for the LCD and its backlight.

On the things [twl] has in his ‘to-do’ list, porting Doom to run on a cellphone display is obviously right at the top. He also wants to test the drawing commands for the Arduino side of his board, allowing any board with the suffix ~’ino to paint graphics and text on small, cheap, high-resolution displays. That’s a capability that just doesn’t exist with products twice [twl]’s projected BOM, and we can’t wait to see what he comes up with.

You can check out the demo video of [twl]’s board displaying the output of a Raspberry Pi below. If you look very closely, you’ll notice the boot/default screen for the display adapter is the Hackaday Jolly Wrencher.

Continue reading “Using Cell Phone Screens with any HDMI Interface”