There are plenty of circuit simulators available, that give detailed analysis of circuits with capacitors, inductors and semiconductors, and these can be used to simulate a purely resistive circuit (such as a 1938 Q stock traction control, as shown above) but they lack the flexibility to show the remarkable 19 state-changes that occur when the Continue reading "Quicksim: simulation of resistive…
To debug embedded systems, such as those with the Raspberry Pi Pico processor, normally only two options are available: using print statements, or a debug utility such as GDB. This project offers an alternative, which isn t as invasive as the print method, and isn t as complex as GDB. It basically provides an insight as to Continue reading "PicoReg 2: non-invasive debugging of RP2040 and RP2350…
A conventional GPS (Global Positioning System) or GNSS (Global Navigation Satellite System) receiver has an accuracy that is at best 1 or 2 metres (3 or 6 feet), which is insufficient for some applications, most notably land surveys, and self-driving agricultural vehicles. There are a few techniques that can be used to improve that accuracy, Continue reading "High-accuracy satellite positioning…
In a previous post, I described EDLA , a WiFi-based logic analyser unit, that uses a Web-based display. That version used an ESP32 to provide WiFi connectivity; the PEDLA uses a Pi PicoW module instead. Hardware The hardware is similar to the previous version; aside from the CPU change, the main addition is a 24LC256 serial Continue reading "PEDLA: WiFi logic analyser using a Pi PicoW"
This project provides a simple way of capturing data using a Pi PicoW, and displaying it wirelessly on a Web browser, as either as a logic analyser, or an oscilloscope. The digital capture is done using the Pico I/O lines; the analogue capture uses an AD9226 parallel ADC module, that can provide up to 65 Continue reading "Wicap: wireless data acquisition on the Pi PicoW"
Mongoose TCP/IP is comprehensive easy-to-use TCP/IP software stack, produced by Cesanta Software Ltd. In its simplest form, you just include 2 library files in your project, then can add a Web server using only 20 lines of source code, see the details here. The code is fully open-source, and the documentation is excellent; the only Continue reading "PicoWi Mg: running Mongoose TCP/IP on the Pi…
This project was prompted by the need for a circuit to provide a galvanically-isolated measurement of battery voltage. Existing designs tend to be complicated, expensive or both, so a new approach was adopted, that keeps the circuitry simple, and relies on the timing capability of a CPU. I m using a Pi Pico RP2040, but almost Continue reading "SIAD: Simple Isolated Analog-to-Digital converter"
In a previous post, I looked at ways of measuring frequency accurately using an RP2040 CPU programmed in C. In this project, I have re-coded those functions in MicroPython, and provided a few enhancements. I use Direct Memory Access (DMA) to minimise the CPU workload, and avoid the need for interrupts, but this raises a Continue reading "Accurate frequency timing measurement on the Pi Pico RP2040…
This project describes the creation of the software for a vehicle speedometer. It measures the frequency of a signal that is proportional to speed, but I m also using the opportunity to explore two possible techniques for measuring frequency with high accuracy using an RP2040 processor. If you d prefer Python code, see this post. Counting transitions Continue reading "Accurate frequency…
A Web camera is quite a demanding application, since it requires a continuous stream of data to be sent over the network at high speed. The data volume is determined by the image size, and the compression method; the raw data for a single VGA-size (640 x 480 pixel) image is over 600K bytes, so Continue reading "Picowi part 10: Web camera"