Adding the Nokia 5110 LCD to your Arduino data logger

From the comments on our ChipKIT based weather station using BME280 sensor module post, Edward Mallon writes:

A lot of us have ended up at this sensor / screen combination. But I couldn’t afford the extravagance of six dedicated control lines on our little pro mini based loggers.
However with some slight modification, you can drive the Nokia 5110 LCD with only 3 control lines, and power the display from a digital pin

More details thecavepearlproject.org.

Reading a VGA monitor’s configuration data with I2C and a PocketBeagle

pocketbeagle-vga-600

Ken Shirriff wrote an article showing how to read the monitor’s config data using the I2C protocol and a board with an I2C port:

Have you ever wondered how your computer knows all the characteristics of your monitor— the supported resolutions, the model, and even the serial number? Most monitors use a system called DDC to communicate this information to the computer.1 This information is transmitted using the I2C communication protocol—a protocol also popular for connecting hobbyist devices. In this post, I look inside a VGA monitor cable, use a tiny PocketBeagle (a single-board computer in the BeagleBone family) to read the I2C data from an LCD monitor, and then analyze this data.

More details at Ken Shirriff’s blog.

Reverse engineering of BK Precision 1696 switching power supply’s LCD protocol

ppreverseengineeringwiring-600

Kerry Wong writes:

As mentioned in my previous post, besides the broken LCD there was also an issue with the power supply portion of the unit and the output voltage was clamped at around 10 to 11V. The digital circuitry portion however seemed to be intact. Unfortunately since an identical LCD is virtually unobtanium, I thought I’d reverse engineer the LCD protocol so once the power supply is fixed I can fix the display by hooking up a different LCD.

See the full post on his blog.

Check out the video after the break.

SMA solar readout

sma-solar-600

Jean-Claude writes:

This is the first post of a 3-part series about reading out an SMA solar inverter over Bluetooth and displaying some readings every few seconds. Long-time readers may remember the Solar at last weblog post from several years ago and the SMA Relay, based on a JeeNode v6. The Bluetooth readout code was derived from Stuart Pittaway’s Nanode SMA PV Monitor code.
This project is for a friend who’s birthday is coming up shortly, and who has the same SMA 5000TL inverter as I do – although it can probably be used with other models.

Project info at Jeelabs.org.

Inside the Printrbot Printrhub

A new version of the Printrbot Simple was released this summer, and this sleek new model includes a few highly desirable features. The metal enclosure was improved, linear rails added, a power switch was thrown in, and the biggest feature — a touch screen — makes headless printing easy.

Adding a usable display and achieving reliable WiFi are big engineering challenges, and thanks to the Internet of Things it’s only going to become more common to expect those features. How did the Printrbot team implement this? [Philip Shuster] recently released a write-up of how the Printrbot Printrhub came together.

The story of the display and WiFi module in the newest Printrbot begins about a year ago with a post on Hackaday. [Philip] built the Little Helper, a little electronic Swiss Army knife capable of basic IO, sending out PWM pulses, sniffing I2C, and a few other handy features. The Printrbot team reached out to [Philip], and after a few conversations, he was roped into the development team for the Printrhub.

Departing slightly from the Little Helper, the Printrhub features the same microcontroller found in the Teensy 3, a 2.8 inch TFT display, capacitive touch sensor, microSD card slot, and an ESP-12 module to handle the WiFi connection. The display system was tricky, but the team eventually got it working. Using an ESP8266 as the WiFi module for a printer is more difficult than you would think, but that works too.

One of the more interesting challenges for 3D printers in the last few years is the development of a good printer display with wireless connectivity. Yes, those graphic LCDs attached to an Arduino still work, but a display from 1980 doesn’t sell printers. In just a few months, the Printrbot team came up with a relatively simple, very elegant display that does everything and they’re releasing all the hardware as open source. That’s great news, and we can’t wait to see similar setups in other makes of 3D printers.


Filed under: 3d Printer hacks

Craziest Pin-Saving LCD Trick Ever!

We love squeezing every last bit of silicon goodness out of a tiny chip, or at least we delight in seeing it done. Today’s analog/digital hack is one of the sweetest we’ve seen in a while. And it’s also a little bit of a puzzle, so don’t scroll down to the answer until you’ve given the schematic a good think-over.

[Claudio Larios] built a tachometer with LCD display, using only an eight pin PIC microcontroller for brains. (Translatrix.) Two pins are taken up by the power supply and one reads a Hall sensor, leaving only three pins to drive an LCD display which needs six signals. The problem to be solved is the fundamental mathematical issue that three is less than six. Now have a look at the schematic.

If you’ve not played with the Hitachi HD44780 LCD controller before, it has four-bit and eight-bit data modes. In four-bit, used here, you only need to send data on D4, D5, D6, and D7. RS selects between command and data mode, and E is the clock signal that latches the data in on a falling edge. Mull that over a bit before reading the next paragraph.

