Implementing 3D Graphics Basics

Plenty of our childhoods had at least one math teacher who made the (ultimately erroneous) claim that we needed to learn to do math because we wouldn’t always have a calculator in our pockets. While the reasoning isn’t particularly sound anymore, knowing how to do math from first principles is still a good idea in general. Similarly, most of us have hugely powerful graphics cards with computing power that PC users decades ago could only dream of, but [NCOT Technology] still decided to take up this project where he does the math that shows the fundamentals of how 3D computer graphics are generated.

The best place to start is at the beginning, so the video demonstrates a simple cube wireframe drawn by connecting eight points together with lines. This is simple enough, but modern 3D graphics are really triangles stitched together to make essentially every shape we see on the screen. For [NCOT Technology]’s software, he’s using the Utah Teapot, essentially the “hello world” of 3D graphics programming. The first step is drawing all of the triangles to make the teapot wireframe. Then the triangles are made opaque, which is a step in the right direction but isn’t quite complete. The next steps to make it look more like a teapot are to hide the back faces of the triangles, figure out which of them face the viewer at any given moment, and then make sure that all of these triangles are drawn in the correct orientation.

Rendering a teapot is one thing, but to get to something more modern-looking like a first-person shooter, he also demonstrates all the matrix math that allows the player to move around an object. Technically, the object moves around the viewer, but the end effect is one that eventually makes it so we can play our favorite games, from DOOM to DOOM Eternal. He notes that his code isn’t perfect, but he did it from the ground up and didn’t use anything to build it other than his computer and his own brain, and now understands 3D graphics on a much deeper level than simply using an engine or API would generally allow for. The 3D world can also be explored through the magic of Excel.

Continue reading “Implementing 3D Graphics Basics”

DIY Passive Radar System Verifies ADS-B Transmissions

Like most waves in the electromagnetic spectrum, radio waves tend to bounce off of various objects. This can be frustrating to anyone trying to use something like a GMRS or LoRa radio in a dense city, for example, but these reflections can also be exploited for productive use as well, most famously by radar. Radar has plenty of applications such as weather forecasting and various military uses. With some software-defined radio tools, it’s also possible to use radar for tracking aircraft in real-time at home like this DIY radar system.

Unlike active radar systems which use a specific radio source to look for reflections, this system is a passive radar system that uses radio waves already present in the environment to track objects. A reference antenna is used to listen to the target frequency, and in this installation, a nine-element Yagi antenna is configured to listen for reflections. The radio waves that each antenna hears are sent through a computer program that compares the two to identify the reflections of the reference radio signal heard by the Yagi.

Even though a system like this doesn’t include any high-powered active elements, it still takes a considerable chunk of computing resources and some skill to identify the data presented by the software. [Nathan] aka [30hours] gives a fairly thorough overview of the system which can even recognize helicopters from other types of aircraft, and also uses the ADS-B monitoring system as a sanity check. Radar can be used to monitor other vehicles as well, like this 24 GHz radar module found in some modern passenger vehicles.

Continue reading “DIY Passive Radar System Verifies ADS-B Transmissions”

Upgrade Puts A Lot Of Zeroes On Kit-Built Frequency Counter

If there’s anything more viscerally pleasing than seeing an eight-digit instrument showing a measurement with all zeroes after the decimal point, we’re not sure what it could. Maybe rolling the odometer over to another 100,000 milestone?

Regardless, getting to such a desirable degree of accuracy isn’t always easy, especially when the instrument in question is a handheld frequency counter that was built from a kit 23 years ago. That’s the target of [Petteri Aimonen]’s accuracy upgrade, specifically by the addition of a custom frequency reference module. The instrument is an ELV FC-500, which for such an old design looks surprisingly modern. Its Achille’s heel in terms of accuracy is the plain crystal oscillator it uses as a frequency standard, which has no temperature compensation and thus drifts by about 0.2 ppm per degree.

For a mains-powered lab instrument, the obvious solution would be an oven-controlled crystal oscillator. Those are prohibitive in terms of space and power for a handheld instrument, so instead a VCTCXO — voltage-controlled, temperature-compensated crystal oscillator — was selected for better stability. Unfortunately, no such oscillators matching the original 4.096-MHz crystal spec could be found; luckily, a 16.384-MHz unit was available for less than €20. All that was required was a couple of flip-flops to divide the signal by four and a bit of a bodge to replace the original frequency standard. A trimmer allows for the initial calibration — the “VC” part — and the tiny PCB tucks inside the case near the battery compartment.

We enjoyed the simplicity of this upgrade — almost as much as we enjoyed seeing all those zeroes. When you know, you know.

the introduction page of "a summary of electronics"

This Electronics Overview Guides New Hackers In The Right Direction

Many of us don’t have a formal background to build off when taking on new hacks, we have had to teach ourselves complex concepts and learn by doing (or more commonly, by failing). To help new hackers get off the ground a bit easier, [PhilosopherFar3847] created a fantastic starter’s resource on electronics, The Electroagenda Summary of Electronics.

[PhilosipherFar3847] created Electroagenda with the goal of helping amateurs, students, and professionals alike better understand electronics. The Summary of Electronics, one of the more recent additions to the website, is split across 26 sections each breaking down a different electrical concept into easy-to-understand facts with no math or unfamiliar jargon. The summary covers a broad range of electronics, from simple passive components and their uses, up to the basic operating concepts of a microcontroller.

