Optimizing AVR LCD Libraries

A while ago, [Paul Stoffregen], the creator of the Teensy family of microcontrollers dug into the most popular Arduino library for driving TFT LCDs. The Teensy isn’t an Arduino – it’s much faster – but [Paul]’s library does everything more efficiently.

Even when using a standard Arduino, there are still speed and efficiency gains to be made when driving a TFT. [Xark] recently released his re-mix of the Adafruit GFX library and LCD drivers. It’s several times faster than the Adafruit library, so just in case you haven’t moved on the Teensy platform yet, this is the way to use one of these repurposed cell phone displays.

After reading about [Paul]’s experience with improving the TFT library for the Teensy, [Xark] grabbed an Arduino, an LCD, and an Open Workbench Logic Sniffer to see where the inefficiencies in the Adafruit library were. These displays are driven via SPI, where the clock signal goes low for every byte shifted out over the data line. With the Adafruit library, there was a lot of wasted time in between each clock signal, and with the right code the performance could be improved dramatically.

The writeup on how [Xark] improved the code for these displays is fantastic, and the results are impressive; he can fill a screen with pixels at about 13FPS, making games that don’t redraw too much of the screen at any one time a real possibility.

https://www.youtube.com/watch?v=JxL68u_YJ_g

50 Shades Of Gray Water Reuse

Entered into this year’s Hackaday Prize, [TVMiller] built a super cheap Arduino powered gray water recovery system.

The system is very simple and can be easily made for almost any bathroom. By making a zig-zag of PVC pipe underneath the sink, he’s created a simple grey water reservoir sized for his toilet’s flushing capability.  And if you use too much water, it just backs into the drain — think of it as a giant P-Trap! A 12V solenoid and 240L/h water pump switch on after the toilet has been flushed — refilling the tank with reused gray water! He’s also added an Arduino and an LCD screen to keep track of the water saved; with the nice touch of a HaD logo of course.

We love [TVMiller’s] project brief build logs — he doesn’t hold anything back.

Pipes were glued, the inhaled toxins coursing through my lungs and penetrating the cells, turning me in an enhanced human, now capable of lifting small things with great ease, like a stapler or Big Gulp.

Continue reading “50 Shades Of Gray Water Reuse”

Mimimalist Arduino Gaming Platform

A pretty color LCD screen, an Arduino, a buzzer and a joystick is all you need for a minimalist gaming console for under $20. At least, that’s all [João Vilaça] needed to get this sweet version of Tetris up and running. He’s working on Breakout right now. His Breakout looks even better. See the postscript below for details.

It’s a testament to the current state of the hardware hacking scene that [João] could put this device together in an afternoon for so cheap, presumably after waiting a while for shipments from China. The 320×240 SPI color TFT LCD screen used to cost twice as much as this whole project did. And wiring it up is a simple matter of connecting this pin to that pin. Almost child’s play.

Equally impressive is the state of open source software. A TFT library from Seeed Studios makes the screen interface a piece of cake. [João] wrote his own sound and joystick code, and of course the Tetris gameplay itself, but it’d be much more than a few weeks’ work without standing on the shoulders of giants. Check out [João]’s Github for the project code and stick with us after the break for a demo video and some of our other favorite Arduino gaming hacks.

Continue reading “Mimimalist Arduino Gaming Platform”

Arduino Vs Arduino: These Are Not The Droids…

We’ve been trying to not pick favorites in the Arduino controversy, or at least remain open-minded to both sides of the story. Some businesses, on the other hand, are clearly aligning themselves.  (Full text of e-mail below.)

Reader [Francisco Zabala], from cool robot-supplies store Acrobotic, got this e-mail from an Amazon distributor where he purchased some Arduinos “ages ago” and was angered enough at the brazen tone to drop us a line.


Thank you for our Arduino purchase from our Amazon.com store. We truly appreciate your business.

We are writing to let you know about an important change in Arduino products. The new website for Arduino is now officially Arduino.org. The old website (arduino.cc) should no longer be used.

All new Arduino hardware will be transitioned from the old Arduino.cc badging to the new Arduino.org badging. Please be aware that during this transition, you may receive Arduino hardware with either Arduino.cc or Arduino.org. Both are authentic Arduino-brand hardware.

If you use Arduino.org branded hardware on the old site, you may be presented with an error. Please use the new Arduino.org site.


