A BASIC Interpreter For The Raspberry Pi Pico

It’s pretty easy to program the Raspberry Pi Pico in Python, or you can use C or C++ if you so desire. However, if you fancy the easy language of yesteryear, you might like PiccoloBASIC from [Gary Sims].

Putting it simply, piccoloBASIC is a BASIC interpreter that runs on the Raspberry Pi Pico. It features all the good bits of BASIC such as GOTO and GOSUB commands, that fancier languages kind of look down upon. It’s also got enough built-in routines to handle regular programming life, like sleeps, delays, a basic pseudorandom number source, trigonometric functions, and the ability to deal with floating point numbers. As far as microcontroller tasks go, it’s got rudimentary support for talking to GPIOs right now via the pinon and pinoff commands. However, it’s probably not the way to go if you want to bit-bang an SD card to within an inch of its speed rating.

Down the road, [Gary] hopes to add support for features like the Pico’s I2C, SPI, and PIO hardware, along with networking protocols and Bluetooth. PEEK and POKE are also hopefully on the way for those that like to fiddle with memory directly.

Meanwhile, if you’re looking for a different yet similar take, explore the port of MMBasic to the Pico platform. Video after the break.

Continue reading “A BASIC Interpreter For The Raspberry Pi Pico”

Portable Soldering Station Runs On Drill Batteries

Power tool batteries are a convenient portable power supply for all manner of different things. [Zachary Goode] noticed that Ryobi was using them to power soldering irons, but no such tool existed in the DeWalt range. Thus, he set about to build such a rig himself.

The build relies on a simple 3D-printed adapter to suck power from a DeWalt drill battery. It’s a little piece of plastic with spade terminals inserted to act as the contacts. Armed with this tool, [Zachary] included it as part of a simple compact portable soldering iron design that relies on the off-the-shelf T12-952 controller board. This allows him to use the rig with a wide variety of common soldering iron handpieces, like his favored Hakko FX-951. The design also features a lithium-ion battery protection circuit of [Zachary]’s own design, to make up for the fact that DeWalt don’t integrate them into their battery packs.

The high power density of lithium rechargeable batteries has led to a proliferation of portable soldering irons in recent years. Some are even completely handheld, with no external wires or power supplies to speak of. If you’ve been whipping up your own gear to solder on the go, don’t hesitate to drop us a line!

Behind The X86 Pipeline Curtain

We’ve often heard that modern x86 CPUs don’t really execute x86 instructions. Instead, they decode them into RISC instructions that are easier to schedule, pipeline, and execute. But we never really looked into that statement to see if it is true. [Fanael] did, though, and the results are very interesting.

The post starts with a very simple loop containing four instructions. In a typical RISC CPU — RISC-V — the same loop requires six instructions. However, a modern CPU is likely to do much more than just blindly convert one instruction set to another.

Continue reading “Behind The X86 Pipeline Curtain”

BIOS POST Card Built Using Raspberry Pi Pico

A computer’s BIOS includes basic diagnostic tools for troubleshooting issues. Often, we rely on the familiar beeps from the POST system for this reason. However, error codes are also available via hardware “POST Cards” that were particularly popular in the 1990s. [Mr. Green] has now built a POST card using readily-available modern hardware.

[Mr. Green] built the device to help troubleshoot an x86 based firewall appliance that was having trouble. Like many x86 systems, it featured a Low Pin Count (LPC) bus which can be used to capture POST troubleshooting codes. By hooking up a Raspberry Pi Pico to the LPC bus on the firewall’s motherboard, it was possible to get it to display the POST error codes on some LEDs. This is of great use in the absence of a conventional PC speaker to sound the error out with beeps.

The build can be used for POST-based troubleshooting on any x86 system with an LPC bus. Files are on Github for those eager to replicate the build. We’ve seen similar work before, too. Video after the break.

Continue reading “BIOS POST Card Built Using Raspberry Pi Pico”

Arduino-Powered Missile System Uses Ultrasound To Aim

In the real world, missile systems use advanced radars, infrared sensors, and other hardware to track and prosecute their targets. [Raspduino Uno] on YouTube has instead used ultrasound for targeting for an altogether simpler desktop fire control solution.

This fun build uses a common off-the-shelf USB “missile launcher” that fires foam darts. To supply targeting data for the launcher, an Arduino Uno uses an ultrasonic sensor pair mounted atop a servo. As the servo rotates, the returns from the ultrasonic sensor are plotted on a screen run by a Raspberry Pi. If an object is detected in the 180-degree field of view of the sweeping sensor, a missile is fired using the dart launcher.

It’s a relatively simple build, but nonetheless would serve as a useful classroom demonstration of radar-like targeting techniques to a young audience. Real military hardware remains altogether more sophisticated. Video after the break.

Continue reading “Arduino-Powered Missile System Uses Ultrasound To Aim”

Cheap USB Sniffer Has Wireshark Interface

If you’ve done any development on USB hardware, you’ve probably wished you could peek at the bits and bytes as they pass through the data lines. Sometimes, it’s the only way to properly understand what’s going on. [ataradov]’s USB sniffer is built to do just that. 

To sniff high-speed USB communications, the device relies on a Lattice LCMXO2 FPGA and a Cypress CY7C68013A microcontroller, paired with a Microchip USB3343 USB PHY. This setup is capable of operating at data rates of up to 40-50 MB/s, more than enough to debug the vast majority of USB peripherals on the market.

The device is built specifically for use with Wireshark. Most commonly used for network packet sniffing, Wireshark can also be used with a wide variety of other capture hardware for other debugging tasks, as seen here. In addition to live sniffing, it also allows captured data to be saved for later analysis.

If you need this tool, spinning up your own is straightforward. Gerber files are available and the required components can be bought off the shelf. Once assembled, you can program the chips via USB, with no external hardware programmer required.

We’ve seen some other similar hardware before. Meanwhile, if you’re whipping up your own useful debug tools, don’t hesitate to drop us a line!

The Printing Of Pi

It really isn’t necessary, but there is some geek cred to learning pi to some bizarre number of digits. One way to do that is via a piem — a mnemonic device that is easy to remember and gives you the digits. Don’t know any? [Roni Bandini] has you covered with the PiemPi machine. It prints a random piem on a thermal printer and calculates each digit on the fly. You can watch the machine in action in the video below.

Unfortunately, the Raspberry Pi Zero inside doesn’t have enough language skills to ensure the thing makes sense, so you get word salad that may or may not have any real meaning. For example, [Roni] quotes astronomer [Sir James Jeans’] phrase: “How I want a drink, alcoholic, of course, after the heavy lectures involving quantum mechanics.” Before the advent of calculators, we always used: “May I have a large container of coffee today?” In each case, you count the number of letters in each word to get the digits. However, some of the piems you can see from the machine start off with phrases like: “# leon a yahoo execution im actual total pit eagle detector christmas…”

Continue reading “The Printing Of Pi”