The Ball Grid Array, or BGA package is no longer the exclusive preserve of large, complex chips on computer motherboards: today even simple microcontrollers are available with those little solder balls. Still, many hobbyists prefer to stay with QFP and QFN packages because they’re easier to solder. While that is a fair point, BGA packages can offer significant space savings, and are sometimes the only choice: with the ongoing chip shortage, some other package versions might simply be unavailable. Even soldering doesn’t have to be complicated: if you’re already comfortable with solder paste and reflow profiles, adding a BGA or two into the mix is pretty easy.
In this article we’ll show that working with BGA chips is not as difficult as it may seem. The focus will be on printed circuit board design: how to draw proper footprints, how to route lots of signals and what capabilities your PCB manufacturer should have. We’ll cover soldering and rework techniques in a future article, but first let’s take a look at why BGAs are used at all.
For as popular as they became during the COVID-19 lockdowns, grocery delivery services like InstaCart rely on a basic assumption to work: that customers know exactly what they want when they order. Once that hurdle is overcome, the transaction is simple — the driver accepts the job, drives to the store to pick up the order, and takes it to the customer. It requires the use of a fair amount of technology to coordinate everything, but by and large it works, and customers are generally willing to pay for the convenience.
But what if you could cut out that step where the driver goes to pick up your order? What if instead of paying someone to pick and pack your order and bring it to your front step, you just ordered up the whole store instead? That’s the idea behind Robomart, which seeks to deploy a fleet of mobile stores for when the convenience store isn’t quite convenient enough. And the way the company is choosing to roll out its service, not to mention the business model itself, may hold key lessons for other delivery automation platforms.
When Astra’s diminutive Rocket 3.3 lifted off from its pad at the Cape Canaveral Space Force Station on June 12th, everything seemed to be going well. In fact, the mission was progressing exactly to plan right up until the end — the booster’s second stage Aether engine appeared to be operating normally until it abruptly shut down roughly a minute ahead of schedule. Unfortunately, orbital mechanics are nothing if not exacting, and an engine burn that ends a minute early might as well never have happened at all.
According to the telemetry values shown on-screen during the live coverage of the launch, the booster’s upper stage topped out at a velocity of 6.573 kilometers per second, well short of the 7.8 km/s required to attain a stable low Earth orbit. While the video feed was cut as soon as it was clear something had gone wrong, the rigid physics of spaceflight means there’s little question about the sequence of events that followed. Without the necessary energy to stay in orbit, the upper stage of the rocket would have been left in a sub-orbital trajectory, eventually reentering the atmosphere and burning up a few thousand kilometers downrange from where it started.
An unusual white plume is seen from the engine as it shuts down abruptly.
Of course, it’s no secret that spaceflight is difficult. Doubly so for startup that only has a few successful flights under their belt. There’s no doubt that Astra will determine why their engine shutdown early and make whatever changes are necessary to ensure it doesn’t happen again, and if their history is any indication, they’re likely to be flying again in short order. Designed for a Defense Advanced Research Projects Agency (DARPA) competition that sought to spur the development of cheap and small rockets capable of launching payloads on short notice, Astra’s family of rockets have already demonstrated unusually high operational agility.
Astra, and the Rocket 3.3 design, will live to fly again. But what of the payload the booster was due to put into orbit? That’s a bit more complicated. This was the first of three flights that were planned to assemble a constellation of small CubeSats as part of NASA’s TROPICS mission. The space agency has already released a statement saying the mission can still achieve its scientific goals, albeit with reduced coverage, assuming the remaining satellites safely reach orbit. But should one of the next launches fail, both of which are currently scheduled to fly on Astra’s rockets, it seems unlikely the TROPICS program will be able to achieve its primary goal.
So what exactly is TROPICS, and why has NASA pinned its success on the ability for a small and relatively immature launch vehicle to make multiple flights with their hardware onboard? Let’s take a look.
With Editor-in-Chief Elliot Williams enjoying some time off, Managing Editor Tom Nardi is flying solo for this special edition of the Hackaday Podcast. Thanks to our roving reporter Jenny List, we’ll be treated to several interviews conducted live from EMF Camp — a European outdoor hacker camp the likes of which those of us in the United States can only dream of. After this special segment, Hackaday contributors Al Williams and Ryan Flowers will stop by to talk about their favorite stories from the week during what may be the longest Quick Hacks on record. There’s a few extra surprises hidden in this week’s program…but if we told you everything, it would ruin the surprise. Listen closely, you never know what (or who) you might hear.
There’s not one, but two side-channel attacks to talk about this week. Up first is Pacman, a bypass for ARM’s Pointer Authentication Code. PAC is a protection built into certain ARM Processors, where a cryptographic hash value must be set correctly when pointers are updated. If the hash is not set correctly, the program simply crashes. The idea is that most exploits use pointer manipulation to achieve code execution, and correctly setting the PAC requires an explicit instruction call. The PAC is actually indicated in the unused bits of the pointer itself. The AArch64 architecture uses 64-bit values for addressing, but the address space is much less than 64-bit, usually 53 bits or less. This leaves 11 bits for the PAC value. Keep in mind that the application doesn’t hold the keys and doesn’t calculate this value. 11 bits may not seem like enough to make this secure, but keep in mind that every failed attempt crashes the program, and every application restart regenerate the keys.
What Pacman introduces is an oracle, which is a method to gain insight on data the attacker shouldn’t be able to see. In this case, the oracle works via speculation attacks, very similar to Meltdown and Spectre. The key is to attempt a protected pointer dereference speculatively, and to then observe the change in system state as a result. What you may notice is that this requires an attack to already be running code on the target system, in order to run the PAC oracle technique. Pacman is not a Remote Code Execution flaw, nor is it useful in gaining RCE.
One more important note is that an application has to have PAC support compiled in, in order to benefit from this protection. The platform that has made wide use of PAC is MacOS, as it’s a feature baked in to their M1 processor. The attack chain would likely start with a remote execution bug in an application missing PAC support. Once a foothold is established in uprivileged userspace, Pacman would be used as part of an exploit against the kernel. See the PDF paper for all the details.
Ding, dong; the office is dead. The real office is in your head.
This is what I tell myself when working from home gets too weird, too stale, too impossible. By now, many of you know some version what I’m talking about. Our circumstances may vary wildly, but the outcome is the same: working from home is pretty awesome, but, some small, secret part of us longs for the office. Why is that?
The answer will be different for everyone. Maybe you’re a social butterfly who misses face-time and the din of familiar voices. Maybe you just appreciate the physical separation between work and home life. If you’re lucky, the choice to go to the office is yours at this point, and if not, well, we have to wonder if you’re looking for new work. It’s 2022, we’re still in a pandemic, and of course there’s this, that, and the other multi-national Dumpster fire you haven’t heard about yet. Isn’t it time we prioritized work output over office attendance when it comes to our livelihoods?
With a seemingly endless list of shortages of basic items trotted across newsfeeds on a daily basis, you’d be pardoned for not noticing any one shortage in particular. But in among the shortages of everything from eggs to fertilizers to sriracha sauce has been a growing realization that we may actually be running out of something so fundamental that it could have repercussions that will be felt across all aspects of our technological society: helium.
The degree to which helium is central to almost every aspect of daily life is hard to overstate. Helium’s unique properties, like the fact that it remains liquid at just a few degrees above absolute zero, contribute to its use in countless industrial processes. From leak detection and welding to silicon wafer production and cooling the superconducting magnets that make magnetic resonance imaging possible, helium has become entrenched in technology in a way that belies its relative scarcity.
But where does helium come from? As we’ll see, the second lightest element on the periodic table is not easy to come by, and considerable effort goes into extracting and purifying it enough for industrial use. While great strides are being made toward improved methods of extraction and the discovery of new deposits, for all practical purposes helium is a non-renewable resource for which there are no substitutes. So it pays to know a thing or two about how we get our hands on it.