One of the sticking points for us with our own Internet of Things is, ironically, the Internet part. We build hardware happily, but when it comes time to code up web frontends to drive it all, the thrill is gone and the project is only half-done.
Including some simple web-based scripting functionality along with the microcontroller basics is one of the cleverest tricks up ESP8266 BASIC’s sleeves. BASIC author [mmiscool] puts it to good use in this short demo: a complete learning IR remote control that’s driven through a web interface, written in just a few lines of BASIC.
Note that everything happens inside the ESP8266 here, from hosting the web page to interpreting and then blinking back out the IR LED codes to control the remote. This is a sophisticated “hello world”, the bare minimum to get you started. The interface could look slicker and the IR remote could increase its range with more current to the LED, but that would involve adding a transistor and some resistors, doubling the parts count.
For something like $10 in parts, though, this is a fun introduction to the ESP and BASIC. Other examples are simpler, but we think that this project has an awesome/effort ratio that’s hard to beat.
You might think that our community would always strive to be at the cutting edge of computing and use only the latest and fastest hardware, except for the steady stream of retrocomputing projects that appear. These minimalist platforms hark back to the first and second generation of accessible microcomputers, often with text displays if they have a display at all, and a simple keyboard interface to a language interpreter.
Often these machines strive to use the hardware of the day, and are covered with 74 logic chips and 8-bit processors in 40-pin dual-in-line packages, but there are projects that implement retrocomputers on more modern hardware. An example is [Sebastian]’s machine based upon a couple of PIC microcontrollers, one of which is an application processor with a PS/2 keyboard interface, and the other of which handles a VGA display interface. The application it runs calculates whether a 4-digit number is a prime and displays its results.
His write-up gives a fascinating overview of the challenges he found in creating a reliable VGA output from such limited hardware, and how he solved them. Though this one-sentence description makes a ton of work sound easy, horizontal sync pulses are generated as hardware PWM, and pixel data is streamed from the SPI bus. The VGA resolution is 640×480, upon which he could initially place a 10×10 block of text. Later optimizations extend it to 14×14.
Sometimes it’s not the power of the hardware but the challenge of making it perform the impossible that provides the attraction in a project, and on this front [Sebastian]’s retrocomputer certainly delivers. We’ve featured many other retrocomputers before here, some of which follow [Sebastian]’s example using modern silicon throughout, while others mix-and-match old and new.