Build An AM Radio Transmitter From A CPLD

[Alex Lao] has been playing around with the CPLD-like parts of a PSoC. Which is to say, he’s been implementing simple logic functions “in hardware” in software. And after getting started with the chip by getting accustomed to the different clock sources, he built a simple AM radio that transmits at 24 MHz.

The device that [Alex] is learning on is a Cypress PSoC 5LP, or more specifically their (cheap) prototyping kit for the part. The chip itself is an ARM microprocessor core with a CPLD and some analog tidbits onboard to make interfacing the micro with the outside world a lot easier. [Alex] doesn’t even mess around with the microprocessor, he’s interested in learning the CPLD side of things.

PRS-CircuitHe starts off with a 24 MHz carrier and a 1 kHz tone signal, and combines them with a logical AND function. When the tone is on, the carrier plays through; that’s AM radio at its most elemental. Everything is logic (square waves) so it’s a messy radio signal, but it’ll get the job done.

Adding a multiplexer up front allows [Alex] to play two tones over his “radio” station. Not bad for some simple logic, and a fantastic Hello World project for a CPLD. We can’t wait to see what [Alex] is up to next!

If you’re interested in getting your feet wet with either CPLDs in general or a CPLD + micro system like Cypress’s, the development kit that [Alex] is using looks like a cheap and painless way to start. (Relatively speaking — PSoCs are a step or two up a steep learning curve from the simpler 8-bit micros or an Arduino.) Hackaday’s own [Bil Herd] has a video on getting started with another member of the Cypres PSoC family, so you should also check that out.

Your First GNU Radio Receiver With SDRPlay

Although GRC (the GNU Radio Companion) uses the word radio, it is really a graphical tool for building DSP applications. In the last post, I showed you how you could experiment with it just by using a sound card (or even less). However, who can resist the lure of building an actual radio by dragging blocks around on a computer screen?

For this post and the accompanying video, I used an SDRPlay. This little black box has an antenna jack on one end and a USB port on the other. You can ask it to give you data about a certain area of the RF spectrum and it will send complex (IQ) data out in a form that GRC (or other DSP tools) can process.

The SDRPlay is a great deal (about $150) but if you don’t want to invest in one there are other options. Some are about the same price (like the HackRF or AirSpy) and have different features. However, you can also use cheap TV dongles, with some limitations. The repurposed dongles are not as sensitive and won’t work at lower frequencies without some external help. On the other hand, they are dirt cheap, so you can overlook a few little wrinkles. You just can’t expect the performance you’ll get out of a more expensive SDR box. Some people add amplifiers and converters to overcome these problems, but at some point it would be more cost effective to just spring for a more expensive converter.

Continue reading “Your First GNU Radio Receiver With SDRPlay”

SprayPrinter Paints Your Wall, One Pixel At A Time

SprayPrinter is a neat idea. You download a cellphone app, point the camera at a wall, and sweep the wall with a spray can fitted with a (Bluetooth? WiFi?) remote-controlled valve. The phone knows where the nozzle is, and sprays a dot whenever it needs to “paint” the picture of your choosing on the wall.

sprayprinter-estonia-designboom-002-818x500While we’re not sure that we have the patience to paint our walls this way, it’s a cool effect. But even more, we love the idea of using the cellphone camera for location sensing. Many robotics applications do just this with an overhead camera.

Of course, we’d love more detail about how it’s done, but it’s not hard to guess that it’s either a bit of machine vision in the phone, or simpler still, that the spray-can housing has IR LEDs inside that the phone can lock onto. Indeed, the prototype version of the product shown here does look like it has an LED on the opposite side from the orange nozzle.

It wouldn’t be hard to take this to the next level, by adding enough IR LEDs that the camera in your phone can sense orientation as well as location. Heck, by measuring the distances between LEDs, you could probably even get a rough measure of depth. This could open up the use of different nozzles.

Thanks [Itay] for the tip! Some images courtesy SprayPrinter, via designboom.

 

Black MIDI: There Is No Denser Music

Imagine if you played all the keys on a piano at once. What would it sound like? Now imagine that you’d like to transcribe that music. What would it look like? So many notes that you could hardly see the paper underneath.

Which is why the people making such “impossible music” are calling themselves the Black MIDI Crew: if you wrote the music down, it’d look like a big black blob. Or at least, that’s the joke. Amazingly, though, it doesn’t sound like a big mess. Check out “Pi, The Song With 3.1415 Million Notes” below the break to see what we mean.

Continue reading “Black MIDI: There Is No Denser Music”

Getting Started With GNU Radio

Software Defined Radio (SDR)–the ability to process radio signals using software instead of electronics–is undeniably fascinating. However, there is a big gap from being able to use off-the-shelf SDR software and writing your own. After all, SDRs require lots of digital signal processing (DSP) at high speeds.

Not many people could build a modern PC from scratch, but nearly anyone can get a motherboard, some I/O cards, a power supply, and a case and put together a custom system. That’s the idea behind GNU Radio and SDR. GNU Radio provides a wealth of Python functions that you can use to create sophisticated SDR application (or, indeed, any DSP application).

If Python is still not up your alley (or even if it is), there’s an even easier way to use GNU Radio: The GNU Radio Companion (GRC). This is a mostly graphical approach, allowing you to thread together modules graphically and build simple GUIs to control you new radio.

Even though you usually think of GRC as being about radios, it is actually a good framework for building any kind of DSP application, and that’s what I’ll show you in the video below. GRC has a signal generator block and interfaces to your sound card. It even has the ability to read and write data to the file system, so you can use it to do many DSP applications or simulations with no additional hardware.

UPDATE: Don’t miss the follow-up post that uses SDRPlay to build a GNU Radio based receiver.

Continue reading “Getting Started With GNU Radio”

What Do Bertlmann’s Socks Mean To The Nature Of Reality?

One can be reasonably certain that when the title of an article includes the phrase “The Nature of Reality”, thought provoking words must surely lie ahead.  But when that same title seems to inquire about a gentleman’s socks,  coupled with an image of said gentleman’s socks which happen to be mismatched and reflect very loud colors , one might be moved in a direction which suggests the article is not of a serious nature. Perhaps even some sort of parody.

It is my hope that you will be pleasantly surprised with the subtle genius of Irish physicist [John Bell] and his use of socks, washing machines, and a little math to show how we can test one of quantum physic’s most fundamental properties. A property that does indeed reside in the very nature of the reality we are a part of. Few people can say they understand the Bell Inequality down to its most fundamental level. Give me a little of your time, and you will be counted among these few.

Continue reading “What Do Bertlmann’s Socks Mean To The Nature Of Reality?”

Drones Are Getting A Lot Smarter

[DJI], everyone’s favorite — but very expensive — drone company just announced the Manifold — an extremely capable high performance embedded computer for the future of aerial platforms. And guess what? It runs Ubuntu.

The unit features a quad-core ARM Cortex A-15 processor with an NVIDIA Keplar-based GPU and runs Canonical’s Ubuntu OS with support for CUDA, OpenCV and ROS. The best part is it is compatible with third-party sensors allowing developers to really expand a drone’s toolkit. The benefit of having such a powerful computer on board means you can collect and analyze data in one shot, rather than relaying the raw output down to your control hub.

And because of the added processing power and the zippy GPU, drones using this device will have new artificial intelligence applications available, like machine-learning and computer vision — Yeah, drones are going to be able to recognize and track people; it’s only a matter of time.

We wonder what this will mean for FAA regulations…