Simulating A Speaker

Speakers are one of those components that are simple to use, but difficult to simulate. Most of us have used a simple resistor to do the job. But a speaker’s response is much more complex, and while that might be enough for a simple simulation the fidelity is nowhere near close. [Sourav Gupta] recently shared his technique for modeling speakers and it looks as though it does a credible job.

[Sourav] shows how a simple resistor and an inductor can do the job, but for better fidelity you need more components to model some mechanical effects. The final model has six components which keeps it easy enough to construct but the problem lies in finding the values of those six components. [Sourav] shows how to use the Thiele-Small parameters to solve that problem. Speaker makers provide these as a guide to low frequency performance, and they capture things such as Q, mass, displacement, and other factors that affect the model.

Continue reading “Simulating A Speaker”

Little Emulators Do 8 Bits At A Time

Have you ever wondered how many, for example, Commodore 64s it would take to equal the processing power in your current PC? This site might not really answer that, but it does show that your machine can easily duplicate all the old 8-bit computers from Commodore, Sinclair, Acorn, and others. By our count, there are 86 emulators on the page, although many of those are a host machine running a particular application such as Forth or Digger.

If you are in the US, you might not recognize all the references to the KC85, this was an East German computer based on a Z80 clone. Very few of these were apparently available for personal purchase, but they were very popular in schools and industry. These were made by Robotron, and there are some other Robotron models on the page, too.

Continue reading “Little Emulators Do 8 Bits At A Time”

Linux As A Library: Unikernels Are Coming

If you think about it, an operating system kernel is really just a very powerful shared library that offers services to many programs. Of course, it is a very powerful library, but still — its main purpose is to provide services to programs. Your program probably doesn’t use all of the myriad services the kernel provides. Even a typical system might not fully use all the things that are in a typical kernel. Red Hat has a new initiative to bring a technology called unikernels to the forefront. A unikernel is a single application linked with just enough of the kernel for it to execute. As you might expect, this can result in a smaller system and better security.

It can also lead to better performance. The unikernel doesn’t have to maintain devices and services that are not used. Also, the kernel and the application can run in the same privilege ring. That may seem like a security hole, but if you think about it, the only reason a regular kernel runs at a higher privilege is to protect itself from a malicious application modifying the kernel to do something bad to another application. In this case, there is no other application.

Continue reading “Linux As A Library: Unikernels Are Coming”

FPGA Testbenches Made Easier

You finally finish writing the Verilog for that amazing new DSP function that will revolutionize human society and make you rich. Does it work? Your first instinct, of course, is to blow it into your FPGA of choice and see if it works. If it does, that was a great idea. If it doesn’t, it was a terrible idea because — typically — it is hard to look inside the FPGA. That’s why you’ll typical simulate your logic on a desktop computer before you commit it to the FPGA. But that means you have to delay gratification long enough to write a testbench — a piece of hardware description language (HDL) code that exercises the function you wrote. In this post I’ll show you a small piece of software that can read your Verilog module and automatically create most of a testbench for you. The code originally came from GitHub, but I wanted to make some changes to it, so I forked it and I’ll tell you about the changes I made. This isn’t specific to a particular FPGA. Any Verilog project can use the tool to generate a simple starter testbench.

Writing a testbench isn’t that hard. You usually use the same language you wrote the original code in but since it won’t reside in silicon, you can do things in the simulator that you can’t get away with in code that you’ll synthesize. However, it is a bit painful to have to always write more or less the same code, especially if you have a lot of modules you want to test. But it is a good idea to test small modules before linking them together and then test them linked together, too. With this little Python script, it is very easy to generate a simple testbench and then further elaborate it. It isn’t life-changing, but it does save some time. If you want to try this out, you’ll need something to run the Python script on, of course. You also need a Verilog simulator or you can use EDA Playground to try all this out in your browser.

Continue reading “FPGA Testbenches Made Easier”

How’s A Gyro Work?

It wasn’t long ago that a gyro — or gyroscope — was an exotic piece of electronics gear. Most of us only saw them as children’s toys that would balance on your finger. That’s changed, though, thanks to microelectronics. Now your game controller, your phone, and your drone all probably use little ICs that are actually three-axis gyroscopes. Ever wonder how they work and what they do? [RCModelReviews] has a video that covers three kinds of gyros: old mechanical gyros, modern MEMS gyros, and even an exotic laser-based gyro. (YouTube, embedded below.)

Gyroscopes allow you to detect orientation by detecting linear forces on a rotating element. They are used in everything from spacecraft to submarines. The device has many origins dating back to antiquity. But the modern gyro showed up around 1800 or so. The children’s toy appeared in 1917 and is still made today.

Continue reading “How’s A Gyro Work?”

Backyard Planetarium With Magnets

If you are a Hackaday reader, you probably like space in real life, fiction, or both. A trip to a planetarium is a great treat, but what if you could have a planetarium in your backyard? [Ecasill] thought so and used a Zip Tie domes kit to create just such a thing. It takes some sewing and a projector, but there’s a problem. The dome needs to come down if there is going to be bad weather. The answer? Magnetic dowel rods.

Because the magnets are brittle, plastic dip covers them after epoxy sticks them in place. The cloth has steel bolts to adhere, too. All in, the setup cost about $2,000. That includes a projector, a mirror ball, a sound system, and all the construction.

Continue reading “Backyard Planetarium With Magnets”

What’s The Difference? Ask An Op Amp

If you’ve ever wondered why an op amp has the little plus and minus symbols on it, its because at the heart of it, the device is a differential amplifier. The problem is that — ideally, at least — it has infinite gain so it works like a comparator and that’s not what you usually want. So we put resistors around the thing to constrain it and get useful amplification out of it. [Stephen Mendes] does the analysis for you about how the standard configuration for a differential amplifier works. He assumes you know the stock formulae for the inverting and non-inverting amplifier configurations and uses superposition.

[Stephen] mentions that’s the easiest way to do it and then goes on to do it sort of how we would do it as a check. We think that’s the easier method, but maybe its a matter of preference. Either way, you get the right answer.

Continue reading “What’s The Difference? Ask An Op Amp”