We know for sure that Arduino SRL sent out a letter to distributors claiming that they were the real Arduino because they’ve been manufacturing the boards. Seeing a distributor recommend against the software at arduino.cc in such stark terms makes us wonder if there have been similar letters sent out concerning the IDE fork. Anyone have anything? Send us a tip if you do.

We find it a little ironic that when arduino.cc added the now-retracted popup that specifically targeted boards made by Smart Projects / Arduino SRL,  that they opened themselves up to this sort of counter-attack: if you see an error popup, just switch over to the “new official” IDE. Oops. Good that it’s gone now.

Finally, we’ve got to say that “the old website should no longer be used” is pretty rich: we’re hackers, we use whatever software / IDE we like, thank you very much! No matter how the legal battles end up, and no matter who tells you to use what codebase, the beauty of open source is that it’s up to you, and not them. Hack on, y’all!

Thanks, [Francisco] for the tip.

A Nokia Shield For The Arduino

The Nokia 3100 is a classic in the circles we frequent. The LCD in this phone is a very cheap and very common display, and it was one of the most popular phones since the phone from Bell, making it a very popular source of cool components.

Now everything is an Internet of Thing, and cellular data for microcontroller projects is all the rage. [Charles] thought it would be interesting to use the famous Nokia 3100 to transmit and receive data. After battling with some weird connectors, he succeeded.

The Nokia 3100 doesn’t have a USB connector, as this phone was made before the EU saved us from a menagerie of cell phone chargers. Instead, this phone has a Nokia Pop-Port, a complex connector that still has TX and RX pins running at 115,200 bit/s 8N1. By fitting a USB socket onto a prototyping board, adding a few level shifters, and connecting the pins in the right order, [Charles] was able to get his Arduino talking to an old Nokia Brick.

[Charles] isn’t quite at the level of sending SMS from his confabulation, and even following a tutorial from [Ilias Giechaskiel] didn’t work. [Charles] is looking for help here, and if you have any suggestions, your input would be appreciated.

There is a problem with using a Nokia 3100 as a cheap Arduino cellular shield: it’s only 2G, and sometime soon those cell towers will be shut down. For now, though, it works, and once those 2G towers are shut down, there are plenty of options with cheap, early Android and iOS phones.

Automatic Tea Maker

Steeping Tea Perfectly With An Arduino

While most of us here at Hack a Day can’t live without our daily java, we do understand and respect the tea drinking hackers out there, like [Brian McEvoy] the 24 Hour Engineer. Like any self-respecting hacker, [Brian] seeks to improve the efficiency of day-to-day tasks in order to spend his time on things that really matter — so he decided to automate his tea cup.

He’s 3D printed a small tea-bagging mechanism that a little RC servo motor can actuate, which allows him to control the amount of time a tea bag spends steeping in his mug. Another 3D printed enclosure includes the Arduino, a few buttons, and an LCD screen to allow you to select the steeping time for your favorite herb. In fact, the majority of this project is 3D printed which means the majority of the cost comes from the minimal electronics required — stuff you probably already have lying around. He’s also included all the design files you need in order to make your own.

The project has been in process for a while, but he’s finally finished it off, and it works great. If you’re hungry for some of the nitty-gritty build logs and troubleshooting a long the way, he’s got a whole bunch of blog posts from throughout the process.

Continue reading “Steeping Tea Perfectly With An Arduino”

Turning A Page With Your Voice

[Justin]’s friend [Steve] injured his spine a while ago, and after asking what would make [Steve]’s life simpler, the answer was easy. [Steve] missed reading books. Sure, e-readers exist, but you still need to turn the page. Now [Steve] can do that with his voice thanks to some microcontrollers, Bluetooth modules, and a voice recognition module.

A voice-activated page turner wasn’t the first attempt at giving [Steve] the ability to turn a page on a Kindle. The first prototype was a big blue button that sent a keyboard code for ‘right arrow’ over Bluetooth, turning a book one page at a time. This worked well until multiple pages turned, and with no back button it was a major nuisance.

After playing with the voice recognition in an Amazon Echo, [Steve] and [Justin] wondered if the same voice recognition technology could be applied to page turns on a Kindle. With a voice recognition Arduino shield from SparkFun it was easy to detect a ‘page down’ command. A Bluetooth module sends HID commands to a Kindle, allowing [Steve] to read a book with only his voice.

[Justin] put all the design files for this build up on Github.