The Laptop Every British Kid Would Have Wanted For Christmas 1983

How can we convey to a world in which a 64-bit laptop can be a near-throwaway item, just how amazing a miniature laptop version of the 1980s Sinclair ZX Spectrum could have been? perhaps we don’t need to, because here in 2023 there’s a real one for all middle-aged geeks who had the original to drool over.

8-bit home computers were super-exciting for the kids of the day, but they were in no way portable and relied on a TV, frequently the family model in the living room. It’s safe to say that a portable version of one of those home computers, not in an Osborne-style luggable case but in a clamshell palmtop, would have been mind-blowing, so four decades later we’re fascinated by [Airrr17]’s portable Sinclair ZX Spectrum.

At its heart is a dev board using one of the STM32F4 series microcontrollers, and running the Spectrum as an emulator. Alongside that is an LCD, and perhaps what is physically the best part of this, a Spectrum keyboard complete with BASIC keyword decals, made with large-button tactile switches that have we think, printed paper on top. Add in a small lithium-polymer cell and associated electronics in a cute little palmtop case, and it’s about as good a portable Sinclair as we could have imagined. All the details can be found in a GitHub repository, and as if that weren’t enough there’s an assembly video we’ve placed below the break.

Continue reading “The Laptop Every British Kid Would Have Wanted For Christmas 1983”

STM32 Offers Performance Gains For DIY Oscilloscope

There’s no shortage of cheap digital oscilloscopes available today from the usual online retailers, but that doesn’t mean the appeal of building your own has gone away — especially when we have access to powerful microcontrollers that make it easier than ever to spin up custom gear. [mircemk] is using one of those microcontrollers to build an improved, pocket-sized oscilloscope.

The microcontroller he’s chosen is the STM32F103C8T6, part of the 32-bit STM family which has tremendous performance compared to common 8-bit microcontrollers for only a marginally increased cost. Paired with a small 3-inch TFT color display, it has enough functions to cover plenty of use cases, capable of measuring both AC and DC signals, freezing a signal for analysis, and operating at an impressive 500 kHz at a cost of only around $15. The display also outputs a fairly comprehensive analysis of the incoming signal as well, with the small scope capable of measuring up to 6.6 V on its input.

This isn’t [mircemk]’s first oscilloscope, either. His previous versions have used Arduinos, generally only running around 50 kHz. With the STM32 microcontroller the sampling frequency is an order of magnitude higher at 500 kHz. While that’s not going to beat the latest four-channel scope from Tektronix or Rigol, it’s not bad for the form factor and cost and would be an effective scope in plenty of applications. If all you have on hand is an 8-bit microcontroller, though, we have seen some interesting scopes built with them in the past.

Simple STM32 Frequency Meter Handles Up To 30MHz With Ease

[mircemk] had previously built a frequency counter using an Arduino, with a useful range up to 6 MHz. Now, they’ve implemented a new design on a far more powerful STM32 chip that boosts the measurement range up to a full 30 MHz. That makes it a perfect tool for working with radios in the HF range.

The project is relatively simple to construct, with an STM32F103C6 or C8 development board used as the brains of the operation. It’s paired with old-school LED 7-segment displays for showing the measured frequency. Just one capacitor is used as input circuitry for the microcontroller, which can accept signals from 0.5 to 3V in amplitude. [mircemk] notes that the circuit would be more versatile with a more advanced input circuit to allow it to work with a wider range of signals.

It’s probably not the most accurate frequency counter out there, and you’d probably want to calibrate it using a known-good frequency source once you’ve built it. Regardless, it’s a cheap way to get one on your desk, and a great way to learn about measuring and working with time-varying signals. You might like to take a look at the earlier build from [mircemk] for further inspiration. Video after the break.

Continue reading “Simple STM32 Frequency Meter Handles Up To 30MHz With Ease”

STM32 Oscilloscope Uses All The Features

[jgpeiro] is no slouch when it comes to building small, affordable oscilloscopes out of common microcontrollers. His most recent, based on an RP2040 with two channels that ran at 100 MSps, put it on the order of plenty of commercially-available oscilloscopes at this sample rate but at a fraction of the price. He wanted to improve on the design though, making a smaller unit with a greatly reduced bill-of-materials and with a more streamlined design, so he came up with this STM32-based oscilloscope.

The goal of this project was to base as many of the functions around the built-in capabilities of the STM32 as possible, so in addition to the four input channels and two output channels running at 1 MHz, the microcontroller also drives a TFT display which has been limited to 20 frames per second to save processor power for other tasks. The microcontroller also has a number of built-in operational amplifiers which are used as programmable gain amplifiers, further reducing the amount of support circuitry needed on the PCB while at the same time greatly improving the scope’s capabilities.

In fact, the only parts of consequence outside of the STM32, the power supply, and the screen are the inclusion of two operational amplifiers included to protect the input channels from overvoltage events. It’s an impressive build in a small form factor, and we’d say the design goal of keeping the parts count low has been met as well. If you do need something a little faster though, his RP2040-based oscilloscope is definitely worth checking out.

