Stealing RAM For A Microcontroller From A TFT Display

PC users with long memories will recall the days when the one-megabyte barrier was  a significant problem, and the various tricks of extended and expanded memory used to mitigate it. One of them was to install a driver that mapped surplus graphics card memory as system memory when the display was in DOS text mode, and it was this that was brought to mind when we read about [Frank D]’s microcontroller implementation of Conway’s Game Of Life.

The components were those he had to hand; an STM32F030F4P6 and an RM68130 176 × 220 TFT board. The STM is not the most powerful of chips, with only 16 kB of Flash and 4 kB of RAM. The display has enough on-board memory to support 18 bits of colour information, but when it is running in eight-colour mode it only uses three of them. The 15 bits that remain are thus available to be used for other purposes, and though the arcane format in which they are read required some understanding they could be used to provide a very useful extra 38720 bytes of RAM for the microcontroller just as once happened with those DOS PC graphics cards of old. Interestingly, the same technique should work with other similar displays.

Though this isn’t a new technique by any means we can’t recall seeing it used in a microcontroller project such as this one before. We’ve brought you many Games of Life though, as well as marking John Conway’s passing earlier this year.

Continue reading “Stealing RAM For A Microcontroller From A TFT Display”

A Sweet Little Insulin Reminder Light

So much of what we do relies on a certain societal structure that has been absent for a few months now. When the days run together, it’s hard to remember to do the things that must happen daily. You think you did something, and maybe you’re right, but it’s quite possible you’re thinking of yesterday.

[Flameeyes] has diabetes and must use an insulin pen every morning without fail, no matter what’s happening outside his door. This was pretty much a non-issue in the before-time, but quickly became a serious problem as the routine-free weeks wore on. With no room for false positives, he needed a solution that doesn’t trigger until the deed is done.

Now when [Flameeyes] puts the pen away, he also triggers a Flic smart button mounted nearby. The Flic shares its status with a Feather M4 Express through a web app, and the Feather in turn changes the RGB LED inside of Pikachu’s base from red to yellow for the day. Pikachu sits in plain sight by the kettle, so there’s no guessing whether [Flameeyes] took his insulin.

Insulin is a critical commodity with a lot of DIY interest, which is probably starting to spike about now. Our own [Dan Maloney] wrote a great piece on the subject that brings up an insulin hack from around 80 years ago.

Weather Display Is Cloudy With A Chance Of ESP8266

[Mukesh Sankhla] writes in to share this unique weather display that looks to be equal parts art and science. Rather than show the current conditions with something as pedestrian as numbers, this device communicates various weather conditions to the user with 25 WS2812B LEDs embedded into the 3D printed structure. It also doubles as a functional planter for your desk.

So how does this potted plant tell you if it’s time to get your umbrella? Using a NodeMCU ESP8266 development board, it connects to openweathermap.org and gets the current conditions for your location. Relative temperature is conveyed by changing the color of the pot itself; going from blue to red as things heat up. If there’s rain, the cloud over the plant will change color and flash to indicate thunder.

[Mukesh] has made all of the STL files for the printed components available, as well as the source code for the ESP8266. You’ll need to provide your own soil and plant though, there’s only so much you can send over the Internet. Incidentally, if the clever way he soldered these WS2812B modules together in the video catches your eye, you’ll really love his “RGB Goggles” project that we covered earlier.

Continue reading “Weather Display Is Cloudy With A Chance Of ESP8266”

Bolt-On Clog Detection For Your 3D Printer

Desktop 3D printing technology has improved by leaps and bounds over the last few years, but they can still be finicky beasts. Part of this is because the consumer-level machines generally don’t offer much in the way of instrumentation. If the filament runs out or the hotend clogs up and stops extruding, the vast majority of printers will keep humming along with nothing to show for it.

Looking to prevent the heartache of a half-finished print, [Elite Worm] has been working on a very clever filament detector that can be retrofitted to your 3D printer with a minimum of fuss. The design, at least in its current form, doesn’t actually interface with the printer beyond latching onto the part cooling fan as a convenient source of DC power. Filament simply passes through it on the way to the extruder, and should it stop moving while the fan is still running (indicating that the machine should be printing), it will sound the alarm.

Inside the handy device is a Digispark ATtiny85 microcontroller, a 128 x 32  I2C OLED display, a buzzer, an LED, and a photoresistor. An ingenious 3D printed mechanism grabs the filament on its way through to the extruder, and uses this movement to alternately block and unblock the path between the LED and photoresistor. If the microcontroller doesn’t see the telltale pulse after a few minutes, it knows that something has gone wrong.