SPOILERS!

What [Claudio] is doing is essentially using the 10 nF capacitors as little memories! (Look into DRAM if this analogy seems a stretch to you.)

In a first pass, the PIC’s pins are set high or low for a longish period of time (500 microseconds), long enough to charge or discharge the capacitors through the 10K resistors. In a second pass, the values for D5 and D7 are set, and the E line is strobed up and down almost immediately to latch in the values on the no-capacitor lines.

The second pass happens so quickly that the capacitors can’t charge or discharge fully and RS, D4, and D6 read in whatever logic value was set during the first pass. Brilliant! (Oh yeah, this project was about a tachometer. We got distracted by the shiny pin-stretching tricks. We’re sure it’s a fine tachometer.) Did you see how he pulled that off with only three pins?! And no shift register?!?

HaD reader [danjovic] sent us the tip and did a little work on the code, verified that the technique worked, and provided the banner photos of his recreation. Many, many thanks!


Filed under: misc hacks

A Next-Level Home-Built Flight Simulator

Every hobby needs to have a few people who take it just a little too far. In particular, the aviation hobbies – Radio control flying, FPV multicopter racing, and the like – seem to inspire more than their fair share of hard-core builds. In witness whereof we present this over-the-top home-brew flight simulator.

His wife and friends think he’s crazy, and we agree. But [XPilotSimPro] is that special kind of crazy that it takes to advance the state of the art, and we applaud him for that. A long-time fan of flight simulator games, he was lucky enough to log some time in a real 737 simulator. That seems to be where he caught the DIY bug. The video after the break is a whirlwind tour of the main part of his build, which does not seek to faithfully reproduce any particular cockpit as much as create a plausibly awesome one. Built on a PVC pipe frame with plywood panels, the cockpit is bristling with LCD panels, flight instruments, and bays of avionics that look like they came out of a cockpit. The simulator sits facing a wall with an overhead LCD projector providing views of the outside world. An overhead panel sporting yet more LCD panels and instruments was a recent addition. The whole thing is powered by a hefty looking gaming rig running X-Plane, allowing [XPilotSimPro] to take on any aviation challenge, including landing an Embraer 109 on the deck of the USS Nimitz Aircraft Carrier.

What could be next for [XPilotSimPro]’s simulator? How about adding a little motion control with pneumatics? Or better still, how about using a real 737 cockpit as a simulator?

[via r/DIY]


Filed under: misc hacks, transportation hacks

A Dual-purpose Arduino Servo Tester

RC flying is one of those multi-disciplinary hobbies that really lets you expand your skill set. You don’t really need to know much to get started, but to get good you need to be part aeronautical engineer, part test pilot and part mechanic. But if you’re going to really go far you’ll also need to get good at electronics, which was part of the reason behind this Arduino servo tester.

[Peter Pokojny] decided to take the plunge into electronics to help him with the hobby, and he dove into the deep end. He built a servo tester and demonstrator based on an Arduino, and went the extra mile to give it a good UI and a bunch of functionality. The test program can cycle the servo under test through its full range of motion using any of a number of profiles — triangle, sine or square. The speed of the test cycle is selectable, and there’s even a mode to command the servo to a particular position manually. We’ll bet the build was quite a lesson for [Peter], and he ended up with a useful tool to boot.

Need to go even further back to basics than [Peter]? Then check out this primer on servos and this in-depth guide.

[via r/Arduino]


Filed under: Arduino Hacks, misc hacks

Slow 3.5″ Raspberry Pi LCD Hacked to 40 MHz with ESP8266

As microcontrollers become more and more common, we see more ways to get a lot of performance out of one chip. A great example of this was the ESP8266 which was originally seen as a cheap WiFi card but has since blossomed into its own dev platform thanks to the horsepower hidden within. To that end, [Martin] is trying to push the now-ubiquitous WiFi chip even further by rolling out his own LCD driver for it from scratch.

The display of choice is the KeDei LCD 3.5″ module which was originally intended for use with a Raspberry Pi. [Martin] points out that this display isn’t optimized for speed, but after everything is said and done he has its clock line running at 40 MHz. To get this kind of speeds from the LCD, he depopulates the first shift register and adds his own fast-propagation circuit to establish a more-traditional serial addressing mode. With use of a WLCD driver that [Martin] also wrote, it is now relatively easy to draw on the screen very quickly with an ESP module. Check it out in the video below.

If you’re looking for your own tiny, cheap, fast display, this is one cool way to do it but we would suggest spinning a carrier board for both the ESP and the added circuitry. We’re looking forward to future projects which puts devices like these inside of really tiny magic mirrors, or uses them in other places where a small graphical display would be handy.

Thanks to [Hemal] for the tip!


Filed under: classic hacks, slider, wireless hacks