A Petite Pico Projector For Portable Pi

A few years ago, new, innovative pico projectors, influenced by one of the TI development kits, started appearing in Kickstarter projects and other various DIY endeavours. Those projects fizzled out, most likely due to the cost of the projectors, but we got a few laughs out of it: that wearable smartphone that projected a screen onto your wrist used the same technology.

But there’s a need for a small projector, a pico projector, or in this case a femto projector. It’s the Nebra Anybeam, and it’s a small projector that uses lasers, and it comes in the form of a Raspberry Pi hat. We would like to congratulate the team for shipping the ideal use case of their product first.

The key features of this pico projector address the shortcomings of existing projectors that can fit in your pocket. This uses a laser, and there’s no bulb, and the power consumption can be as low as 3 Watts. Power is provided over a micro USB cable. The resolution of this projector is 720p, which is sufficient for a quick setup for watching a movie, but the brightness is listed as equivalent to 150 ANSI lumens, about the same as small projectors from a few years ago.

But of course the big selling point isn’t the brightness or resolution, it’s all about the smallness of the projector itself. There is a developer’s kit, a Pi Hat, a fit-in-your-pocket version with an enclosure, and a ‘monster ball’ version of the Anybeam.

Hackaday Links Column Banner

Hackaday Links: April 7, 2019

It’s April, which means all the people responsible for doubling the number of badges at DEF CON are hard at work getting their prototypes ready and trying to fund the entire thing. The first one out of the gate is Da Bomb, by [netik] and his crew. This is the same team that brought you the Ides of DEF CON badge, a blinky wearable multiplayer game that’s SPQR AF. Da Bomb is now a Kickstarter campaign to get the funding for the run of 500, and you’re getting a wearable badge filled with puzzles, Easter eggs, and a radio-based sea battle game that obviously can’t be called Battleship, because the navy doesn’t have battleships anymore.

Speaking of badges and various badge paraphernalia, there’s a new standard for add-ons this year. The Shitty Add-On V.1.69bis standard adds two pins and a very secure shrouded connector that solves all the problems of last year’s standard. [AND!XOR] just released a Shitty Brooch that powers all Shitty Add-Ons with a CR2032 battery. All the files are up on the Gits, so have fun.

You can 3D print anything if you don’t mind dealing with supports. But how to remove supports? For that [CCecil] has a great tip: use Chap stick. This is a print that used supports and it’s perfectly clean, right off the bed. By inserting a suspend (M600) command at the z-height of the top of the interface layer, then adding Chap stick on the top layer, everything comes off clean. Neat.

Speaking of 3D printing, here’s a project for anyone with the patience to do some serious modeling. It’s a pocket Soviet record player, although I think it’s more properly called a gramophone. It’s crank powered, so there’s a spring in there somewhere, and it’s entirely acoustic with zero electronics. Yes, you’re going to need a needle, but I’d be very interested in seeing somebody remake this using modern tools and construction materials.

Tracking Binary Changes: Learn The DIFF-erent Ways Of The ELF

Source control is often the first step when starting a new project (or it should be, we’d hope!). Breaking changes down into smaller chunks and managing the changes between them makes it easier to share work between developers and to catch and revert mistakes after they happen. As project complexity increases it’s often desirable to add other nice to have features on top of it like automatic build, test, and deployment.

These are less common for firmware but automatic builds (“Continuous Integration” or CI) is repetitively easy to setup and instantly gives you an eye on a range of potential problems. Forget to check in that new header? Source won’t build. Tweaked the linker script and broke something? Software won’t build. Renamed a variable but forgot a few references? Software won’t build. But just building the software is only the beginning. [noseglasses] put together a tool called elf_diff to make tracking binary changes easier, and it’s a nifty addition to any build pipeline.

In firmware-land, where flash space can be limited, it’s nice to keep a handle on code size. This can be done a number of ways. Manual inspection of .map files (colloquially “mapfiles”) is the easiest place to start but not conducive to automatic tracking over time. Mapfiles are generated by the linker and track the compiled sizes of object files generated during build, as well as the flash and RAM layouts of the final output files. Here’s an example generated by GCC from a small electronic badge. This is a relatively simple single purpose device, and the file is already about 4000 lines long. Want to figure out how much codespace a function takes up? That’s in there but you’re going to need to dig for it.

elf_diff automates that process by wrapping it up in a handy report which can be generated automatically as part of a CI pipeline. Fundamentally the tool takes as inputs an old and a new ELF file and generates HTML or PDF reports like this one that include readouts like the image shown here. The resulting table highlights a few classes of binary changes. The most prominent is size change for the code and RAM sections, but it also breaks down code size changes in individual symbols (think structures and functions). [noseglasses] has a companion script to make the CI process easier by compiling a pair of firmware files and running elf_diff over them to generate reports. This might be a useful starting point for your own build system integration.

Thanks [obra] for the tip! Have any tips and tricks for applying modern software practices to firmware development? Tell us in the comments!

DIY Air Conditioner Built From Weird Donor Appliance

There are some parts of the world where living without air conditioning borders on unthinkable. But in more moderate climates, it isn’t all that unusual. [Josh’s] apartment doesn’t have central air conditioning — the kind that connects to a forced-air heating/cooling system. It does, though, have a water circuit for air conditioning, so he decided to hack a few experimental air conditioners.

He’s not starting completely from scratch. The two attempts he made at building his AC came from donor parts. The successful one started out as a hot water heater. The very first attempt didn’t quite work as well, using a refrigerator compressor and an evaporator from a baseboard heater. The flow control through the heat exchanger turns out to be very tricky, so [Josh] claims he mostly got ice right at the inlet and minimal cooling through the evaporator.

