I’ve had my eye on the PicoSystem, the Raspberry Pi RP2040-based games console platform, for some time. It surfaced back in the Spring and was long marked “coming soon”. But now it’s here, mine showed up yesterday while I was at work, and this morning I’ve been messing about with it.
Continue readingClive Sinclair (1941-2021) Part three — resurgam
In part one we saw how the young Clive Sinclair created Sinclair Radionics — twice — and built it into a successful business that launched hi-fi products in the 1960s and the first ever pocket calculator in 1972. In part two, we investigated the genesis of the Radionics microcomputer. Read on to learn what occurred when Radionics finally went under, and how the ZX80 came about…
Continue readingClive Sinclair (1940-2021) Part two — Radionics’ last, great hope: the microcomputer
In part one, we saw how the young Clive Sinclair created Sinclair Radionics — twice — and built it into a successful business that launched hi-fi products in the 1960s and the first ever pocket calculator in 1972, but soon suffered badly as its digital watch efforts foundered and competition crushed its calculator sales. Read on to learn how Radionics met its end, but (almost) gave birth to a new microcomputer…
Continue readingClive Sinclair (1940-2021) Part one — how it all began
Clive Sinclair formed the first company to bear his name in 1961 while he was a 21-year-old electronics journalist. He had received no formal education in the subject, but as a highly intelligent autodidact, he had developed a passion for electronics during his teens. He also had an entrepreneurial bent, and even in his youth spotted a business opportunity in designing and selling kits to fellow electronics enthusiasts.

How to build a cellular IoT device with the Raspberry Pi Pico — part two, the code
In part one, I described an IoT demo setup based on the Raspberry Pi Pico and the Waveshare Pico SIM7080G Cat-M1/NB-IoT cellular add-on board, and wrote about some of the design goals. Now it’s time to implement that design with some C++ code: a host application, drivers for the modem, the HT16K3-based display and the MCP9808 temperature sensor, and some third-party libraries to decode incoming commands formatted as JSON and encoded in base64 for easy SMS transmission.

How to build a cellular IoT device with the Raspberry Pi Pico — part one, the hardware
To turn the Raspberry Pi Pico into an Internet of Things (IoT) device, you need to add wireless connectivity. I thought I’d give it go, to see how straightforward it might be to connect the Pico to cellular networks and have a bare-metal app written in C++ run the show. For a modem, I chose to use Waveshare’s suitably sized Pico SIM7080G Cat-M1/NB-IoT.
Continue readingSpectrum, Oric, Dragon… even Enterprise — demanded designs come to smittytone’s retro tech T-shirt store
You asked for it and you got it: following the ZX80 and ZX81 keyboard layout T-shirts comes my ZX Spectrum version — giving you the chance to steal a march on April 2022’s 40th anniversary!
Continue readingPreviewApps updated
All three of my PreviewApps — PreviewMarkdown, PreviewCode and PreviewYaml — got big updates this week. Headline features: significantly improved font, style and colour selection, across-the-range stability improvements, and faster PreviewCode theme preview presentation.
Continue readingHow to pop up a Picoprobe from the Adafruit QT Py RP2040
A little while back I wrote about Adafruit’s QT Py RP2040 and how it makes a nice, compact Picoprobe. That’s a Raspberry Pi RP2040-based device used as a bridge between your computer and a target device for debugging work using Single Wire Debug (SWD). I first used the QT Py RP2040’s side-mounted GPIO pins, but SWD hosting is a great role for the device’s QT Stemma connector.
Continue readingTackle async signal safety in Swift
How do you safely interrupt a command-line program written in Swift? This question was posed to me this week by a reader who got in touch to point out that boilerplate code included in my How to write macOS command line tools in Swift post might not be totally safe: it could leave a program and system in an undefined state, which is never a good thing. So I took a closer look.







