Bare Metal STM32: The Various Real Time Clock Flavors

Keeping track of time is essential, even for microcontrollers, which is why a real-time clock (RTC) peripheral is a common feature in MCUs. In the case of the STM32 family there are three varieties of RTC peripherals, with the newest two creatively called ‘RTC2′ and RTC3’, to contrast them from the very basic and barebones RTC that debuted with the STM32F1 series.

Commonly experienced in the ubiquitous and often cloned STM32F103 MCU, this ‘RTC1’ features little more than a basic 32-bit counter alongside an alarm feature and a collection of battery-backed registers that requires you to do all of the heavy lifting of time and date keeping yourself. This is quite a contrast with the two rather similar successor RTC peripherals, which seem to insist on doing everything possible themselves – except offer you that basic counter – including giving you a full-blown calendar and today’s time with consideration for 12/24 hour format, DST and much more.

With such a wide gulf between RTC1 and its successors, this raises the question of how to best approach these from a low-level perspective.

Continue reading “Bare Metal STM32: The Various Real Time Clock Flavors”

Bambu Lab’s PLA Tough+ Filament: Mostly A Tough Sell

Beyond the simple world of basic PLA filaments there is a whole wild world of additives that can change this humble material for better or worse. The most common additives here are primarily to add color, but other additives seek to specifically improve certain properties of PLA. For example Bambu Lab’s new PLA Tough+ filament series that [Dr. Igor Gaspar] over at the My Tech Fun YouTube channel had over for reviewing purposes.

According to Bambu Lab’s claims for the filament, it’s supposed to have ‘up to’ double the layer adhesion strength as their basic PLA, while being much more robust when it comes to flexing and ‘taking a beating’. Yet as [Igor] goes through his battery of tests – comparing PLA Tough+ against the basic PLA – the supposedly tough filament is significantly worse in every count. That sad streak lasts until the impact tests, which is where we see a curious set of results – as shown above – as well as [Igor]’s new set of impact testing toys being put through their paces.

Of note is that although the Tough+ variants tested are consistently less brittle than their basic PLA counterparts, the Silver basic PLA variant makes an unexpectedly impressive showing. This is a good example of how color additives can have very positive impacts on a basic polymer like PLA, as well as a good indication that at least Bambu Lab’s Basic PLA in its Silver variant is basically better than Tough+ filaments. Not only does it not require higher printing temperatures, it also doesn’t produce more smelly VOCs, while being overall more robust.

Continue reading “Bambu Lab’s PLA Tough+ Filament: Mostly A Tough Sell”

A Love Letter To Internet Relay Chat

Although kids these days tend to hang out on so-called “Social Media”, Internet Relay Chat (IRC) was first, by decades. IRC is a real-time communication technology that allows people to socialize online in both chat rooms and private chat sessions. In a recent video [The Serial Port] channel dedicates a video to IRC and why all of this makes it into such a great piece of technology, not to mention a great part of recent history. As a decentralized communication protocol, anyone can set up an IRC server and connect multiple servers into networks, with the source code for these servers readily available ever since its inception by a student, and IRC clients are correspondingly very easy to write.

Because of the straightforward protocol, IRC will happily work on even a Commodore 64, while also enabling all kinds of special services (‘bots’) to be implemented. Even better, the very personal nature of individual IRC networks and channels on them provides an environment where people can be anonymous and yet know each other, somewhat like hanging out at a local hackerspace or pub, depending on the channel. In these channels, people can share information, help each other with technical questions, or just goof off.

In this time of Discord, WhatsApp, and other Big Corp-regulated proprietary real-time communication services, it’s nice to pop back on IRC and to be reminded, as it’s put in the video, of a time when the Internet was a place to escape to, not escape from. Although IRC isn’t as popular as it was around 2000, it’s still alive and kicking. We think it will be around until the end days.

Continue reading “A Love Letter To Internet Relay Chat”

The Sixteen-Year Odyssey To Finally Emulate The Pioneer LaserActive Console

The 1993 Pioneer LaserActive certainly ranks high on the list of obscure video games. It was an odd duck; it used both a LaserDisc for data storage and provided compatibility with a range of existing video game consoles. Due to the rarity and complexity of this system, emulating it has proven to be a challenge. The Ares emulator version 146 is the first to officially add support for the LaserActive. You’d expect getting to that point to be a wild journey. It was, and [Read Only Memo] documented the author’s ([Nemesis]) quest to emulate the odd little machine.

The LaserActive had a brief lifespan, being discontinued in 1996 after about 10,000 units sold. Its gimmick was that in addition to playing regular LaserDiscs and CDs, it could also use expansion modules (called PACs) to support games for other consoles, including the Sega Genesis and the NEC TurboGrafx-16. You could also get PACs for karaoke or to connect to a computer.

