[Danman] got an ESP32 with built-in OLED display, and in the process of getting a clock up and running and trying to get a couple of NodeMCU binaries installed on it, thought he’d try rolling his own.
[Danman] used PlatformIO to write the code to his ESP. PlatformIO allowed [Danman] to browse for a NTP library and load it into his project. After finding the NTP library, [Danman] wrote a bit of code and was able to upload it to the ESP. When that was uploaded [Danman] noticed that nothing was being displayed on the OLED, but that was just a simple matter of tracking down the right address to use when setting up the library for his OLED. Lastly, [Danman] created a large font to display the time with and his mini-clock was done!
It’s always nice to see someone be able to go from buying a board to having a demo put together, and it’s getting easier and easier. Check out this OLED watch, and this pocket watch doesn’t use OLEDs, but it still looks pretty cool.
Over at Sparkfun, [Alex] shared an OLED clock project that’s currently in progress but has a couple interesting twists. The first is the use of a small OLED screen for each digit, to which [Alex] added a stylistic touch. Digits transition by having segments slide vertically in a smooth animated motion. It’s an attractive effect, and the code is available on his github repository for anyone who wants to try it out.
[Alex] also found that by using an ESP32 microcontroller and synchronizing the clock via NTP over WiFi, the added cost of implementing a real-time clock in hardware becomes unnecessary. Without an RTC, time would drift by a few seconds every day and require a reset. At the moment the clock requires the SSID and password to be hardcoded, but [Alex] would prefer to allow this to be configured via a web page and could use some help. If you have implemented a web server on the ESP32, [Alex] would like to know how you handled multiple pages. “I’ve been scratching my head throughout the build on how to get this done,” he writes. “With the ESP8266, there’s
on(const String &uri, handler function), but that seems to have been removed on the ESP32.” If you can point [Alex] in the right direction, be sure to pipe up.
OLED displays and clocks often go together, as we have seen with projects like the DIY OLED Smart Watch, but it’s nice to see someone using the OLED’s strengths to add some visual flair to an otherwise plain display.
In a feat of over-engineering, [Everett Bradford] hacked his power bank to add power monitor via an OLED display to show live current, voltage, temperature, and capacity information. The idea came when he learned about the INA219 chip. The INA219 is a current shunt and power monitor IC with an I²C or SMBUS compatible interface. The device is able to monitor both shunt voltage drop and bus supply voltage, with programmable conversion times and filtering. A programmable calibration value, combined with an internal multiplier, enables direct readouts of current in amperes. An additional multiplying register calculates power in watts.
With impressive miniaturization skills, [Everett] dissembles the Xiaomi Mi power bank and manages to add a custom power monitoring module and an OLED display. Not only that, he replaced the 4 LEDs that were the battery level indicators and actually consume more amps than his board plus the display. While active, the board consumes about 8mA. In sleep mode, it consumes less than 30µA.
The 32×64 OLED display and the custom-made circuit was assembled and tightly fitted into the original case. The power bank now gives readings of the battery charge level in a small graph, numeric current input/output, voltage and temperature. The seamless integration of the display into the power bank makes it look like something that could perfectly have come from a store. This is not your typical DIY power bank nor a gigantic 64 cells power bank. It is a precise and careful modification of an existing product, adding value, functionality, and dare I say it, style: an awesome hack!
We can see [Everett] process in the following video:
Continue reading “OLED hacked power bank”
Small OLED displays are inexpensive these days–cheap enough that pairing them with an 8-bit micro is economically feasible. But what can you do with a tiny display and not-entirely-powerful processor? If you are [ttsiodras] you can do a real time 3D rendering. You can see the results in the video below. Not bad for an 8-bit, 8 MHz processor.
The code is a “points-only” renderer. The design drives the OLED over the SPI pins and also outputs frame per second information via the serial port.
Continue reading “ATMega328 3D!”
We can’t get enough of hacker-con badges. BSides Cape Town, held Last December, featured an IR-equipped badge that immersed attendees in a game while they chatted.
A group led by [AndrewMohawk] and [ElasticNinja] designed the badge around an ESP8266 and 128×64 OLED display, with eight buttons, an IR receiver and transmitter, five “level” LEDs, an RGB LED, and a 600 mAh LiPo that charged over USB.
The hardware was designed specifically to play an organic game so that the organizers could watch the interaction between the badges in real time. Each badge was randomly sorted into a faction, either red, blue, or green—identifiable by an RGB LED glowing on the badge. There was also a series of five LEDs signifying your level in the game. When two or more badges got close to each other, enough for the IR to link, the badge with the lowest level was converted to the faction of the winner.
Of course, the badge displayed attendees’ handles and contained a list of convention programming. It also presented attendees with a series of challenges, which could be unlocked to play Pong or Rock/Paper/Scissors/Lizard/Spock, scan for wireless networks, and run animations.
Continue reading “Zombie Badges Take Over Security Con”
There’s building small computers — like the Raspberry Pi — and then there’s building small computers — like this Desktop Viewer from Star Trek.
[Monta Elkins] is using a Beetle for this project; it’s an Arduino clone, hosting the ATMega32U4 microcontroller, with a unique feature that allows you to twist connecting wires to secure them to the board. Instead, [Elkins] went with the logical choice of soldering them. For a display, he used a SPI serial OLED 128 x 64 monochrome screen which he has cycling through a number of iconic Star Trek TOS symbols and animations. The images were converted into PROGMEM — which gets loaded into flash memory — before finally being uploaded to the Beetle.
Following some fine 3D print work in ABS plastic which rendered the Desktop Viewer’s case, [Elkins] used acetone to solvent-weld the pieces together and applied a quick coat of paint to finish it off. This little replica would make a great desktop gadget as it requires a micro-USB to power the device.
Continue reading “Star Trek Desktop Viewer In The Palm Of Your Hand!”
Most hardware hackers have a clock project or two under their belt. A pretty common modification to a generic clock is to add lights to it, and if the clock has an alarm feature, it’s not too big of a stretch to try to get those lights to simulate a sunrise for a natural, peaceful morning alarm. The problem that a lot of us run across, though, is wiring up enough LEDs with enough diffusion to make the effect work properly and actually get us out of bed without an annoying buzzer.
Luckily for all of us, [jarek319] came up with an elegant and simple solution that should revolutionize all future sunrise alarm clock builds. He found a cheap OLED display and drove it with an LM317 voltage regulator. By driving the ADJ pin on the regulator, he was able to effectively drive the OLED with a makeshift PWM signal. This allows the OLED’s brightness to be controlled. [jarek319] threw some NTP code up on an ESP12E and did a little bit of programming for the alarm, and the problem is solved.
While an OLED is pretty much the perfect solution for a sunrise alarm clock, if you have a problem sourcing one or are just looking for an excuse to use up a strip of addressable LEDs, you can build a sunrise alarm clock out of almost any other light source.