Quantum Computing And The End Of Encryption

Quantum computers stand a good chance of changing the face computing, and that goes double for encryption. For encryption methods that rely on the fact that brute-forcing the key takes too long with classical computers, quantum computing seems like its logical nemesis.

For instance, the mathematical problem that lies at the heart of RSA and other public-key encryption schemes is factoring a product of two prime numbers. Searching for the right pair using classical methods takes approximately forever, but Shor’s algorithm can be used on a suitable quantum computer to do the required factorization of integers in almost no time.

When quantum computers become capable enough, the threat to a lot of our encrypted communication is a real one. If one can no longer rely on simply making the brute-forcing of a decryption computationally heavy, all of today’s public-key encryption algorithms are essentially useless. This is the doomsday scenario, but how close are we to this actually happening, and what can be done?

Continue reading “Quantum Computing And The End Of Encryption”

Xilinx Makes MIPI CSI And DSI Controller IP Blocks Free To Use With Vivado

If you want to use a display or camera with an FPGA, you will often end up with a MIPI-based solution. As of the Xilinx Vivado 2020.1 release, the MIPI DSI (display serial interface) and CSI (camera serial interface) IP blocks are now bundled with the IDE to be used freely with Xilinx FPGAs.

The Xilinx MIPI CSI2 receiver block implements the CSI-2 v1.1 specification, which although a bit older is essentially the same CSI implementation as on the Raspberry Pi boards. This means that it would allow one to use this IP block on an FPGA with many common CSI camera modules out there. The IP block offers a standard AXI4 interface for connecting up to the rest of a design.

Similarly, the Xilinx MIPI DSI transmitter block implements DSI v1.3 specification. This offers a maximum data rate of 1.5 Gbps, with an AXI4-lite interface to communicate with the rest of the design. Both IP blocks are subject to the Core license agreement, which doesn’t appear to preclude it from being used in a specific fashion, whether commercial or personal.

This is not the only way to use MIPI devices with an FPGA, of course. Take for example [Daveshah]’s CSRIx project on Github.

Header image: Kwapix / CC BY-SA 4.0

3D Printing Nuclear Reactors For Fun And Profit

Over the past decades, additive manufacturing (AM, also known as 3D printing) has become increasingly common in manufacturing processes. While immensely helpful in the prototyping of new products by allowing for rapid turn-around times between design and testing, these days additive manufacturing is used more and more often in the production of everything from small production runs of custom enclosures to hard to machine components for rocket engines.

The obvious advantage of additive manufacturing is that they use generic equipment and common materials as input, without requiring expensive molds as in the case of injection molding, or extensive, wasteful machining of raw materials on a lathe, mill, and similar equipment. All of the manufacturing gets reduced to a 3D model as input, one or more input materials, and the actual device that converts the 3D model into a physical component with very limited waste.

In the nuclear power industry, these benefits haven’t gone unnoticed, which has led to 3D printed parts being developed for everything from keeping existing plants running to streamlining spent fuel reprocessing and even the printing of entire nuclear reactors.

Continue reading “3D Printing Nuclear Reactors For Fun And Profit”

A Look Behind The Canvas Of The “60 Billion Lights” Project

In May of this year, [Erich Styger] shows his project called “60 Billion Lights” off to the world.  Now he has published an update on the making of this impressive work of art. As a quick recap, “60 Billion Lights” is a canvas art piece, which has 60 dual shaft stepper motors integrated into it. Each stepper motor has forty 24-bit RGB LEDs, making for a total of 60 billion position and light combinations on the entire canvas.

With the dual shaft stepper motors, one can control the position of laser-cut acrylic rods inside each of the forty depressions that make up a unit. Each unit has its WS2812B LEDs positioned around the inside edge.

As the embedded video (after the break) shows, it can be used to create a wide variety of effects. The whole of it is driven by 15 controller boards that run FreeRTOS on an NXP LPC845 (Cortex-M0+), connected via RS-485.

In the ‘Making Of’ video (embedded after the break) and article, more details are shown of the individual components, including the dual shaft stepper motors, stepper motor PCBs, the LED ring PCBs, and countless images of the construction, painting and assembly.