The more successful one works better but still has a problem with the evaporator freezing that he’s trying to solve. He’s looking for suggestions on how to make it work better. As much as we like a good hack, our advice is to move to a different apartment building.

We’ve seen other homemade coolers, but they are more like swamp coolers. If you just need to cool your desk, you might just get some ice in a metal can.

Continue reading “DIY Air Conditioner Built From Weird Donor Appliance”

Restoring An HP LCZ Meter From The 1980s

We are fantastically lucky not only in the parts that are easily available to us at reasonable cost, but also for the affordable test equipment that we can have on our benches. It was not always this way though, and [NFM] treats us to an extensive teardown and upgrade of a piece of test equipment from the days when a hacker’s bench would have been well-appointed with just a multimeter and a 10MHz ‘scope.

The Hewlett Packard 4276A LCZ meter is, or perhaps was, the king of component testers. A 19″ rack unit that would comfortably fill a shelf, it has a host of functions and a brace of red LED displays. This particular meter had clearly seen better days, and required a look inside just to clean up connectors and replace aged batteries.

In the case is a backplane board with a series of edge connectors for a PSU, CPU, and analogue boards. Aged capacitors and those batteries were replaced, and those edge connectors cleaned up again. The CPU board appears to have a Z80 at its heart, and we’re sure we spotted a 1987 date code. There are plenty of nice high-quality touches, such as the individual 7-segment digits being socketed.

An after-market option for this equipment included a DC offset board, and incredibly HP publish its full schematic and a picture of its PCB in their manual. It was thus a simple process and quick PCB ordering to knock up a modern replica, with just a few component substitutions and single resistors replacing an HP specific encapsulated resistor pack.

As a treat we get a ringside seat for the set-up and alignment of the machine. The DC offset board gives the wrong voltage, which he traces to a voltage reference with a different tolerance to the original HP part. [NFM] makes some adjustments to resistor values, and is able to pull the voltage to the correct value. Finally we see the instrument put through its paces, and along the way have a demonstration of how capacitance of a ceramic capacitor can vary with voltage close to its working voltage. Even if you never have the need for an LCZ meter or never see an HP 4276A, this should be worth a watch. And if you now have an urge to find a bench full of similar treasures, take a look at our guide to old test equipment.

Continue reading “Restoring An HP LCZ Meter From The 1980s”

Shop-Built Fixtures Reveal The Magic Of Switchable Permanent Magnets

Have you ever wondered how switchable magnets work? Not electromagnets, but those permanent magnet fixtures like the ones that hold dial indicators to machine tools, or the big, powerful chucks for surface grinders that can be mysteriously demagnetized at the flick of a lever. It seems like magic.

Thanks to [Andrew Klein] and this video on shop-built magnetic switches, the magic is gone. As it turns out, the ability to nullify the powerful magnetic field from a bunch of rare earth permanent magnets is as simple as bringing in another set of magnets to cancel out the magnetic fields of the first set.

[Andrew]’s magnetic pucks are formed from two thick plywood discs with magnets set into the edges. These magnets alternate in polarity around the discs, and they match up with mild steel pole pieces set into the face of the discs. The two discs swivel on a common axis; when the top disc is swiveled so that the polarity of the top and bottom magnets align, the magnet is switched on. Swiveling the top 60° puts the opposing fields in line with each other, canceling out the powerful combined pull of all the magnets and releasing the fixture.

[Andrew] sells a set of plans for the magswitches, which he built using standard woodshop tools. We think the design is perfect for a CNC router, though, where the fussy boring and counterboring operations might be a little easier. Perhaps even a 3D-printed version would be possible. This isn’t the first switchable magnet we’ve seen, of course, but we like this one because it’s all mechanical.

Continue reading “Shop-Built Fixtures Reveal The Magic Of Switchable Permanent Magnets”

A Contact Lens Launcher That Knows The Weather

They say that necessity is the “Mother of Invention”, but over the years we’ve started to suspect that her cousin might be an underutilized microcontroller. How else can you explain projects like the latest from [MNMakerMan], which takes the relatively simple concept of a contact lens holder and manages to turn it into an Internet-connected electronic appliance? Not that we’re complaining, of course.

He started out with a simple 3D printed holder for his wall that would let him pull out his daily lenses, which worked well enough and gained some popularity on Thingiverse. But he wondered if there wasn’t some way he could use a servo to automate the process. While he was at it, he might as well play with some of the components he’s been meaning to get some hands-on experience with, such as those little OLED displays all the cool kids are using.

Modifying his original design to incorporate servos in the bottom, he added a central compartment that would house an ESP8266 and a simple proximity sensor made from an IR LED and photodiode. The sensor tends to be a little twitchy, so he left a potentiometer inside the device so he can fine tune it as needed.

Strictly speaking the OLED display isn’t actually required for this project, but since he had a WiFi capable microcontroller sitting there doing basically nothing all day anyway, he added in a feature that shows the weather forecast. It’s not much of a stretch to say that the first thing you’d want to see in the morning after regaining the sense of sight is a readout of what the day’s weather will be, so we think it’s a fairly logical extension of the core functionality. Bonus points if he eventually adds in a notification to remind him it’s time to order more lenses when the dispenser starts getting low.

If you don’t have any contact lenses you need dispensed, never fear. A similar concept can be used to fire off your customized swag at hacker events. Don’t have any of that either? Well in that case you can always build a candy dispenser for Halloween.

Continue reading “A Contact Lens Launcher That Knows The Weather”