In 2011, [Fabio] had been working behind a keyboard for about a decade when he started noticing wrist pain. This is a common long-term injury for people at desk jobs, but rather than buy an ergonomic keyboard he decided that none of the commercial offerings had all of the features he needed. Instead, he set out on a five-year journey to build the perfect ergonomic keyboard.
Part of the problem with other solutions was that no keyboards could be left in Dvorak (a keyboard layout [Fabio] finds improves his typing speed) after rebooting the computer, and Arduino-based solutions would not make themselves available to the computer’s BIOS. Luckily he found the LUFA keyboard library, and then was able to salvage a PCB from another keyboard. From there, he programmed everything on a Teensy microcontroller, added an OLED screen, and soldered it all together (including a set of Cherry MX switches).
Of course, the build wasn’t truly complete until recently, when a custom two-part case was 3D printed. The build quality and attention to detail in this project is impressive, and if you want to roll out your own [Fabio] has made all of the CAD files and software available. Should you wish to incorporate some of his designs into other types of specialized keyboards, there are some ideas floating around that will surely improve your typing or workflow.
[Forklift] has a Rancilio Rocky, a prosumer-level coffee grinder that’s been a popular mainstay for the last few decades. It’s a simple machine with a direct-drive motor. Rocky has one job, and it will do that job in one of 55 slightly different ways as long as someone is pushing the grind button. What Rocky doesn’t have is any kind of metering technology. There’s no way to govern the grind length, so repeatable results rely on visual estimates and/or an external clock. Well, there wasn’t until [Forklift] designed a programmable timer from the ground up.
The timer interface is simple—there’s a D-pad of buttons for navigation through the OLED screen, and one button to start the grind. The left and right buttons move through four programmable presets that get stored in the EEPROM of the timer’s bare ATMega328P brain. Grind duration can be adjusted with the up/down buttons.
We like that [Forklift] chose to power it by piggybacking on the 240VAC going to the grinder. The cord through the existing grommet and connects with spade terminals, so there are no permanent modifications to the grinder. Everything about this project is open source, including the files for the 7-segment font [Forklift] designed.
Tea aficionados may argue that creating their potion is the more time sensitive endeavor. We’ve got you covered there. Only question is, one button or two?
Basic geocaching consists of following GPS coordinates to a location, then finding a container which is concealed somewhere nearby. Like any activity, people tend to add their own twists to keep things interesting. [Jangeox] recently posted a video of the OLED Snail 2.0 to show off his most recent work. (This is a refinement of an earlier version, which he describes in a blog post.)
[Jangeox] spices up geocaching by creating electronic waypoints, and the OLED Snail is one of these. Instead of GPS coordinates sending someone directly to a goal, a person instead finds a waypoint that reveals another set of coordinates and these waypoints are followed like a trail of breadcrumbs.
A typical waypoint is an ATTINY85 microcontroller programmed to display an animated message on the OLED, and the message reveals the coordinates to the next waypoint. The waypoint is always cleverly hidden, and in the case of the OLED Snail 2.0 the enclosure is the shell of a large snail containing the electronics encased in resin. This means that the devices have a finite lifespan — the battery sealed inside is all the power the device gets. Fortunately, with the help of a tilt switch the electronics can remain dormant until someone picks it up to start the show. Other waypoints have included a fake plant, and the fake bolt shown here. Video of the OLED Snail 2.0 is embedded below.
Who doesn’t want a little added functionality to their lives? Feeling a few shortcut keys would make working in Eagle a bit smoother, [dekuNukem] built his own programmable mechanical keypad: kbord.
It sports vibrant RGB LED backlight effects with different animations, 15 keys that execute scripts — anything from ctrl+c to backdoors — or simple keystrokes, up to 32 profiles, and a small OLED screen to keep track of which key does what!
kbord is using a STM32F072C8T6 microcontroller for its cost, speed, pins, and peripherals, Gateron RGB mechanical keys — but any clear key and keycaps with an opening for the kbord’s LEDs will do — on a light-diffusing switch plate, and SK6812 LEDs for a slick aesthetic.
Check out the timelapse video tour of his build process after the break! (Slightly NSFW, adolescent humor for a few seconds of the otherwise very cool video. Such is life.)
[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!
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: