The rust language logo being branded onto a microcontroller housing

Baremetal Rust On The Horizon

Rust Programming Langauge has grown by leaps and bounds since it was announced in 2010 by Mozilla. It has since become a very popular language owing to features such as memory safety and its ownership system. And now, news has arrived of an Embedded Devices Working Group for Rust aiming at improving support for microcontrollers.

Rust is quite similar to C++ in terms of syntax, however Rust does not allow for null or dangling pointers which makes for more reliable code in the hands of a newbie. With this new initiative, embedded development across different microcontroller architectures could see a more consistent and standardized experience which will result in code portability out of the box. The proposed improvements include IDE and CLI tools for development and setup code generation. There is also talk of RTOS implementations and protocol stack integration which would take community involvement to a whole new level.

This is something to be really excited about because Rust has the potential to be an alternative to C++ for embedded development as rust code runs with a very minimal runtime. Before Arduino many were afraid of the outcome of a simple piece of code but with rust, it would be possible to write memory-safe code without a significant performance hit. With a little community support, Rust could be a more efficient alternative. We have seen some Rust based efforts on ARM controllers and have covered the basics of Rust programming in the past if you want to get started. Good times ahead for hardware hackers.

Europe Loses Six Minutes Due To Sagging Frequency And International Politics

You might be reading this six minutes early. Assuming that the Hackaday editors have done their job, this article should have appeared in your feed right on the half-hour. We have a set schedule to keep you supplied with the tastiest of hardware hacks and news. For some of you though perhaps there has been a treat, you’ve seen it and all the other stories six minutes early.

Have you perfected time travel? Sadly not unless there’s something you’d like to send to our tips line last week, but the culprit is equally fascinating. A dispute between Serbia and Kosovo has caused the frequency of the interconnected continental European electricity grid to drift below its usual 50 Hz figure for a sustained period, and as a result all clocks that use the mains frequency as a time reference have been getting ever slower.

How Can a Continental Power Grid Dip?

Think for a minute of a modern car on a hot day. When you turn on the air conditioning you will hear a slight dip in the engine revs as it accommodates the extra load. So it is with an alternating current power grid; a simple example is a power station supplying a city. In periods such as cold nights when the demands of the city go up, the result would be that the power station needs to work harder to satisfy it, and until that happens there would be a slight dip in its line frequency. Power grids compensate for this by increasing and decreasing the available generating capacity in real time, maintaining a mean frequency such that the “grid time” of a clock controlled by it matches an atomic clock as closely as possible over time.

Screenshot of Swissgrid live frequency data

In the case of continental Europe, grids across multiple countries are connected (PDF), and the task of maintaining that mean frequency falls upon Swissgrid which currently shows a sagging 49.976 Hz frequency. The time deviation of -346 seconds puts this close to a six minute loss and clocks running on this frequency will make you late to your next appointment.

It is at this point we leave the realm of electrical engineering and enter that of international politics, normally something far removed from Hackaday’s remit. It is fair to say that the history between Serbia and Kosovo is extremely delicate, and to understand some of the context of this story you should read about the war at the end of the 1990s. After the conflict the Serbian-majority region of what is now Kosovo refused to pay the Kosovan utility for its electricity, eventually leading to the Kosovans refusing to pay for that region’s share of the power received by Kosovo from Serbia. The resulting imbalance between demand and supply was enough to drag the supply frequency down across the whole continent, and though a short-term agreement has been reached the problem still remains on the grid.

Clocks and Mains Frequency

So if you are a continental European and you find yourself six minutes behind your British or American friends, don’t worry. We know that among our readers are people with significant experience in the power generation world, perhaps some of you would like to use your six minutes to give us a bit of insight in the comments. Meanwhile here at Hackaday we maintain an interest in the mechanics of power distribution even if some might say that it is Not A Hack. We’ve taken a look at utility poles, and examined how power grids are synchronised.

As for those slow clocks, the use of mains frequency to keep accurate time is quite brilliant and has been used reliably for decades. Tightly regulating grid frequency means that any clock plugged into an outlet can have the same dead-on accuracy for the cost of a few diodes. These clocks count the zero crossing of the alternating current. There may be moment to moment drifts but the power utility injects or removes cycles over the long term so the sum of crossings is dead on over the course of the day. It’s an interesting phenomenon to experiment with and that’s why we see it in microcontroller projects from time to time.

Google Ups The Ante In Quantum Computing

At the American Physical Society conference in early March, Google announced their Bristlecone chip was in testing. This is their latest quantum computer chip which ups the game from 9 qubits in their previous test chip to 72 — quite the leap. This also trounces IBM and Intel who have 50- and 49-qubit devices. You can read more technical details on the Google Research Blog.

It turns out that just the number of qubits isn’t the entire problem, though. Having qubits that last longer is important and low-noise qubits help because the higher the noise figure, the more likely you will need redundant qubits to get a reliable answer. That’s fine, but it does leave fewer qubits for working your problem.

Continue reading “Google Ups The Ante In Quantum Computing”

Autodesk Introduces Parametric Part Generation

The hardest part of any PCB design is adding parts and components. You shouldn’t use random part libraries, and creating your own part libraries is just a pain. Why have we endured this pain for so long, especially considering that most components follow a standard? Add in the fact that 3D modeling and rendering a board in a mechanical CAD tool is now a thing, making creating your own part libraries even more involved.

To solve this problem, Autodesk has introduced library.io, a tool to parametrically generate component footprints for Eagle and 3D models for Fusion360. Given that most parts follow a standard — QFP, TO-, DFN, or SOT23 — this is now the easiest way to create a new part in Eagle with its own 3D model that allows you to bring it into mechanical CAD tools.

An overview parametric parts generation is written up on the Autodesk forums, and covers what is possible with this new tool. There are actually two distinct versions, one is a web-based app that allows you to create packages and footprints parametrically in your browser and export them as a library. The other version of the tool is integrated with Eagle and allows you to create a new component parametrically from within Eagle.

This is a far cry from the standard method of creating new footprints. Instead of toiling over a datasheet and dropping correctly sized pads onto a grid, creating a new parametric footprint is as easy as copying a few numbers. In addition to the new parametric design feature, there’s a new tool in Eagle that does away with placing and naming pins for symbols. Now you can simply cut and paste a list of pins from the datasheet.

It should be noted that everything created with the library.io tool can be downloaded and used offline. Combine that with the recent news that KiCad can now ingest Eagle board and schematic files, and you have a way to create parametric footprints in everyone’s favorite Open Source PCB tool as well.

The Pontoon Bridge Being Floated As An NYC Transit Fix

New York City’s L train carries about 400,000 passengers a day, linking Manhattan and Brooklyn and bringing passengers along 14th Street, under the East River, and through the neighborhoods of Williamsburg, Bushwick, Ridgewood, Brownsville, and Canarsie. About 225,000 of these passengers pass through the Canarsie Tunnel, a two-tube cast iron rail tunnel built below the East River between Manhattan and Brooklyn in 1924. Like many other New York City road and subway tunnels, the Canarsie Tunnel was badly damaged when Hurricane Sandy’s storm surge inundated the tubes with million of gallons of salt water. Six years later, the impending closure of the tunnel is motivating New Yorkers to develop their own ambitious infrastructure ideas.

Continue reading “The Pontoon Bridge Being Floated As An NYC Transit Fix”

Microchip Acquires Microsemi For $8.35B

Microchip has acquired Microsemi for $8.35 Billion dollars. Rumors of this acquisition were floating around earlier this week, but now the deal is done.

This acquisition is the latest in a years-long process of consolidation in the silicon industry. Previously, Broadcom attempted a hostile takeover of Qualcomm for One… Hundred… Billion dollarsLattice would have been bought if the deal wasn’t shut down for national security concerns. Of course, Microchip bought Atmel in a deal likened to the fall of Constantinople, NXP and Freescale merged, Intel bought Altera, Linear and Analog are one, and On Semiconductor acquired Fairchild.

With the acquisition of Microsemi, Microchip will be looking to add a few interesting components and capabilities to their portfolio. In contrast to Microchip’s portfolio, you won’t find many Microsemi parts on a hacker’s workbench; they’re dealing with stuff like optical networking and avionics. Closer to home, they have a large line of FPGAs and some nice frequency synthesizers.

Of course, there are slightly cooler components in Microsemi’s portfolio. If you’ve ever wanted a rad-tolerant telemetry controller for reaction wheels and thruster assemblies, they’ve got your back. Just connect that to Microchip’s rad-hard Arduino and you have a complete satellite built from Microchip parts.

Memcached Servers Abused For DDoS Attacks

Cloudflare announced recently that they are seeing an increase in amplification attacks using memcached servers, and that this exploit has the potential to be a big problem because memcached is capable of amplifying an attack significantly. This takes DDoS attacks to a new level, but the good news is that the problem is confined to a few thousand misconfigured servers, and the solution is to put the servers behind a tighter firewall and to disable UDP. What’s interesting is how the fundamental workings of the Internet are exploited to create and direct a massive amount of traffic.

We start with a botnet. This is when a bunch of Internet-connected devices are compromised and controlled by a malicious user. This could be a set of specific brand of web camera or printer or computer with unsecured firmware. Once the device is compromised, the malicious user can control the botnet and have it execute code. This code could mine cryptocurrency, upload sensitive data, or create a lot of web traffic directed at a particular server, flooding it with requests and creating a distributed denial of service (DDoS) attack that takes down the server. Since the server can’t distinguish regular traffic from malicious traffic, it can’t filter it out and becomes unresponsive.

This DDoS attack is limited to the size of the botnet’s bandwidth, though. If all the web cameras in the botnet are pounding a server as fast as they can, the botnet has reached its max. The next trick is called an amplification attack, and it exploits UDP. UDP (as opposed to TCP) is like the early post office; you send mail and hope it gets there, and if it doesn’t then oh well. There’s no handshaking between communicating computers. When a device sends a UDP packet to a server, it includes the return address so that the server can send the response back. If the device sends a carefully crafted fake request with a different return address, then the server will send the response to that spoofed return address.

So if the web camera sends a request to Server A and the response is sent to Server B, then Server A is unintentionally attacking Server B. If the request is the same size as the response, then there’s no benefit to this attack. If the request is smaller than the response, and Server A sends Server B a bunch of unrequested data for every request from the camera, then you have a successful amplification attack. In the case of memcached, traffic can be amplified by more than 50,000 times, meaning that a small botnet can have a huge effect.

Memcached is a memory caching system whose primary use is to help large websites by caching data that would otherwise be stored in a database or API, so it really shouldn’t be publicly accessible anyway.  And the solution is to turn off public-facing memcached over UDP, but the larger solution is to think about what things you are making available to the Internet, and how they can be used maliciously.