Smallest BASIC Computer?

This may be the most minimal computer that we’ve ever seen running BASIC. Hackaday.io user [Kodera2t] has been working through the history of computing, so after his 4-bit CPU, he stepped up his game to eight bits. It’s amazing how much can be done with so little. It’s basically a Z80 on a single PCB.

[Kodera2t] is careful to give credit where credit is due: the design of this computer is by [Grant Searle]. It’s amazing what you can do with an old CPU (6809), some SRAM, a controller-interface chip, and an EPROM for your BASIC. Check out the GitHub for the computer’s PCB files if you want to make your own — it’s a very hobbyist-friendly two-layer board with fat traces. Or you could put it all together on a breadboard. It’s that non-critical.

9767261466906678330

The other sweet touch is this monochrome CRT build that pairs up with the tiny computer.

[Kodera2t] is doing some really clever retro and minimalistic hacks, and putting them all up on Hackaday.io. You should really give his whole portfolio a look. We recently wrote up his experimentations with the Atmel ATtiny10 if you’re in the mood for something more modern.

Cute USART Trick Brings PWM To IR LEDs

We love little tricks like this. Suppose that you want to generate an IR remote’s signal. It’s easy, because most of the codes are known. But it can be slightly harder because most IR remotes and receivers modulate the on pulses with a square wave at roughly 38 kHz for background lighting immunity.

With a competent PWM generator on a microcontroller, you can create this carrier modulation easily enough yourself. Set the PWM frequency to 38 kHz and the duty cycle somewhere in the 33%-50% range, and you’re set. But what if you don’t have a competent PWM generator? Such was the case that prompted [AnalysIR Blog] to fake it, with USART.

Here’s the trick. You set up the serial port to communicate at ten times the desired carrier frequency, and then transmit “special” data. (The number ten comes from eight bits of data plus a start and a stop bit.) If you want a 50% duty cycle, you simply send 0b11110000, as fast as the microcontroller will allow, for a mark and nothing for a space.

There’s some extra detail with inverting the signal if, as most do, your USART idles high. But that’s really it. It’s a cute trick for when you’re desperate enough to need it. And if you’d like to brush up some more on your asynchronous serial skills, check out our guide on troubleshooting USART, and the great comments that ensued.