Category Archives: Common

Compact Text Based Driver for Sharp Display

Update 2015-09-10: I also added a timer 2 based version of the driver which does not need any manual refresh.

I created a fast and compact driver for the Sharp memory display LS013B4DN04. The driver is text based and uses 8×8 pixel characters on the screen. The screen can display 12×12 characters using this size of characters.

Demo

This demo is an example of the Arduino library.

Features

  • Uses only 174 bytes of dynamic memory.
  • Refreshes only changed rows on the screen.
    This speeds up the refresh process and makes the refresh method suitable to call it from an interrupt.
  • Each character on the screen can be displayed normal or inverted. Ideal to mark a row in a menu.
  • Fonts can provide up to 128 characters. The font can be changed at any time.
  • Minimal but complete API with direct character access, cursor based write methods and scrolling of the display in four directions.
  • Open Source

The Sharp memory display driver with manual refresh.

The Sharp memory display driver with timer 2 based refresh.

Simple Version of the Data Logger Published

I just published the simple version of the data logger hardware and software. The simple version extends storage of the minimal version with external persistent RAM.

The additional storage provides space for more records and a higher precision for the records. Temperature and humidity is stored as float and the time as a UNIX timestamp.

I use the FRAM breakout board from Adafruit, because writing to FRAM needs way less power than writing to flash RAM. It is also faster, which increases the “sleep” time for the microcontroller and it does not require to erase a full page writing a single byte. The only catch of FRAM, it is more expensive than flash RAM.

My software has a simple abstraction of the used storage, so you can simple replace the FRAM with a flash chip or even with a SD card reader.

Building the hardware for the simple version is almost identical like building the minimal version. Just follow the instructions how to build the minimal version but add the FRAM as shown on the following page:

Build the Hardware (Simple)

Have fun!

Lucky World – A jump’n’run game for MeggyJr RGB

Today I release a full featured jump’n’run game for the MeggyJr RGB platform. It has an intro, a level map with more than 16 levels packed with obstacles and even a end scene. This game uses most of the flash of the ATmega328P and it was an interesting challenge to keep everything as compact as possible. In the past, when I learned to develop software, a very limited RAM was normal. Creating this game for this platform brought back a little bit of this nostalgia.

I release all sources of the game under the GPL v2 license. Feel free to create your own fork and improve this game even further. You can download a ZIP with the sources for version 1.0 here:

https://github.com/LuckyResistor/LuckyWorld/archive/v1.0.zip

To give you a quick impression of the gameplay, I created the following video.

Read more about the requirements for the game in the sections below.

Continue reading Lucky World – A jump’n’run game for MeggyJr RGB

Source Code for Xmas Decoration on GitHub

Today I found some time to document the source code for the xmas decoration and push it to a GutHub repository. I added some comments to explain some of the cryptic calculations and added warnings what you should not copy from this code.

The link to the repository is: https://github.com/LuckyResistor/XmasLights

Have a look in the complete project description how to make your own color changing xmas decoration.