Micropython And C Play Together Better

Python is a versatile, powerful language but sometimes it’s not the best choice, especially if you’re doing work in embedded systems with limited memory. Sometimes you can get away with MicroPython for these cases, but the best language is likely C or assembly. If you’re really stubborn, like [amirgon], and really want C and Python to play well together, you can make use of his new tool which can bring any C library to MicroPython.

As an example of how this tool is used, a “Pure MicroPython” display driver for ILI9341 on the ESP32, which means that everything was implemented in MicroPython. [amirgon] wanted to see how the Python driver would compare to one that’s already been written in C, and use it to showcase MicroPython binding. This tool also automatically converts structs, unions, enums and arrays to Python objects, and provides a means to work with pointers which is something that Python doesn’t handle in the same way that C requires.

[amirgon] hopes that this tool will encourage the adoption of Micropython by removing the obstacle of missing APIs and libraries in MicroPython. Since most libraries for systems like these are written in C, a way to implement them in Python is certainly powerful. We featured one use case for this a while back, but this is a much more generic fix for this coding obstacle.

How To Play Doom – And More – On An NES

Doom was a breakthrough game for its time, and became so popular that now it’s essentially the “Banana For Scale” of hardware hacking. Doom has been ported to countless devices, most of which have enough processing ability to run the game natively. Recently, this lineup of Doom-compatible devices expanded to include the NES even though the system definitely doesn’t have enough capability to run it without special help. And if you want your own Doom NES cartridge, this video will show you how to build it.

We featured the original build from [TheRasteri] a while back which goes into details about how it’s possible to run such a resource-intensive game on a comparatively weak system. You just have to enter the cheat code “RASPI”. After all the heavy lifting is done, it’s time to put it into a realistic-looking cartridge.

To get everything to fit in the donor cartridge, first the ICs in the cartridge were removed (except the lockout IC) and replaced with custom ROM chips. Some modifications to the original board have to be soldered together as well, since the new chips’ pinouts don’t match perfectly. Then, most of the pin headers on the Raspberry Pi and the supporting hardware have to be removed and soldered together. Then, [TheRasteri] checks to make sure that all this extra hardware doesn’t draw too much power from the NES and overheat it.

The original project was impressive on its own, but with the Doom cartridge completed this really makes it the perfect NES hack, and also opens up the door for a lot of other custom games, including things like Mario64.

Continue reading “How To Play Doom – And More – On An NES”

Skid Steer Mows Airport Grass Autonomously

Sure, mowing the lawn is a hassle. No one really wants to spend their time and money growing a crop that doesn’t produce food, but we do it anyway. If you’re taking care of a quarter acre in the suburbs it’s not that much of a time sink, but if you’re taking care of as much grass as [Roby], you’d probably build something similar to his autonomous skid-steer mower, too.

This thing isn’t a normal push mower outfitted with some random electronics, either. This is a serious mower that is essentially a tractor with blades attached to it. Since it’s a skid steer, it turns by means of two handles that control the speed of the left or right drive wheels. Fabricating up some servo linkages to attach them to specialized servos takes care of the steering portion, and the brain is ArduPilot hooked up to a host of radios, GPS, and a compass to allow it to drive all around the runways at the airport without interfering with any aircraft.

This is a serious build and goes into a lot of detail about how servos and linkages should behave, how all the software works, and the issues of actually mounting everything to the mower. The entire project is open source too, so even if you don’t have a whole airport runway to mow you might be able to find something in there to help with your little patch of grass.

Thanks to [Vincent] for the tip!

Continue reading “Skid Steer Mows Airport Grass Autonomously”

Another Way To Make PCBs At Home

One of the more popular ways of rolling out your own custom PCB is to simply create the model in your CAD program of choice and send it off to a board manufacturer who will take care of the dirty work for you. This way there is no need to deal with things like chemicals, copper dust, or maintaining expensive tools. A middle ground between the board manufacturer and a home etching system though might be what [igorfonseca83] has been doing: using an inexpensive laser engraver to make PCBs for him.

