STM32 Analog Converter Phase Noise

[Avian] has been using STM32 ARM processors to sample RF for a variety of applications. At first, he was receiving relatively wide TV signals. Recently, though, he’s started dealing with very narrow signals and he found that his samples had a lot of spread in the frequency domain that he didn’t expect.

What followed was some detective work that resulted in a determination that phase noise was the culprit. But why? [Avian] took some measurements and noticed that the phase noise almost exactly matched the phase noise specification for the STM32’s phase locked loop (PLL).

Unfortunately, there didn’t seem to be a good way to avoid using the PLL without major changes to the rest of the circuit. However, it was quite the learning experience and something to be aware of when counting on built-in converters for high-accuracy measurements.

One of the best things about this post is the references to more information. There’s a great explanation of phase noise, as well as a specific application note about clock jitter and analog converters.

We’ve talked about phase noise in direct digital synthesis a few times. But usually, it is pretty obvious like when you are asking a CPU to double as an RF transmitter. [Avian’s] post was a bit more of a detective story.

TI 99/4A Weather Station

If you still have a drawer full of slap bracelets from the 1990s because, you know, they might come back, then you’ll appreciate [Vorticon’s] latest project. Sure, we see lots of weather stations, but this one is controlled by a TI 99/4A computer. This home computer from the 1980s was actually ahead of its time with a 16-bit processor.

The sensors use Xbee modules and an Arduino Uno. Of course, the Uno has more power than the TI computer, but that’s not really the point, right? He’s made a series of videos detailing the construction (you can see the first one below, but there are five, so far).

Continue reading “TI 99/4A Weather Station”

Teensy And 3D Printer Make Beautiful Music Together

[Otermrelik] wanted to experiment with the Teensy audio library and adapter. That, combined with his 3D printer, led to a very cool looking build of the teensypolysynth. The device looks like a little mini soundboard with sliders and 3D printed knobs. You can see (and hear) it in the video below.

The Teensy audio library supports several output devices including several built-in options and external boards like the audio adapter used here. The library does CD-quality sound, supports polyphonic playback, recording, synthesis, mixing, and more.

Continue reading “Teensy And 3D Printer Make Beautiful Music Together”

Sous Vide Arduino Isn’t Lost In Translation

If your idea of a six-course meal is a small order of chicken nuggets, you might have missed the rise of sous vide among cooks. The idea is you seal food in a plastic pouch and then cook it in a water bath that is held at a precise temperature. That temperature is much lower than you usually use, so the cook times are long, but the result is food that is evenly cooked and does not lose much moisture during the cooking process. Of course, controlling a temperature is a perfect job for a microcontroller and [Kasperkors] has made his own setup using an Arduino for control. The post is in Danish, but Google translate is frighteningly good.

The attractive setup uses an Arduino Mega, a display, a waterproof temperature probe, and some odds and ends. The translation does fall down a little on the parts list, but if you substitute “ground” for “earth” and “soil” you should be safe. For the true epicurean, form is as important as function, and [Kasperkors’] acrylic box with LEDs within is certainly eye-catching. You can see a video of the device, below.

Continue reading “Sous Vide Arduino Isn’t Lost In Translation”

Help Wanted: Open Source Oscilloscope On Rigol Hardware

We’ve often heard (and said) if you can’t hack it, you don’t own it. We noticed that [tmbinc] has issued a call for help on his latest project: developing new firmware and an FPGA configuration for the Rigol DS1054Z and similar scopes. It isn’t close to completion, but it isn’t a pipe dream either. [tmbinc] has successfully booted Linux.

There’s plenty left to do, though. He’s loading a boot loader via JTAG and booting Linux from the USB port. Clearly, you’d want to flash all that. Linux gives him use of the USB port, the LCD, the network jack, and the front panel LEDs and buttons. However, all of the actual scope electronics, the FPGA functions, and the communications between the processor and the FPGA are all forward work.

Continue reading “Help Wanted: Open Source Oscilloscope On Rigol Hardware”

Fundamentals Of Fingerprint Scanning

Like most (if not all) Hackaday readers, I like to know how the technology I use works. I’m always amazed, for example, how many otherwise smart people have no idea how the cellphone network works other than “it’s a radio.” So now that I have two phones with fingerprint scanners on them, I decided I needed to know more about what’s going on in there.

Sure, I assumed the sensor was capacitive (but maybe not, I found out). Plus we all know some super glue, scotch tape, and gummy bears are all you need to fake one out. However, that’s been known for about 15 years and we are still seeing phones and other devices rolling out with the same scanners. So for now, put aside the debate about whether we should be using fingerprint scanners. Let’s talk about how those sensors work.

Continue reading “Fundamentals Of Fingerprint Scanning”

FPGAs In C With Cynth

Programming an FPGA with Verilog looks a lot like programming. But it isn’t, at least not in the traditional sense. There have been several systems that aim to take C code and convert it into a hardware description language. One of these, cynth, is simple to use and available on GitHub. You will need to install scala and a build system called sbt, if you want to try it.

There are limitations, of course. If you want a preprocessor, you’ll have to run it separately. You can’t use global variables, multiplication, floats, and many other pieces of C. The compiler generates a Verilog file for each C function.
Continue reading “FPGAs In C With Cynth”