Understanding And Using Unicode

Computer engineer [Marco Cilloni] realized a lot of developers today still have trouble dealing with Unicode in their programs, especially in the C/C++ world. He wrote an excellent guide that summarizes many of the issues surrounding Unicode and its encoding called “Unicode is harder than you think“. He first presents a brief history of Unicode and how it came about, so you can understand the reasons for the frustrating edge cases you’re bound to encounter.

There have been a variety of Unicode encoding methods over the years, but modern programs dealing with strings will probably be using UTF-8 encoding — and you should too. This multibyte encoding scheme has the convenient property of not changing the original character values when dealing with 7-bit ASCII text. We were surprised to read that there is actually an EBCDIC version of UTF still officially on the books today:

UTF-EBCDIC, a variable-width encoding that uses 1-byte characters designed for IBM’s EBCDIC systems (note: I think it’s safe to argue that using EBCDIC in 2023 edges very close to being a felony)

Continue reading “Understanding And Using Unicode”

An E-ink display showing Conway's Game of Life, with a solar cell beneath it

Solar Powered Game Of Life Follows The Sun’s Rhythm

Conway’s Game of Life is a beautiful example of how complex behavior can emerge from a few very simple rules. But while it uses biological terminology such as “cells”, “alive” and “generation”, the basic game is too simplistic to be a model for any real-world biological process. It’s easy to add features to make it a bit more life-like, however, as [David Hamp-Gonsalves] has done by giving the Conway’s creation something of a circadian rhythm.

The basic idea is that the speed at which [David]’s Game of Life evolves is governed by the amount of ambient light. The game runs off a solar cell that charges a battery, with the battery’s voltage determining how long it takes to advance the game by one generation. The system is therefore highly active in full sunlight, and grinds almost to a complete halt at night.

An ESP32 runs the simulation and outputs the result to a 400 x 300 pixel e-ink display. The display is extremely power-efficient by its very nature; the ESP’s main processor core, on the other hand, is deliberately placed into deep sleep mode most of the time to save as much power as possible. The Ultra Low Power (ULP) co-processor, meanwhile, keeps an eye on the lithium battery’s voltage as it’s slowly being charged by the solar cell. When the voltage reaches 3.3 V, the main CPU wakes up and computes the Game’s new state. In bright sunlight this happens every few seconds, while on an overcast day it could take minutes or even hours.

[David]’s interesting idea of changing Life‘s activity based on the amount of energy available turns the Game into something resembling a cold-blooded animal. We’ve seen a similar approach in a “solar creature” that runs a Life-life simulation on a seven-segment LCD. If it’s speed you care about however, you’re better off implementing Life in an FPGA.

A Simple One-Handed Solder Feeder

Soldering can get frustrating when you’re working fast. It often feels like you don’t have enough hands, particularly on jobs where you need to keep feeding solder in a hurry. To solve that issue, [mulcmu] developed a simple one-handed solder feeder.

The solder is fed out of the tip by simply dragging it with the thumb.

The intended use-case is for busy work like soldering long pin headers. The one-handed device allows solder to be continually fed while the other hand uses the soldering iron. It solves a long-running problem for [mulcmu], after their experiments with techniques inspired by TIG welding came to nought.

The design uses a pen-like form factor. A 3D-printed hollow tube has a wire ferrule inserted in the end, which serves as the tip of the device through which solder is fed. The tube has a cutaway, which allows the user to feed solder through using an easy motion of the thumb. The solder itself is fed from a spool in a regular bench top holder. If more slack is required in the solder feed, one simply pins the solder down in the device and tugs to draw more out.

If you find yourself regularly soldering repetitive jobs by hand, this could be a gamechanger for you. Those working in through-hole would be perhaps best served by this device. Meanwhile, if you’ve got nifty tool hacks of your own to share, don’t hesitate to let us know!

 

Breaking Land Speed Records With An RC Car

Building and running a land speed record car is an expensive business that requires incredibly wealthy benefactors. Doing it on a smaller scale with a radio control car is still pricy, but more within the reach of the individual. [ProjectAir] has been working on just that, and recently set out to break records with a car of his own design.

The car runs a Jetcat 220 engine capable of delivering 220 newtons of thrust, built into a custom aluminium chassis with streamlined bodywork. Early runs saw it reach 112 km/h, but the goal was to push it beyond 150 km/h to break the standing Guinness World Record.

With an RC event running on a local runway, [ProjectAir] had the venue and opportunity to make an attempt. It was tough going, with the car throwing off its nosecose in one run, while rough weather brought further struggles. Strong crosswinds played a role in a violent crash on the car’s fastest pass, which ripped the car apart and destroyed the engine. However, in the end, it had done enough to secure a record at over 152 km/h, even if its later faster efforts didn’t officially count.

It’s clear that the car has come a long way since [ProjectAir’s] initial efforts in 2022, and we can’t wait to see where the project goes next. Video after the break.

Continue reading “Breaking Land Speed Records With An RC Car”

Halbach Array Makes Magnets Strong, Weak

If you want a strong magnet, the obvious answer is to buy one. However, for a variety of reasons, you might want to combine several smaller magnets. There are a few ways to do this, but the Halbach array, as [wannabemadsci] explains, allows you to make an array of magnets where one side is very strong, and the other side is very weak.

The example uses a 3D-printed housing and five cube magnets. To form a Halbach array, the poles of the magnets are in a specific orientation that effectively rotates ninety degrees for each — in this case — cube.

Continue reading “Halbach Array Makes Magnets Strong, Weak”

PicoDebugger Makes Development Easier

Debugging a Raspberry Pi Pico is straightforward enough; it simply involves hooking up something up to the USB and SWD pins. [Mark Stevens] whipped up the PicoDebugger to make this job easier than ever before.

The Raspberry Pi Foundation developed the Picoprobe system to allow a RP2040 to act as a USB to SWD and UART bridge for debugging another Pico or RP2040. The problem is that hooking it up time and time again can be fussy and frustrating.

To get around this, [Mark] whipped up the PicoDebugger board, which directly connects most of the important pins for you. Drop a Pico into the “Target” slot, and you can hook up the PicoDebugger to its UART lines with the flick of a DIP switch. The SWD pins can then also be connected via jumpers if so desired.  It also features a 2×20-pin header to allow the target to be wired into other hardware as necessary.

It’s a neat project, and it certainly beats running a bird’s nest of jumper wires every time you want to debug a Pico project. Simply dropping a board in is much more desirable.

We’ve seen some other neat debug tools over the years, too. If you’ve got your own development productivity hacks in the works, don’t hesitate to let us know!

Building A Digital Compass With An Arduino

The magnetic compass has been a crucial navigational tool for around a thousand years or so, perhaps longer. While classical versions still work perfectly well, you can now get digital magnetometers that work in much the same way. [mircemk] decided to whip up a digital compass to demonstrate the value of these parts.

The build uses a HMC5883L magnetometer. While this can detect magnetic fields in three axes, just one is necessary for building a device that operates akin to a traditional compass. The output of the device is read by an Arduino Nano, which is hooked up to a string of WS2812B LEDs and a small OLED display. The LEDs display the bearing of magnetic north, while the OLED screen shows the current angle between the compass’s arrow and magnetic north.

It’s a tidy build that would be a great educational resource for teaching both electronics and navigational skills. We’ve seen similar projects before, like the hilarious Pizza Compass. Video after the break.

Continue reading “Building A Digital Compass With An Arduino”