An oscilloscope display is shown, showing two plots. A blue plot is shown at one level, and over multiple exposures at different places, it jumps to a higher level. Another yellow trace is shown which, at some point after the blue trace has jumped to a higher level, also jumps cleanly to a higher level. The yellow line is labeled "CFD output," while the blue line is labeled "leading edge discriminator."

A Constant-Fraction Discriminator For Sub-Nanosecond Timing

Detecting a signal pulse is usually basic electronics, but you start to find more complications when you need to time the signal’s arrival in the picoseconds domain. These include the time-walk effect: if your circuit compares the input with a set threshold, a stronger signal will cross the threshold faster than a weaker signal arriving at the same time, so stronger signals seem to arrive faster. A constant-fraction discriminator solves this by triggering at a constant fraction of the signal pulse, and [Michael Wiebusch] recently presented a hacker-friendly implementation of the design (open-access paper).

A constant-fraction discriminator splits the input signal into two components, inverts one component and attenuates it, and delays the other component by a predetermined amount. The sum of these components always crosses zero at a fixed fraction of the original pulse. Instead of checking for a voltage threshold, the processing circuitry detects this zero-crossing. Unfortunately, these circuits tend to require very fast (read “expensive”) operational amplifiers.

This is where [Michael]’s design shines: it uses only a few cheap integrated circuits and transistors, some resistors and capacitors, a length of coaxial line as a delay, and absolutely no op-amps. This circuit has remarkable precision, with a timing standard deviation of 60 picoseconds. The only downside is that the circuit has to be designed to work with a particular signal pulse length, but the basic design should be widely adaptable for different pulses.

[Michael] designed this circuit for a gamma-ray spectrometer, of which we’ve seen a few examples before. In a spectrometer, the discriminator would process signals from photomultiplier tubes or scintillators, such as we’ve covered before.

Hardware Built For Executing Python (Not Pythons)

Lots of microcontrollers will accept Python these days, with CircuitPython and MicroPython becoming ever more popular in recent years. However, there’s now a new player in town. Enter PyXL, a project to run Python directly in hardware for maximum speed.

What’s the deal with PyXL? “It’s actual Python executed in silicon,” notes the project site. “A custom toolchain compiles a .py file into CPython ByteCode, translates it to a custom assembly, and produces a binary that runs on a pipelined processor built from scratch.” Currently, there isn’t a hard silicon version of PyXL — no surprise given what it costs to make a chip from scratch. For now, it exists as logic running on a Zynq-7000 FPGA on a Arty-Z7-20 devboard. There’s an ARM CPU helping out with setup and memory tasks for now, but the Python code is executed entirely in dedicated hardware.

The headline feature of PyXL is speed. A comparison video demonstrates this with a measurement of GPIO latency. In this test, the PyXL runs at 100 MHz, achieving a round-trip latency of 480 nanoseconds. This is compared to MicroPython running on a PyBoard at 168 MHz, which achieves a much slower 15,000 nanoseconds by comparison. The project site claims PyXL can be 30x faster than MicroPython based on this result, or 50x faster when normalized for the clock speed differences.

Python has never been the most real-time of languages, but efforts like this attempt to push it this way. The aim is that it may finally be possible to write performance-critical code in Python from the outset. We’ve taken a look at Python in the embedded world before, too, albeit in very different contexts.

Continue reading “Hardware Built For Executing Python (Not Pythons)”

UK CanSat Competition, Space Ex, Lancing College, Critical Design Review

Lancing College Shares Critical Design Review For UK CanSat Entry

A group of students from Lancing College in the UK have sent in their Critical Design Review (CDR) for their entry in the UK CanSat project.

Per the competition guidelines the UK CanSat project challenges students aged 14 to 19 years of age to build a satellite which can relay telemetry data about atmospheric conditions such as could help with space exploration. The students’ primary mission is to collect temperature and pressure readings, and these students picked their secondary mission to be collection of GPS data, for use on planets where GPS infrastructure is available, such as on Earth. This CDR follows their Preliminary Design Review (PDR).

The six students in the group bring a range of relevant skills. Their satellite transmits six metrics every second: temperature, pressure, altitude reading 1, altitude reading 2, latitude, and longitude. The main processor is an Arduino Nano Every, a BMP388 sensor provides the first three metrics, and a BE880 GPS module provides the following three metrics. The RFM69HCW module provides radio transmission and reception using LoRa.