A laser engraver is basically a low-power laser CNC machine that’s just slightly too weak to cut most things that would typically go in a laser cutter. It turns out that the 10W system is the perfect amount of energy to remove a mask from a standard PCB blank, though. This in effect takes the place of the printer in the old toner transfer method, and the copper still has to be dissolved in a chemical solution, but the results are a lot more robust than trying to modify a printer for this task.

If you aren’t familiar with the days of yore when homebrew PCBs involved a standard desktop printer, many people still use this method, although the results can be mixed based on printer reliability. If you want to skip the middleman, and the need for a chemical bath, a more powerful laser actually can cut the traces for you, too.

Continue reading “Another Way To Make PCBs At Home”

Take Pictures Around A Corner

One of the core lessons any physics student will come to realize is that the more you know about physics, the less intuitive it seems. Take the nature of light, for example. Is it a wave? A particle? Both? Neither? Whatever the answer to the question, scientists are at least able to exploit some of its characteristics, like its ability to bend and bounce off of obstacles. This camera, for example, is able to image a room without a direct light-of-sight as a result.

The process works by pointing a camera through an opening in the room and then strobing a laser at the exposed wall. The laser light bounces off of the wall, into the room, off of the objects on the hidden side of the room, and then back to the camera. This concept isn’t new, but the interesting thing that this group has done is lift the curtain on the image processing underpinnings. Before, the process required a research team and often the backing of the university, but this project shows off the technique using just a few lines of code.

This project’s page documents everything extensively, including all of the algorithms used for reconstructing an image of the room. And by the way, it’s not a simple 2D image, but a 3D model that the camera can capture. So there should be some good information for anyone working in the 3D modeling world as well.

Thanks to [Chris] for the tip!

Conductive Origami Lights Up Your Life

It’s taken mobile phone developers years to develop electric circuits and displays that can fold. Finally he first few have come to market — with mixed reviews and questionable utility at best. For all that R&D, there are a lot of other cases where folding circuitry might have been more useful than it seems these handsets have been. One of those is conductive origami, which in this case allows for light fixtures that turn themselves on as they are unfolded.

This conductive origami is produced by [Yael Akirav] using a 3D printer to deposit the conductive material onto fabric. From there, the light fixture can be unfolded into its final position and turned on. This isn’t just a decorative curiosity though, the design of the folding material actually incorporates the ability to turn itself on as it is unfolded. One device brightens itself as it is slowly unfolded.

This is an interesting take on foldable circuits in general, especially with some of the functionality incorporated into the physical shape of the material. We’ve seen conductive elements embroidered into fabric before, but this takes it to a new level. Surely there are more applications for a device like this that we will see in the future as well.

Thanks to [t42] for the tip!

Modern Linux Runs On Ancient Toshiba

While Microsoft no longer supports those of its operating systems that were in heavy use into the early 2000s, support for old hardware is not typically something that you will have to worry about if you run Linux on your machines. Sure, there will be driver issues from time to time, and you might have to do some things by hand, but if you’re using legacy hardware you’ll want a Linux distribution of some sort. Especially if you’re running it on one of the first laptops to ever feature a Pentium processor of any kind.

This is a Toshiba T4900CT which [MingcongBai] has been able to spruce up by installing a simplified version of the AOSC OS Linux distribution. The distribution is known for its simplified user interface, and this particular one runs a “Retro” command-line-only version. Upon startup (which takes over two minutes), the user can view the hardware and software specs: Linux kernel 4.19.67 (released within the past year) on a 75 MHz Intel processor.

Getting old equipment to work, even if the software is available, is a challenge and this one stands out for the historical noteworthiness of the laptop. We didn’t see it connect to the Internet, but if it ever does we still keep Retro Hackaday up specifically for situations like this.