SatCat5: UART, SPI And I2C Via Ethernet With FPGA-Based Design

Arty A7-based prototype of SatCat5 with custom switch I/O board. (Credit: The Aerospace Corporation)
Arty A7-based prototype of SatCat5 with custom switch I/O board. (Credit: The Aerospace Corporation)

To the average microcontroller, Ethernet networks are quite a step up from the basic I2C, SPI and UART interfaces, requiring either a built-in Ethernet MAC or SPI-based MAC, with tedious translation between Ethernet and those other interfaces. Yet what if this translation could be done automatically and transparently?  This is what the SatCat5 FPGA-based project by [The Aerospace Corporation] aims to provide: a gateway akin to an unmanaged Ethernet switch that also supports those non-Ethernet links. Recently they answered a range of questions about the project on Hacker News.

The project name comes from the primary target audience: smallsat and cubesat developers, which is an area where being able to route more traffic over a common Ethernet-based bus is a major boon. The provided Xilinx Artix-7-based reference design (pictured) gives a good idea of how it can be used: it combines an Arty A7 development board with a custom PCB containing an Ethernet switch IC (SJA1105), TJA1100 transceiver, two RJ45 jacks and four PMOD connectors, here connected to two UARTs for bidirectional communication between them. Ethernet frame encapsulation is provided using the standard Serial Line Internet Protocol (SLIP), with more details covered in the FAQ. At a minimum an FPGA like a Lattice iCE40 is required, with an MCU capable of using the provided C++ libraries, or a custom implementation.

Thanks to [STR-Alorman] for the tip.

Clever E-Ink Driver Does 32 Levels Of Grey, Avoids Update Flicker, And More

There’s a lot to like about E-Ink displays, and you might be about to like them even more with [antirez]’s MicroPython driver for the Badger 2040 (or any display based on the UC8151 / IL0373) because it brings all kinds of useful features to your next project.

E-Ink displays are great. They are high contrast, daylight-readable, and require zero power to maintain a displayed image. But a few things come with the territory: displays have slow refresh rates compared to other display types, expect flickering during screen changes, and the displays are monochrome. [Antirez]’s new driver not only provides a MicroPython interface but goes in some fantastic directions that challenge those usual drawbacks.

Probably the most striking is the ability to display greyscale images without relying on dithering, which means the results avoid the charmingly gritty look of old-school dithering. Dithering has its place, but it’s not always the best choice, so options are great.

Similarly, display flicker may be a small price to pay for some, but if the obvious flicker is too boorish and crude-looking one can use an anti-flicker refresh mode that greatly limits flickering at the cost of update speed. Over time some image ghosting will accumulate which necessitates an occasional whole-screen refresh, but the effect is overall much nicer when updating something like a clock face.

How is this all done? It turns out that the controller chips for these displays are highly configurable, and it’s possible to do much more than simply drive the display in known-good and completely approved modes. It’s also entirely possible to permanently damage one’s display by doing so. Part of what makes [antirez]’s work so appealing is that he has already done the work finding workable configurations.

His driver is designed using computed LUTs (look-up tables) that make using and exploring alternative refresh modes easy and efficient, invaluable for exploring the capabilities of a patented, poorly documented technology like E-Paper displays.

We’ve seen the Badger 2040 E-Ink display in a teapot timer and a custom macropad, and [antirez]’s uc8151_micropython project is a fantastic step forward. And don’t miss another of [antirez]’s clever microcontroller hacks: playing audio without a DAC.

an analog CO2 gauge with a cute face

Cute CO2 Gauge Tells You When To Crack A Window

[Cyrill] has a good home automation scheme going: there are a number of physical switches set around the place that control the essential functions. The only problem is that in the winter time, this results in a great deal of phone checking as [Cyrill] tries to monitor the CO2 level. Tired of all this screen time, [Cyrill] set about to create an incredibly cute (and useful) Co2 monitor that plainly shows the current level and how bad it is, relatively speaking.

A large servo and an ESP32-S2 make up the guts of an analog CO2 sensor.

Behind that adorable face is a DS3225 servo being driven by a Wemos S2 mini, both of which [Cyrill] happened to have handy. Although the 25 Kg servo may be complete overkill for the situation, [Cyrill] reports that it is quieter than your average AliExpress alternatives, which makes it well worth it in our book. Then it was on to Inkscape to make the gauge itself. [Cyrill] says they’re an Inkscape noob, but that face could have fooled us.

Finally, it was time to integrate it into Home Assistant to get readings from the CO2 sensors. This was easier said than done, but [Cyrill] does a nice job of explaining how to get the ESP32-S2 up and working.