While this resource on its own will not be enough to get a fledgling hacker started making cool circuits, it does provide a very important skill; knowing how to ask the right questions. This base of knowledge provides enough context and keywords to better articulate a challenge and Google-fu a bit more effectively.

Are you the aforementioned fledgling hacker, looking to learn more? check out these nifty logic gates you can plug into each other to build a basic circuit.

[via r/diyelectronics]

Reliable Frequency Reference From GPS

GPS technology is a marvel of the modern world. Not only can we reliably locate positions on the planet with remarkable accuracy and relatively inexpensive hardware, but plenty of non-location-based features of the technology are available for other uses as well. GPS can be used for things like time servers, since the satellites require precise timing in order to triangulate a position, and as a result they can also be used for things like this incredibly accurate frequency reference.

This project is what’s known as a GPSDO, or GPS-disciplined oscillator. Typically they use a normal oscillator, like a crystal, and improve its accuracy by pairing it with the timing signal from a GPS satellite. This one is a standalone model built by [Szabolcs Szigeti] who based the build around an STM32 board. The goal of the project was purely educational, as GPSDOs of various types are widely available, but [Szabolcs] was able to build exactly what he wanted into this one including a custom power supply, simple standalone UI, and no distribution amplifier.

The build goes into a good bit of detail on the design and operation of the device, and all of the PCB schematics and source code are available on the projects GitHub page if you want to build your own. There are plenty of other projects out there that make use of GPS-based time for its high accuracy, too, like this one which ties a GPS time standard directly to a Raspberry Pi.

Bonanza Of Keyswitch Datasheets Fills Our Decks With Clack

Mechanical keyboards use switches of a few different types. But even those types include myriad variations. How’s a hacker to know just exactly what equipment is out there?

For example, if you grab a fellow cube-farmer’s mechanical keyboard (possibly because they clacked on their Cherry Blue’s just one too many times) and angrily rip off a few keycaps to show you’re serious, what do you see? In most cases you expect to see the familiar color and stem shape of a Cherry MX switch or one of its various clones. But you may find a square box around it like a Kailh Box switch. Or the entire stem is a box (with no +) like a Matias switch. Or sometimes it looks like a little pig snout, making it a Kailh Choc.

There is a fairly wide variety of companies which make key switches suitable for use in a keyboard. Many hew to the electrical and mechanical standards implicitly created by the dominant Cherry GmbH’s common switches but not all. So if you’re designing a PCB for such a keyboard and want to use odd switches, you need to check out the Keyboardio keyswitch_documentation repo!

The keyswitch_documentation repo is an absolute treasure trove of hard to find keyswitch datasheets. Finding official information on Cherry MX switches isn’t too hard (keyswitch_documentation has 22 data sheets for MX series switches, and four for ML). But those Kailh Choc’s? Good luck (here it is in keyswitch_documentation). Did you know Tai-Hao made Matias-esque switches as well as weird rubber keycaps? Well they do, and here’s the datasheet.

We’re keeping this one handy until the next time we need data sheets for weird switches. Make sure to send a note if you find something interesting in here that’s worth noting!

Which Wireless Is Right Wireless?

Back in the early days of Arduino proliferation (and before you ask, yes we realize there was a time before that too), wireless was a strange and foreign beast. IR communication was definitely a thing. And if you had the funds there was this cool technology called ZigBee that was available, often in funny blue house-shaped XBee boards. With even more funds and a stomach for AT commands you could even bolt on a 2G cell radio for unlimited range. WiFi existed too, but connecting it to a hobbyist ecosystem of boards was a little hairier (though maybe not for our readership).

But as cell phones pushed demand for low power wireless forward and the progression of what would become the Internet of marking Terms (the IoT, of course) began, a proliferation of options appeared for wireless communication. Earlier this week we came across a great primer on some of the major wireless technologies which was put together by Digikey earlier in the year. Let’s not bury the lede. This table is the crux of the piece:

There are some neat entries here that are a little less common (and our old friend, the oft-maligned and never market-penetrating ZigBee). It’s actually even missing some entries. Let’s break it down:

  • Extremely short range: Just NFC. Very useful for transferring small amount of sensitive information slowly, or things with high location-relevance (like between phones that are touching).
  • Short range: BLE, Zigbee, Z-Wave, etc. Handy for so-called Personal Area Networks and home-scale systems.
  • Medium/long range: Wifi, Bluetooth, Zigbee, Z-Wave, LoRaWAN: Sometimes stretching for a kilometer or more in open spaces. Useful for everything from emitting tweets to stitching together a mesh network across a forrest, as long as there are enough nodes. Some of these are also useful at shorter range.
  • Very Long range/rangeless: Sigfox, NB-IoT, LTE Category-0. Connect anywhere, usually with some sort of subscription for network access. Rangeless in the sense that range is so long you use infrastructure instead of hooking a radio up to a Raspberry Pi under your desk. Though LoRa can be a fun exception to that.

You’re unlikely to go from zero to custom wireless solution without getting down into the mud with the available dev boards for a few different common protocols, but which ones? The landscape has changed so rapidly over the years, it’s easy to get stuck in one comfortable technology and miss the appearance of the next big thing (like how LoRaWAN is becoming new cool kid these days). This guide is a good overview to help catch you up and help decide which dev kits are worth a further look. But of course we still want to hear from you below about your favorite wireless gems — past, present, and future — that didn’t make it into the list (we’re looking at you 433 MHz).