Computer Algebra For Electronic Design

Don’t get me wrong. Like most people, there’s nothing I enjoy more than solving a long, involved math problem by hand. But, sometimes, a few pages of algebraic scratches on paper is just a means to an end. I find this especially true during electronic design sessions, be it circuit design or PCB layout; I just need the answer, and any time spent finding it distracts me from the larger task at hand. For me, at least, this seems to happen at least once a week, and about five years ago I decided to do something about it. I had heard of computer algebra packages, of course, but they weren’t taught as part of the undergraduate engineering curriculum when I went to school. So, I set about learning one: let the computers do the math!

The package I chose is wxMaxima, a document-based front-end to the Maxima computer-algebra system. Descended from code originally written in the late 1960s, it’s a general-purpose package supporting symbolic computation for algebra and calculus. There’s solid, mature code underneath with a modern UI veneer on top. Plus, it’s FOSS.

As I’ve progressed, I’ve found that some additional functions make the Maxima environment especially convenient for circuit design. A few are simple enough that I’d typically just re-create them as needed, so I never really got organized – there were several versions of my “library” floating around on various machines. I finally got my act together, cleaned up the most-frequently used functions, and put them into a GitHub repo.

Let’s have a look at how we can use them to take the tedium out of math for some design problems.

Continue reading “Computer Algebra For Electronic Design”

DIY X-Ray Machine Becomes CT Scanner

Once you’ve built your own X-ray machine to take 2D images of the insides of stuff, there’s really only one logical next step: building your own computed tomography (CT) scanner to get 3D reconstructions instead. That’s exactly what [Fran Piernas] has done, and documented over on hackaday.io. While the original X-ray machine build dealt with scary hardware stuff such as high voltage and ionizing radiation, this time it’s the turn of scary mathematics like inverse radon transforms.

The original build, which we wrote about in December, uses a commercial dental X-ray tube and a home-made 65 kV power supply to send X-rays through objects. Transmitted X-rays are viewed using an intensifying screen that converts the rays to visible light. The result is a 2D image similar to that we’re all familiar with.

To create a 3D reconstruction of an object, you need a number of X-ray images taken from different angles. If you’ve ever been unlucky enough to need a medical CT scan, you’ll remember staying motionless in the tunnel while the X-ray apparatus rotated around you. In this build, [Fran] rotates the object instead, using a motor that may have once been part of a microwave oven (one of those “mystery motors” we all have laying around). The required sequence of images is simply obtained by recording video of the X-ray screen while the motor rotates the object.

Continue reading “DIY X-Ray Machine Becomes CT Scanner”

The Future Circular Collider: Can It Unlock Mysteries Of The Universe?

In the early 1990s, I was lucky enough to get some time on a 60 MeV linear accelerator as part of an undergraduate lab course. Having had this experience, I can feel for the scientists at CERN who have had to make do with their current 13 TeV accelerator, which only manages energies some 200,000 times larger. So, I read with great interest when they announced the publication of the initial design concept for the Future Circular Collider (FCC), which promises collisions nearly an order of magnitude more energetic. The plan, which has been in the  works since 2014, includes three proposals for accelerators which would succeed CERN’s current big iron, the LHC.

Want to know what’s on the horizon in high-energy physics?

Continue reading “The Future Circular Collider: Can It Unlock Mysteries Of The Universe?”

What Happened To The 100,000-Hour LED Bulbs?

Early adopters of LED lighting will remember 50,000 hour or even 100,000 hour lifetime ratings printed on the box. But during a recent trip to the hardware store the longest advertised lifetime I found was 25,000 hours. Others claimed only 7,500 or 15,000 hours. And yes, these are brand-name bulbs from Cree and GE.

So, what happened to those 100,000 hour residential LED bulbs? Were the initial estimates just over-optimistic? Was it all marketing hype? Or, did we not know enough about LED aging to predict the true useful life of a bulb?

I put these questions to the test. Join me after the break for some background on the light bulb cartel from the days of incandescent bulbs (not a joke, a cartel controlled the life of your bulbs), and for the destruction of some modern LED bulbs to see why the lifetimes are clocking in a lot lower than the original wave of LED replacements.

Continue reading “What Happened To The 100,000-Hour LED Bulbs?”