If you’re out there monitoring CO levels in your home, beware of fake sensors that cropped up during the height of the pandemic and are likely still at large.

Retro Unit Converter Is A Neat Little Gadget

These days, unit conversions aren’t something we have to worry about so much. If you’re sitting at a computer, you can usually just tap away in your browser to get a quick conversion done, or you can ask your smartphone for an answer. [HackMakeMod] wanted a bespoke device for this, though, and built a tiny little retro-styled unit converter.

It’s a straightforward build that uses a handful of familiar components. An ESP8266 D1 Mini development board is the heart of the operation, running off a small battery harvested from a disposable vape pen. It runs a 0.96 inch OLED display which has a menu system for selecting from a whole bunch of different unit conversions. Navigating the menu is done via a rotary encoder with an integrated push button. Everything’s wrapped up in a neat 3D printed enclosure that was given a nice worn, weathered finish after printing.

[HackMadeMod] also clearly thought about usability, too. Turning the encoder dial faster ramps up the numbers exponentially so you’re not stuck jogging for ages when you need to enter a bigger figure.

It’s not something a lot of us would have a use case for, given that smartphones are always there and probably faster to use. However, it is a tidy little gadget, and a well-presented one at that. Video after the break.

Continue reading “Retro Unit Converter Is A Neat Little Gadget”

Celebrating Pi Day With A Ghostly Calculator

For the last few years, [Cristiano Monteiro] has marked March 14th by building a device to calculate Pi. This year, he’s combined an RP2040 development board and a beam-splitting prism to create an otherworldly numerical display inspired by the classic Pepper’s Ghost illusion.

The build is straightforward thanks to the Cookie board from Melopero Electronics, which pairs the RP2040 with a 5×5 matrix of addressable RGB LEDs. Since [Cristiano] only needed 4×5 LED “pixels” to display the digits 0 through 9, this left him with an unused vertical column on the right side of the array. Looking to add a visually interesting progress indicator for when the RP2040 is really wracking its silicon brain for the next digit of Pi, he used it to show a red Larson scanner in honor of Battlestar Galactica.

With the MicroPython code written to calculate Pi and display each digit on the array, all it took to complete the illusion was the addition of a glass prism, held directly over the LED array thanks to a 3D-printed mounting plate. When the observer looks through the prism, they’ll see the reflection of the display seemingly floating in mid-air, superimposed over whatever’s behind the glass. It’s a bit like how the Heads Up Display (HUD) works on a fighter jet (or sufficiently fancy car).

Compared to his 2023 entry, which used common seven-segment LED displays to show off its fresh-baked digits of Pi, we think this new build definitely pulls ahead in terms of visual flair. However, if we had to pick just one of [Cristiano]’s devices to grace our desk, it would still have to be his portable GPS time server.

Continue reading “Celebrating Pi Day With A Ghostly Calculator”

Goldilocks Beverage Coaster Tells You When It’s Just Right

If you ask us, morning is the only excuse we need for a hot caffeinated beverage — weather be damned. Wherever [gokux] is, they may be experiencing actual winter this year, given that they are out there getting cozy with a hot cup of what-have-you. But how do they know it’s at the right temperature for drinking? Enter the temperature-monitoring smart coaster.

At the heart of this build is a GY-906 infrared temperature sensor, which senses the warmth (or lack thereof) and displays the degrees on a small OLED screen thanks to a Seeed Xiao SAMD21. To make things simple, there is also an ideogram that corresponds to the current temperature — snowflake for too cold, danger sign for too hot, and thumbs up for that just-right range. Although this coaster is mostly 3D-printed, the mug sits on a slotted piece of aluminium that is removable for easy cleaning. This would be a good-looking and useful addition to any desk.

This is isn’t the first temperature-indicating beverage coaster we’ve seen. The most recent one ultimately used a probe, which is likely about as accurate (and messy) as you can get with these things.

2024 Home Sweet Home Automation: Plantpal Is A Friend To You Both

One easy way to get started on the home automation front is with something that makes a house a home in the first place — lush, green plants. As nice as it is to have them around, it can be difficult to care (or remember to care) for them all the time.

Plantpal makes easy work of that, with an e-paper display that makes it plain as day how your plant is feeling. As you might expect, it features a soil moisture sensor, but what might be unexpected is that it’s capacitive instead of the usual resistive type. This way, no traces are exposed to the elements of plant life. It also has a BME688 sensor to monitor air quality and CO₂, so your plant has the chance to thrive.

Around back you’ll find an ESP32-C6, an AEM10941 for solar energy harvesting, and another set of solar panels. Be sure to check out the project’s GitHub if you want to learn more about this adorable and useful device.