By itself, that doesn’t seem too complex, but its LaserDisc-ROM (LD-ROM) format was tough. The Mega LD variation also presented a challenge. The LD-ROMs stored entire games (up to 540 MB) that were unique to the LaserActive. Finding a way to reliably dump the data stored on these LD-ROMs was a major issue. Not to mention figuring out how the PAC communicates with the rest of the LaserActive system. Then there’s the unique port of Myst to the LaserActive, which isn’t a digital game so much as an interactive analog video experience, which made capturing it a complete nightmare.

With that complete, another part of gaming history has finally been preserved and kept playable. Sure, we have plenty of Game Boy emulators. Even tiny computers now are powerful enough to do a good job emulating the systems of yesterday.

Teardown Of A Cheapish EBL Multi-Cell NiMH Charger

Bottom of the PCB with most of the ICs. (Credit: Brian Dipert, EDN)
Bottom of the PCB with most of the ICs. (Credit: Brian Dipert, EDN)

People think about NiMH cell chargers probably as much as they think about batteries, unless it’s time to replace the cells in whatever device they’re installed in. This doesn’t make a teardown of one of these marvels any less interesting, especially when you can get an 8-bay charger with eight included NiMH cells for a cool $25 brand new. The charger even has USB ports on it, so it’s got to be good. Cue a full teardown by [Brian Dipert] over at EDN to see what lurks inside.

Of note is that [Brian] got the older version of EBL’s charger, which requires that two cells of the same type are installed side-by-side instead of featuring per-bay charging. This is a common feature of cheaper chargers, and perhaps unsurprisingly the charger was struggling with NiMH cells that other chargers would happily charge.

Opening up the unit required hunting for plastic clips, revealing the rather sparse internals. Unsurprisingly, there wasn’t a lot to look at, with the two USB ports apparently wired directly into the AC-to-DC section. There’s a CRE6536 AC-DC power management IC, the full-bridge rectifier and an unmarked 16-pin IC that presumably contains all of the charger logic. On the positive side, the mains-powered charger didn’t catch on fire (yet), but for anyone interested in leaving battery chargers unattended for extended periods of time, perhaps look at a more reputable brand.

Engineering For Slow Internet Even When Not Stuck In Antarctica

With the days of dial-up and pitiful 2G data connections long behind most of us, it would seem tempting to stop caring about how much data an end-user is expected to suck down that big and wide broadband tube. This is a problem if your respective tube happens to be a thin straw and you’re located in a base somewhere in the Antarctic. Take it from [Paul Coldren], who was stationed at a number of Antarctic research stations as an IT specialist for a total of 14.5 months starting in August of 2022.

Prepare for hours of pain and retrying downloads. (Credit: Paul Coldren]
Prepare for hours of pain and retrying downloads. (Credit: Paul Coldren]

As [Paul] describes, the main access to the Internet at these bases is via satellite internet, which effectively are just relay stations. With over a thousand people at a station like McMurdo at certain parts of the season, internet bandwidth is a precious commodity and latency is understandably high.

This low bandwidth scenario led to highly aggravating scenarios, such as when a web app would time out on [Paul] while downloading a 20 MB JavaScript file, simply because things were going too slow. Upon timing out, it would wipe the cache, redirect to an error page and have [Paul] retry and retry to try to squeeze within the timeout window. Instead of just letting the download complete in ~15 minutes, it would take nearly half an hour this way, just so that [Paul] could send a few kB worth of text in a messaging app.

In addition to these artificial timeouts – despite continuing download progress – there’s also the issue of self-updating apps, with a downloader that does not allow you to schedule, pause, resume or do anything else that’d make downloading that massive update somewhat feasible. Another thing here is distributed downloads, such as when hundreds of people at said Antarctic station are all trying to update MacOS simultaneously. Here [Paul] ended up just – painfully and slowly – downloading the entire 12 GB MacOS ISO to distribute it across the station, but a Mac might still try to download a few GB of updates regardless.

Continue reading “Engineering For Slow Internet Even When Not Stuck In Antarctica”

Bootstrapping Android Development: A Survival Guide

Developing Android applications seems like it should be fairly straightforward if you believe the glossy marketing by Google and others. It’s certainly possible to just follow the well-trodden path, use existing templates and example code – or even use one of those WYSIWYG app generators – to create something passable that should work okay for a range of common applications. That’s a far cry from learning general Android development, of course.

The process has changed somewhat over the years, especially with the big move from the Eclipse-based IDE with the Android Development Tools (ADT) plugin, to today’s Jetbrains IntelliJ IDEA-based Android Studio. It’s fortunately still possible to download just the command-line tools to obtain the SDK components without needing the Google-blessed IDE. Using the CLI tools it’s not only possible to use your preferred code editor, but also integrate with IDEs that provide an alternate Android development path, such as Qt with its Qt Creator IDE.

Continue reading “Bootstrapping Android Development: A Survival Guide”