If the original article gave one the impression that this was an easy project, it is this behind the scenes look that gives one a good impression of the full scale. From the countless PCBs, controller boards, wiring, programming to the assembly and testing. Not to mention the painting of the canvas itself, which is an original work.
Continue reading “A Look Behind The Canvas Of The “60 Billion Lights” Project”

Lattice Semiconductor Targets Bitstream Reverse Engineering In Latest Propel SDK License

The topic of reverse engineering is highly contentious at best when it comes to software and hardware development. Ever since the configuration protocol (bitstream) for Lattice Semiconductor’s iCE40 FPGAs was published in 2015 through reverse engineering efforts, there has been a silent war between proponents of open bitstream protocols and FPGA manufacturers, with the Lattice ECP5’s bitstream format having been largely reverse-engineered at this point.

Update: About eight hours after this article was published, Lattice Semiconductor issued a statement retracting the EULA language that banned bitstream reverse engineering. Please check out Hackaday’s article about this reversal.

Most recently, it appears that Lattice has fired a fresh shot across the bow of the open source projects. A recently discovered addition to the Propel SDK, which contains tools to program and debug Lattice devices, specifically references bitstream reverse engineering. When logged in with an account on the company’s website the user must agree to the Lattice Propel License Agreement for Lattice Propel 1.0 prior to download. That document includes the following language:

In particular, no right is granted hereunder […] (3) for reverse engineering a bitstream format or other signaling protocol of any Lattice Semiconductor Corporation programmable logic device.

Continue reading “Lattice Semiconductor Targets Bitstream Reverse Engineering In Latest Propel SDK License”

Turning A MicroKORG Into A MicroKORG S With This Speaker Mod

When [Michael Wessel] bought his MicroKORG synthesizer/vocoder, he felt less than amused when two years later the MicroKORG S was released, with the ‘S’ standing for ‘sound’, apparently, for the 2+1 speaker system that was added to it. Undeterred, [Michael] figured out that both synthesizers are similar enough that one could likely add a similar speaker system to the original MicroKORG.

The similarities between the two products become apparent when one compares the original with its successor, with the latter seemingly mostly adding said speakers and more presets, along with a snazzy new exterior. (Although the 1970s styling of the original may have more fans.)  As the embedded video shows, this mod is fairly clean.

At the core of this mod is a PAM8403-based class D amplifier board. The PAM8403 is a 3 W audio amplifier, originally produced by Power Analog Microelectronics (now Diodes). While not an amazing amplifier, it lends itself well for battery-powered applications like the MicroKORG. Rounding out the build is a 7805 linear regulator to get 5 V for the PAM8403, a few filter capacitors, a switch to turn the speakers on/off, and of course the speakers.

Although there’s quite a bit of space in the enclosure, most speakers tend to be large enough that this can be a bit of a squeeze. [Michael] found some low-profile 20 W full-range speakers that seem to work well for this purpose. To finish wiring this up, all it takes is a hole saw and a way to get the audio output from the MicroKORG.

In this mod, [Michael] opted to get the audio from the output jack on the back, but for a cleaner result it probably could be wired straight into the on-board header.

Continue reading “Turning A MicroKORG Into A MicroKORG S With This Speaker Mod”

Adding WiFi To Black Magic For Wireless GDB Action

[Thoquz] wrote to us about an interesting GitHub project by [Valmantas Palikša] involving the porting of the Black Magic firmware to ESP8266. For those who are unaware, Black Magic Probe is firmware along with a range of official and third-party boards that targets the debugging of Cortex-M and Cortex-A MCUs and SoCs.

With this blackmagic-espidf project, one can use any ESP8266 board that has at least 2 MB of Flash program storage, though 1 MB should be possible if OTA updated are disabled. After flashing the firmware to the ESP8266 board, the GDB server can be reached on TCP port 2022 and UDP 2023, with a serial port available via TCP/23, UDP2323, or via the physical TX0/RX0 pins on the ESP8266.

The target board to be debugged  is hooked up by default to GPIO0 (SWDIO) and GPIO2 (SWCLK) for Serial Wire Debugging, though JTAG is also said to be supported. If set up properly, next one should be able to pop into a fresh remote GDB session:

gdb connection

If you don’t want the WiFi, you can buy a wired one, or just roll your own from any STM32 board that you’ve got kicking around.