A new design phi-panel

I am working on a panel that a microcontroller like arduino or even PIC or a PC (via USB TTL adapter) will be able to talk to over serial. Just imagine the old computer terminal with a display and a keyboard, that is what this panel is trying to mimic. The arduino sends out strings to display on the LCD and the panel displays it with line wrap and auto scroll. Arduino is also able to control the position of the cursor and brightness of the back light like serial LCDs besides basic printing. It also sends key presses to arduino for processing. A beginner without programming skills necessary to write a button code or understanding of how to hook up an LCD or matrix keypad can simply leap from the arduino serial.print examples of printing to serial window to displaying on the LCD and processing key presses. If a user presses the zero (0) key on the panel, arduino will receive ‘0’ in the serial port so the simplest interaction could be this simple:

Serial.print(“Menu\n1.Start motor\n2.Stop motor\n3.Set speed); // The ‘\n’ represents new line so the menu is displayed on 4 rows of a 20X4 display



if (Serial.available())


char response=Serial.read();

if (response==’1′) move_motor(); // Do stuff to move the motor

if (response==’2′) stop_motor(); // Do stuff to stop the motor

if (response==’3′) set_speed(); // Do stuff to change motor speed setting



To be honest, I think this is an awesome project that will empower electronics beginners like what arduino did to all of us. Just think about it, who else can make a menu this quick and easy before?


I’ll post more info once I get the PCBs and finish my software.

3 Responses to A new design phi-panel

  1. DaveInSanFran says:

    Liudr, I’ve found you here based on your Arduino forum help.As the target audience for your product, may I add a few wishes?

    – Jumpers (with actual pins attached and shunts provided) or mechanical dip switches to physically set some essential preferences or reset the unit to factory defaults.

    – Firmware-based self-test to provide a simple verification that all is functioning correctly.

    – A simple terminal block with optional harness for easy connection to an arduino (or any other microcontroller.)

    – micro USB socket and PC/Linux C++ libraries to allow using your device directly as a PC accessory. (Much as Logitech provides APIs for their keyboards.)

    • liudr says:


      Thanks for finding me! I’ve been on arduino forum helping people for quite some time now. It is an awesome experience especially for state-owned under-funded university physics professor. You get people’s respect if you can help them through difficulties. Back at my school, students don’t always do that even when I’m willing to help on a daily bases. Not many wanted to ask questions 🙂

      You have provided very good suggestions.

      1) Jumpers: this is a bit difficult to achieve as I have exhausted every IO the controller has 😉 but dont’ worry, the panel has local software that you can call up to make all changes on the panel and save to EEPROM. It is like a terminal in the 70s or 80s. Most of its appearances are controlled by the master (arduino controlled to it) but you can hit the esc key and load the menu system onboard to change any settings locally. If I decide to use a different controller with a few more io pins, I will consider dip switches.

      2) Very easy. I will just add one item on the on board menu to perform self test and report back locally. You don’t even need an arduino to test it since the panel has keypad and display.

      3) Yes sir. The pin layout is the same as the famous usb bub2 made by modern device, even with reset pin so you can reset your panel with your arduino to ensure there’s no problem when only arduino is reset but not the panel. This panel with a usb converter such as moderndevice usb bub2 or a generic usb ttl converter sparkfun sells, will turn this into a computer accessory and you can control its aspects with computer program. PLEASE elaborate what ideas you have in mind. This is very interesting and I didn’t think of this before!!!

      4) This part is just extra: I’ve embeded essential phi_prompt user interface library in the panel so you can display long messages that span across a number of lines, with the arrow keys, or list an interactive menu for the user to choose. Please refer to my phi_prompt library page.

  2. liudr says:


    I have made enough progress on the firmware that I have started a phi-panel page with a few videos and sample code to show how easy to get started.


Leave a Reply