The students present their plan and progress in a Gantt chart, catalog their inventory of relevant skills, assess risks, prepare mechanical and electrical designs, breadboard the satellite circuitry and receiver wiring, design a PCB in KiCad, and develop flow charts for the software. The use of Blender for data visualization was a nice hack, as was using ChatGPT to generate an example data file for testing purposes. Mechanical details such as parachute design and composition are worked out along with a shiny finish for high visibility. The students conduct various tests to ensure the suitability of their design and then conduct an outreach program to advertise their achievements to their school community and the internet at large.

We here at Hackaday would like to wish these talented students every success with their submission and we hope you had good luck on launch day, March 4th!

The backbone of this project is the LoRa technology and if you’re interested in that we’ve covered that here at Hackaday many times before, such as in this rain gauge and these soil moisture sensors.

Configurable Custom Logic (CCL) Block Diagram.

Getting Started With ATtiny Configurable Custom Logic (CCL)

In the Microchip tinyAVR {0,1,2}-series we see Configurable Custom Logic (CCL) among the Core Independent Peripherals (CIP) available on the chip. In this YouTube video [Grug Huhler] shows us how to make your own digital logic in hardware using the ATtiny CCL peripheral.

If you have spare pins on your tinyAVR micro you can use them with the CCL for “glue logic” and save on your bill of materials (BOM) cost. The CCL can do simple to moderately complex logic, and it does it without the need for support from the processor core, which is why it’s called a core independent peripheral. A good place to learn about the CCL capabilities in these tinyAVR series is Microchip Technical Brief TB3218: Getting Started with Configurable Custom Logic (CCL) or if you need more information see a datasheet, such as the ATtiny3226 datasheet mentioned in the video.

Continue reading “Getting Started With ATtiny Configurable Custom Logic (CCL)”

Black and white photo of Evertop computer on desk

The Evertop: A Low-Power, Off-Grid Solar Gem

When was the last time you saw a computer actually outlast your weekend trip – and then some? Enter the Evertop, a portable IBM XT emulator powered by an ESP32 that doesn’t just flirt with low power; it basically lives off the grid. Designed by [ericjenott], hacker with a love for old-school computing and survivalist flair, this machine emulates 1980s PCs, runs DOS, Windows 3.0, and even MINIX, and stays powered for hundreds of hours. It has a built-in solar panel and 20,000mAh of battery, basically making it an old-school dream in a new-school shell.

What makes this build truly outstanding – besides the specs – is how it survives with no access to external power. It sports a 5.83-inch e-ink display that consumes zilch when static, hardware switches to cut off unused peripherals (because why waste power on a serial port you’re not using?), and a solar panel that pulls 700mA in full sun. And you guessed it – yes, it can hibernate to disk and resume where you left off. The Evertop is a tribute to 1980s computing, and a serious tool to gain some traction at remote hacker camps.

For the full breakdown, the original post has everything from firmware details to hibernation circuitry. Whether you’re a retro purist or an off-grid prepper, the Evertop deserves a place on your bench. Check out [ericjenott]’s project on Github here.

BGA soldering

Making A One-Of-A-Kind Lime2 SBC

Upgrading RAM on most computers is often quite a straightforward task: look up the supported modules, purchase them, push a couple of levers, remove the old, and install the new. However, this project submitted by [Mads Chr. Olesen] is anything but a simple.

In this project, he sets out to double the RAM on a Olimex A20-OLinuXino-LIME2 single-board computer. The Lime2 came with 1 GB of RAM soldered to the board, but he knew the A20 processor could support more and wondered if simply swapping RAM chips could double the capacity. He documents the process of selecting the candidate RAM chip for the swap and walks us through how U-Boot determines the amount of memory present in the system.

While your desktop likely has RAM on removable sticks, the RAM here is soldered to the board. Swapping the chip required learning a new skill: BGA soldering, a non-trivial technique to master. Initially, the soldering didn’t go as planned, requiring extra steps to resolve issues. After reworking the soldering, he successfully installed both new chips. The moment of truth arrived—he booted up the LIME2, and it worked! He now owns the only LIME2 with 2 GB of RAM.

Be sure to check out some other BGA soldering projects we’ve featured over the years.