Ice, Ice, Radio Uses FPGA

Building a software defined radio (SDR) involves many trades offs. But one of the most fundamental is should you use an FPGA or a CPU to do the processing. Of course, if you are piping data to a PC, the answer is probably a CPU. But if you are doing the whole system, it is a vexing choice. The FPGA can handle lots of data all at one time but is somewhat more difficult to develop and modify. CPUs using software are flexible–especially for coding user interfaces, networking connections, and the like) but don’t always have enough horsepower to cope with signal processing tasks (and, yes, it depends on the CPU).

[Eric Brombaugh] sidestepped that trade off. He used a board with both an ARM processor and an ICE FPGA at the heart of his SDR design. He uses three custom boards: one is the CPU/FPGA board, another is a 10-bit converter that can sample at 40 MSPS (sufficient to decode to 20 MHz), and an I2S DAC to produce audio. Each board has its own page linked from the main project.

Continue reading “Ice, Ice, Radio Uses FPGA”

Paper Toy Can Save Lives

Although there is a lot of discussion about health care problems in big countries like the United States, we often don’t realize that this is a “first world” problem. In many places, obtaining health care of any kind can be a major problem. In places where water and electricity are scarce, a lot of modern medical technology is virtually unobtainable. A team from Standford recently developed a cheap, easily made centrifuge using little more than paper, scrap material like wood or PVC pipe, and string.

A centrifuge is a device that spins samples to separate them and–to be effective–they need to spin pretty fast. Go to any medical lab in a developed country and you’ll find at least one. It will be large, heavy, expensive, and it will require electricity. Some have tried using hand-operated centrifuges using mechanisms like an egg beater or a salad spinner, but these don’t really move fast enough to work well. At the least, it takes a very long time to get results with a slow centrifuge.

[M. Saad Bhamla] and his colleagues at Stanford started brainstorming on this problem. They thought about toys that rotate, including a yo-yo. Turns out, those don’t spin all that fast, either. Then they considered a whirligig. We had forgotten what those are, but it is the real name for a toy that has a spinning disk and (usually) a string. When you pull on the string, the disk spins and the more you pull, the faster the disk spins. These actually have an ancient origin appearing in medieval tapestries and almost 2,500 years ago in China.

[Bhamla] found that how the toy worked was poorly understood (from a scientific standpoint)  and took pictures of one in operation with a high-speed camera. The team was able to create the “paperfuge”, a human-powered centrifuge that would spin at 125,000 RPM, enough to separate plasma from blood in under two minutes and isolate malaria parasites in 15. Some versions of the device could cost as little as twenty cents and don’t require anything more exotic than paper and string. You can see a video about the paperfuge, below.

Continue reading “Paper Toy Can Save Lives”

Newton’s Cradle For Those Too Lazy To Procrastinate

Desk toys are perfect for when you don’t want to work. There’s a particularly old desk toy called the Newton’s cradle. If you don’t know the name, you’d still recognize the toy. It is some ball bearings suspended in midair on strings. If you pull back, say, two balls and let them swing to impact the other balls, the same number of balls on the other side will fly out. When they return, the same number will move on the other side and this repeats until friction wears it all down.

We think [JimRD] might be carried away on procrastination. You see, he not only has a Newton’s cradle, he has automated it with an Arduino. According to [Jim], this is his third attempt at doing so. You can see the current incarnation in the video, below.

Continue reading “Newton’s Cradle For Those Too Lazy To Procrastinate”

The Impressive Z80 Computer With The Unfortunate Name

We’ve seen a lot of retro builds around the Z80. Not many are as neatly done or as well-documented as [dekeNukem’s] FAP80 project. Before you rush to the comments to make the obvious joke, we’ll tell you that everyone has already made up their own variation of the same joke. We’ll also tell you the name is a cross between an old design from [Steve Ciarcia] called the ZAP80 and a reference to the FPGA used in this device.

[dekeNukem] says his goal was to create a Z80 computer without all the baggage of using period-correct support chips. You can argue about the relative merits of that approach versus a more purist build, but the FAP80 has a 5 slot backplane, VGA output, a PS/2 keyboard port and more. You can see one of many videos showing the machine below.

Continue reading “The Impressive Z80 Computer With The Unfortunate Name”

Lego Boosts Their Robotic Offering

Kids often have their first exposure to robots in school using Lego Mindstorm kits. Now Lego is rolling out Boost — a robotic kit targeting all Lego builders from 7 years old and up. The kit is scheduled to be on the market later this year (it appeared at the recent CES) and will sell for about $160.

[The Brothers Brick] had a chance to try the kit out at CES (see the video below) and you might find their review interesting. The kit provides parts and instructions to build five different models: a cat, a robot, a guitar, a 3D printer, and a tracked vehicle. You can check out the official page, too.

Continue reading “Lego Boosts Their Robotic Offering”

Voice At 700 Bits Per Second

All other things being equal, signals with wider bandwidth can carry more information. Sometimes that information is data, but sometimes it is frequency. AM radio stations (traditionally) used about 30 kHz of bandwidth, while FM stations consume nearly 200 kHz. Analog video signals used to take up even more space. However, your brain is a great signal processor. To understand speech, you don’t need very high fidelity reproduction.

Radio operators have made use of that fact for years. Traditional shortwave broadcasts eat up about 10kHz of bandwidth, but by stripping off the carrier and one sideband, you can squeeze the voice into about 3 kHz and it still is intelligible. Typical voice codecs (that is, something that converts speech to digital data and back) use anywhere from about 6 kbps to 64 kbps.

[David Rowe] wants to change that. He’s working on a codec for ham radio use that can compress voice to 700 bits per second. He is trying to keep the sound quality similar to his existing 1,300 bit per second codec and you can hear sound samples from both in his post. You’ll notice the voices sound almost like old-fashioned speech synthesis, but it is intelligible.

Continue reading “Voice At 700 Bits Per Second”

Multiextrusion 3D Printing And OpenSCAD

In a recent posting called Liar’s 3D Printing, I showed you how you can print with multiple filament colors even if your printer only has one extruder and hot end. It isn’t easy, though, and a lot of models you’ll find on sites like Thingiverse are way too complicated to give good results. An object with 800 layers, each with two colors is going to take a lot of filament changes and only the most patient among us will tolerate that.

What that means is you are likely to want to make your own models. The question is, how? The answer is, of course, lots of different ways. I’m going to cover how I did the two models I showed last time using OpenSCAD (seen below). The software is actually really well suited for this hack, making it easy for me to create a framework of several models to represent the different colors.

About OpenSCAD

I’m not going to say much about OpenSCAD. It is less a CAD package and more a programming language that lets you create shapes. We’ve covered it before although it changes from time to time so you might be better off reading the official manual.

The general idea, though, is you use modules to create primitives. You can rotate them and translate them (that is, move them). You can also join them (union) and take the difference of them (difference). That last is especially important. For example, look at the callsign plate above. Forget the text for now. See the two holes? Here’s the OpenSCAD that creates that shape:

 difference() {
 cube([basew,basel,basez]);
 // cut holes
 translate([4,basel/2,0]) cylinder(r=2,h=basez+2);
 translate([basew-4,basel/2,0]) cylinder(r=2,h= basez+2);
 }

The cube “call” creates the base. The cylinders are the holes and the difference “call” is what makes them holes instead of solid cylinders (the first thing is the solid and everything after is taken away). One key point: instead of numbers, the whole thing uses (mostly) variables. That means if you change the size of something, everything will adjust accordingly if you wrote the script well. Let’s look at applying these techniques for multiple colors.

Continue reading “Multiextrusion 3D Printing And OpenSCAD”