Continue reading “STM32 Oscilloscope Uses All The Features”

Blinkenlights To Bootloader: A Guide To STM32 Development

While things like the Arduino platform certainly opened up the gates of microcontroller programming to a much wider audience, it can also be limiting in some ways. The Arduino IDE, for example, abstracts away plenty of the underlying machinations of the hardware, and the vast amount of libraries can contribute to this effect as well. It’s not a problem if you just need a project to get up and running, in fact, that’s one of its greatest strengths. But for understanding the underlying hardware we’d recommend taking a look at something like this video series on the STM32 platform.

The series comes to us from [Francis Stokes] of Low Byte Productions who has produced eighteen videos for working with the STM32 Cortex-M4 microcontroller. The videos start by getting a developer environment up and blinking LEDs, and then move on to using peripherals for more complex tasks. The project then moves on to more advanced topics and divides into two parts, the development of an application and also a bootloader. The bootloader begins relatively simply, and then goes on to get more and more features built into it. It eventually can validate and update firmware, and includes cryptographic signing (although [Francis] notes that you probably shouldn’t use this feature for production).

One of the primary goals for [Francis], apart from the actual coding and development, was to liven up a subject matter that is often seen as dry, which we think was accomplished quite well. A number of future videos are planned as well. But, if you’re not convinced that the STM32 platform is the correct choice for you, we did publish a feature a while back outlining a few other choices that might provide some other options to consider.

Continue reading “Blinkenlights To Bootloader: A Guide To STM32 Development”

The completed oscilloscope in parts, with the screen in the front connected with prototyping wires, protoboarded buttons on the right, and the BlackPill board somewhere behind

DIY STM32 Scope Is Simple, Cheap, And Featureful

Would you like to have a small digital oscilloscope? Do you have a spare BlackPill (STM32F401) board and a TFT display laying around? [tvvlad1234] presents us with a simple and educational digital storage oscilloscope design that barely needs any components for you to build one, and it’s packed with features just like you would expect from a self-respecting open-source project. Not just that — it can even stream data to your computer, in a format compatible with the TekScope software!

The same scope design, but now on a self-etched boardIt’s hard to overshadow just how easy this scope is to build, use, and hack on. You really don’t need much in the way of parts, a protoboard will do, though you can also etch or order your own PCBs. The front-end is super straightforward to find components for and assemble, a few opamps and resistors is all you need. So after jumper-wiring the LCD and three push buttons to your BlackPill, you’re golden.

Of course, the simple frontend results in the input range being from -3.3 V to 3.3 V, but as you could guess, this is exactly the kind of project where you could tweak the resistors and even upgrade it later on. Are you a bit lost in how oscilloscopes work? [tvvlad1234] has an explainer for you, too!

This build could easily take up a honorary “temporary turned permanent” place on your bench, thanks to its McGyver-esque qualities. It’s also, quite possibly, a better scope than the red “soldering kit” ones we’ve seen online. All in all, it’s a strong contender in the “simple and powerful DIY scope” arena, before this, we’ve seen one built with an Arduino Nano, and one with a Pi Pico.

Dumping script window, showing the bytes being dumped one by one from the STM chip

Need To Dump A Protected STM32F0x? Use Your Pico!

Sometimes, security mechanisms can be bypassed if you just do things slightly out of the ordinary. For instance, readout protection on microcontrollers is a given nowadays, to the point where it’s intentionally enabled and relied upon as a major technical measure to protect intellectual property. The gist is — when you connect to a microcontroller over its debug interface and then ask to read its flash memory, it will politely refuse. However, [Racerxdl] shows us that in practice, it’s not flawless protection – for certain chips, you just need to be a little quicker than usual.

Usually, flashing and debugging software will chat with the microcontroller for a bit, and probe parameters before going for any direct requests. However, if you skip the courtesy and bluntly get to the point immediately right after power is applied to the microcontroller, you can intimidate them just enough to give you one byte of its memory before it refuses to cooperate further. Since that can be any byte you wish, you can read the entire flash — one byte at a time.

You need to power cycle the chip before you can progress, so the hardware does involve a bit more than just an SWD interface, and it will take a fair bit more time than reading out a non-protected chip the usual way; plus, of course, the debugging interface needs to be active for this in the first place, which isn’t always the case. However, it still beats paying a few thousand dollars for a factory in China to decap your chip and read it out using a fancy machine.

[Racerxdl] didn’t just write a proof-of-concept for this attack – they implemented it for one of our favourite chips, the RP2040. As such, you no longer need an unobtainium STM32 to dump an unobtainium STM32.

To be clear, [Racerxdl] didn’t design this attack — it’s been around for some time now. Credit for that goes to Johanes Obermaier. All in all, this is a wonderful reminder that seemingly reliable security mechanisms can be foiled by the simplest tricks. For instance, if your chip erases the flash when you unlock its protection, you can just tell it not to.