In the video after the break, [Elite Worm] fits the device to his Prusa i3 MK2, but it should work on essentially any 3D printer if you can find a convenient place to mount it. Keep a close eye out during the video for our favorite part of the whole build, using the neck of a latex party balloon to add a little traction to the wheels of the filament sensor. Brilliant.

Incidentally, Prusa tried to tackle jam detection optically on the i3 MK3 but ended up deleting the feature on the subsequent MK3S since the system proved unreliable with some filaments. The official line is that jams are so infrequent with high-quality filament that the printer doesn’t need it, but it does seem like an odd omission when even the cheapest paper printer on the market still beeps at you when things have run afoul.

Continue reading “Bolt-On Clog Detection For Your 3D Printer”

ESP32 Trail Camera Goes The Distance On AA Batteries

There’s no shortage of things to like about the ESP8266 and ESP32, but if we had to make a list of the best features these WiFi-enabled microcontrollers have to offer, their power management capabilities would certainly be near the top. Which is how we assumed [Mark] was able to take a whopping 23,475 pictures on his ESP32 camera while powered by nothing more exotic than four AA batteries from the grocery store.

But as it turns out, the full story is quite a bit more interesting. As far as we can tell, [Mark] isn’t bothering with the ESP32’s sleep modes all. In fact, it looks like you could pull this trick off with whatever chip you wanted, which certainly makes it worth mentally filing away for the future; even if it depends on a fairly specific use case.

In the most simplistic of terms, [Mark] is cutting power to the ESP32 completely when it’s not actively taking pictures. The clever circuit he’s come up with only turns on the microcontroller when a PIR sensor detects something moving around in front of the camera. Once the chip is powered up and running code, it brings one of its GPIO pins high which in turn triggers a 4N37 optoisolator connected to the gate on the circuit’s MOSFET. As long as the pin remains high, the circuit won’t cut power to the ESP32. This gives the chip time to take the requested number of pictures and get everything in order before bringing the pin low and allowing the circuit to pull the plug.

If you’re looking to maximize runtime without wrangling any MOSFETs, we’ve seen some excellent examples of how the low power modes on the ESP8266 and ESP32 can be put to impressive use.

[Thanks to Jason for the tip.]

New Breakout Board For Grid-EYE Thermal Sensor

Panasonic’s Grid-EYE sensor is essentially a low-cost 8×8 thermal imager with a 60 degree field of view, and a nice breakout board makes it much easier to integrate into projects. [Pure Engineering] has created an updated version of their handy breakout board for the Grid-EYE and are currently accepting orders. The new breakout board is well under an inch square and called the GridEye2 (not to be confused with the name of the main component, the AMG8833 Grid-EYE by Panasonic.)

GridEye2 connected to CH341A dev board, allowing easy PC interface over USB.

A common way to interface with the Grid-EYE is over I2C, but to make connecting and developing on a PC more straightforward, [Pure Engineering] has made sure the new unit can plug right into their (optional) CH341A development board to provide a USB interface. Getting up and running on a Linux box is then as simple as installing the Linux drivers for the CH341A, and using sample C code to start reading thermal data from an attached GridEye2 board.

The Grid-EYE is a low-cost and capable little device that mates well with an LED matrix display, and on the more advanced side, a simple Gaussian interpolation can have a striking effect when applied to low-resolution sensors, making them appear higher resolution than they actually are.

Ultra-Cheap Microcontroller Powers Addressable 7-segment Display

Since their being revealed to our community over a year ago, the various ultra-cheap microcontrollers in the sub-ten-cent price range have attracted a lot of interest but not so many projects. Their slightly annoying programming and PIC12-derived architectures present a barrier not mitigated by their price, when picking up an Atmel or other processor represents a much easier choice. That’s not to say that they aren’t slowly making an appearance though, and a cracking example comes from [Tim], who’s used a Padauk microcontroller to make an addressable 7-segment display. If you’re used to addressable multi-colour LEDs, this extends the idea into the world of numerical information.

The result is a PCB little bigger than the 7-segment display it serves, with interlocking 0.1″ pin connectors allowing daisy-chaining of modules. The extreme low cost of the parts makes it an attractive solution. Software wise it’s driven in a similar manner to addressable LEDs, and he goes into significant detail on its protocol. The firmware can be found in a GitHub repository. He directs readers to the Easy PDK programmer and the Small Device C compiler, which should be of interest to anyone tempted by these processors.