Printing Christmas Cards The Hard Way

Printing customized Christmas cards is a trivial matter today: choose a photo, apply a stock background or border, add the desired text, and click a few buttons. Your colorful cards arrive in a few days. It may be the easiest way, but it’s definitely no where near as cool as the process [linotype] used this season. (Editor’s note: skip the Imgur link and go straight for the source!)

The first task was to create some large type for the year. [linotype] laser printed “2018” then used an iron to transfer toner to the end of a piece of scrap maple flooring. Carving the numbers in relief yielded ready-to-go type, since the ironing process took care of the necessary mirroring step. The wood block was then cut to “type high” (0.918 inches; who knew?) using a compositor’s table saw – with scales graduated in picas, of course.

Continue reading “Printing Christmas Cards The Hard Way”

Sly Guy Nabs Pi Spy

When one of [Christian Haschek’s] co-workers found this Raspberry Pi tucked into their network closet, he figured it was another employee’s experiment – you know how that goes. But, of course, they did the safe thing and unplugged it from the network right away. The ensuing investigation into what it was doing there is a tour de force in digital forensics and a profile of a bungling adversary.

A quick check of everyone with access to that area turned up nothing, so [Christian] shifted focus to the device itself. There were three components: a Raspberry Pi model B, a 16GB SD card, and an odd USB dongle that turned out to be an nRF52832-MDK. The powerful SoC on-board combines a Cortex M4 processor with the RF hardware for BLE, ANT, and other 2.4 GHz communications. In this case, it may have been used for sniffing WiFi or bluetooth packets.

The next step was investigating an image of the SD card, which turned out to be a resin install (now called balena). This is an IoT web service that allows you to collect data from your devices remotely via a secure VPN. Digging deeper, [Christian] found a JSON config file containing a resin username. A little googling provided the address of a nearby person with the same name – but this could just be coincidence. More investigation revealed a copyright notice on some mysterious proprietary software installed on the Pi. The copyright holder? A company part-owned by the same person. Finally, [Christian] looked into a file called resin-wifi-01 and found the SSID that was used to set up the device. Searching this SSID on wigle.net turned up – you guessed it – the same home address found from the username.

But, how did this device get there in the first place? Checking DNS and Radius logs, [Christian] found evidence that an ex-employee with a key may have been in the building when the Pi was first seen on the network. With this evidence in hand, [Christian] turned the issue over to legal, who will now have plenty of ammunition to pursue the case.

If you find the opportunity to do some Linux forensics yourself, or are simply interested in learning more about it, this intro by [Bryan Cockfield] will get you started.

Hacking Hackaday.io From CircuitPython

If you’ve ever engaged in social media, you’re familiar with the little thrill you receive when your post, tweet, or project gets a like. But, if logging in feels like too much overhead to obtain your dopamine reward, [pt’s] CircuitPython Hackaday portal may be just what you’re looking for. This project creates a stand-alone counter to display the number of “skulls” (aka likes) received by a project on hackaday.io, and of course, it’s currently counting its own.

The code is running on a SAMD51 (Cortex M4) microcontroller and serving up the skulls on 240×320 TFT display. For WiFi connectivity, the project uses an ESP-32 controlled through the usual AT command set. All the gory details of this interaction are abstracted away by a CircuitPython library, which is great because that code really isn’t something you want to write for every project. The program accesses the hackaday.io API to retrieve the number of skulls for the project, but could be easily modified to interface with any service that returned a JSON result.

We’ve been seeing a lot of CircuitPython code lately. Just in case you’re not familiar with it, CircuitPython is Adafruit’s version of Micropython, a python language targeted at embedded processors. While it sounds like something concocted purely to make old-school embedded-C programmers grumble, it’s actually powerful and convenient for embedded prototyping and development. Fueled by the speed of the latest inexpensive microcontrollers and a rapidly growing set of libraries that take the sting out of using integrated peripherals and common hacker-friendly parts, it offers a solid alternative to older embedded frameworks. There are lots of examples around if you want to get started, and we’re maintaining our own list of CircuitPython projects over on hackaday.io that you can check out.

You can see a video of the display after the break. It’s not a live stream, so you won’t see your like appear on the display, but rest assured, [pt] will!

Continue reading “Hacking Hackaday.io From CircuitPython”