MP-1: Adding a small display… and a rotary encoder


in ,

A display is necessary to be able to really augment the functionalities of the MP-1. A couple of LEDs blinking is fine for Power-ON and Battery status, but a small display adds much more flexibility.

Since one version of the test setup is using a Jeenode, I will be using a Jeelab display with the Jeelab library. The other test setup will use a standard display with the Arduino LCD library.

A bunch of available displays!

First, the easy one: using a display from Jeejab is about as simple as it gets. Plug it in an available port on the Jeenode and add a piece of code. The Jeelab display is using I2C for communications, so it uses a Jeenode Port. Of course, powering this with the one-battery board is now out of the question! The Jeenode needs to be connected to real power supply (or usb).

For the second setup, I will use the display in the bottom right of the picture. It’s a leftover from a PU-2 Beta that never left home. This one happens to have a rotary encoder attached. So why not include the rotary encoder code in the project? I have all the code from the PU-2 to handle the rotary encoder.

MP-1 using a Jeenode
MP-1 using a Jeenode, display and rotary encoder

Since I want to use the same code for different MP platforms, I made the code portable by using #ifdef platform statements when necessary.


If you look at the code and have been following the projects from, you should have realized that most of the code is from the PU-2 Beta project. In fact, the MP-1 code is now also integrated into the PU-2, making the PU-2 a wireless pedal board! The PU-2 uses an Arduino Mega 2560 for more program memory and many more digital/analog pins. The PU-2 was already using SPI for the SD card reader and I had already reserved an extra pin for the RFM12B SEL connection. I even reserved room on top of the SD card reader for the RFM12B! So the RFM12B board can be integrated into the PU-2 as a retrofit.


Leave a Reply

Your email address will not be published. Required fields are marked *