We designed a panel with a 2x16 LCD, 4 buttons and a joystick. The heart of the panel is a ATMEGA168-20PU running a small Arduino program. The panel uses I2C communication to the MBED board, but there is also a connection for a standard USB->TTL cable. You can use such a cable to upgrade the program in the Arduino chip.All the source files of this project are available in the i2c panel project on Github: https://github.com/LaosLaser/AddOns

The user interface functionality is not implemented in this board, but in the program on the MBED. The on board ATMEGA with Arduino code only receives data for displaying on the screen and sends key press codes via I2C, basically this works as a tiny terminal. The functionality as stated here is just to show what the main LaOS controller board uses it for.

While no job is running:

Manual focus, using up and down buttons (for some machines this will mean that the Z-axis is moving, others will move the lens-holder up and down)

This board has parts on BOTH sides! The display and buttons go on one side, all the other electronic parts go on the other.

Non-display side: the side where it says "LAOS I2C rev 0.4".

Start by soldering the the socket for the Atmel IC, making sure the notch is on the same side as the one on the silkscreen legend.

Place the resistors. There is only one, that's why it's labeled R2

Solder the two 100nF capacitors in U1 and U4.

Solder the 100uF electrolytic capacitor with the plus (longer) wire in the hole with square solder pad (U2).

Solder in the two BS270 in Q1 and Q4.

Solder the 3 pin ceramic resonator (F1)

Solder the piezzo buzzer (SP1).

Solder the I2C pins. Make sure the 4-pin header matches with the cable you're going to use.

Place a regular 2-pin header in P3 and P7 and a 6-pin header in P1 (TTL). Place two 3-pin headers in P4.

Now take a 16-pin header and push it with the longer pin ends in the PCB from the bottom (solder) side of the board. The long pins will stick out on the top side of the board. The black plastic of the header in now on the bottom of the PCB. Measure with the display module to see if the pins are long enough to go just through the module. Solder the 16-pin header to the board on the TOP (component) side.Front (display side):

Place a strong piece of tape or (lasercut) cardboard on the bottom side of the board, covering the part of the board that will be under the display module, so that there cannot be any shortcircuit between the board and the display module. You can use electric shielding tape or gaffer tape.

Solder the 4 buttons to the board (not the joystick yet!) with the buttons on the side of the display (solder side).

The joystick has a very small dent in the top metal layer. If you put the joystick in, this dent should be on the right side, where there is a small mark on the print. Solder it in.

Solder the display module on the back side board, with the black strip of the 16-pin header in between.

Upload the file to the board. This will give you a welcome text. After the text has disappeared, all buttons should show a number on the screen. The joystick should show 5 different values for each direction and middle push.

If it works, upload the code again with DEBUG 0. The panel is now ready to be connected to the mainboard.

To accomodate the display you can cut a replacement for the control panel.

The button laser switch was replaced by a toggle for better on/off reference. So the right serial test button could be omitted. Also the lighting switch was removed, now the light is always on. No modifications are required for the cabletree, just connect the wires from the removed switches. The air pump switch was kept as a compressor can be noisy. It is advised to use a shielded cable between the I2C panel and the board. A cutting file (.svg) of this panel is available on miniFabLab.