WORKSHOP VIDEO #38: TFT display with USB control in Sjaak’s workshop

Today we visit Sjaak’s workshop and talk about a USB 1.8″ TFT Backpack he’s been working on, as well as some history behind the popular ATX Breakout Board.

Sjaak describes the  USB 1.8” TFT Backpack which features:

  • 1.8” 160×128 pixel TFT, with 18bit color depth
  • Micro SD card holder
  • Small footprint designed to fit into a PC case 5 1/4 drive bay cover
  • MiniUSB connector
  • USB connection is solderable (for direct connection to a PC motherboard)
  • Unused pins are broken out (digital I/O and analog input)
  • 3V3 and GND broken out
  • Buttons are broken out
  • PIC18F26J50 uC

Current firmware supports the Matrix Orbital protocol. This allows it to emulate HD44780 character displays from a USB or serial interface. It works with popular LCD apps like LCDproc (Linux) and LCDsmartie (Windows).

Set a diode on fire? Sjaak used one of the extra ADC pins as simple analog data logger. A graph of the voltages measured is shown on the display. For a demo he hooked up a diode with resistor to measure the forward voltage of the diode. At room temperature the forward voltage is about 0.7 volts. Hold a lighter to the diode and the forward voltage drops quickly, as shown on the graph. Pop it in a mug of frosty beer and the forward voltage would increase.

This is Sjaak’s third revision of this board. He explains some of his earlier errors, and how he got around them.

We also got to take a look at the first version of the ATX Breakout Board, and some of the design changes made to the production version.

Grab the latest design files for the USB TFT display backpack from SVN.

We’ll give away two free PCBs in the comments. Leave a comment on this post with an idea for this board and one could be yours tomorrow.

Join the Conversation


  1. Hi!

    Just a quick question. Do you have any plans migrating towards git and gitHub? Github enables you to browse some other person’s code more easily and in more sleek way :) I’n sure you know what the git and gitHub does but hey no harm comes from reminding :)

    Nice project by the way!


  2. @Sjaak are you using the microchip sd card library? Also where do you buy the connector?Can you share the eagle component?

    1. I use the petit fat files system (pffs) as it doesn’t need to write files. It can be found here:

      The usd card should be in the SVN in our partslibrary (if it isn’t i’ll add later on). you can also get it from the sch/brd ( )

      I found it on ebay. Since it is designed to be put inside a pc case, i found no need to use the springloaded one.

    1. I used the same command as the lcd backpack supports. The code is not yet into the SVN, but here are the commands it currently supports:

      //define the Matrix Orbital command set
      #define MATRIX_ORBITAL_COMMAND 254 //0xfe
      #define BACKLIGHT_ON 66 //0x42, 1 parameter (minutes 00=forever)
      #define BACKLIGHT_OFF 70 //0x46
      #define CLEAR 88
      #define HOME 72
      #define POSITION 71 //2 parameters (col, row)
      #define UNDERLINE_CURSER_ON 74
      #define UNDERLINE_CURSER_OFF 75
      #define BLOCK_CURSER_ON 83
      #define BLOCK_CURSER_OFF 84
      #define BACKLIGHT_BRIGHTNESS 152 //1 parameter (brightness)
      #define CUSTOM_CHARACTER 78 //9 parameters (character #, 8 byte bitmap)

      #define CURS_NONE 0
      #define CURS_BLOCK 2
      #define CURS_UNDERLINE 1

  3. I think this board would be great for 3 purpouses:
    a) A new Superprobe version (perhaps labeled as Meter Blaster ;-) ) including DWM, Capacitance meter, Frequency meter, etc
    b) An arbitrary waveform generator (about 100khz) and square wave generator with graphic GUI
    c) A cheap and portable low frequency logic analyzer/scope (till 1Mhz or 5 Mhz)

  4. why is everyone using miniusb instead of microusb on new stuff? I feel that the microusb sockets are better?

      1. I feel that the mini is kinda sloppy, and the micro is tight. Are the sockets pincompatible so one could replace one for another? I need to have three types of usbcables due to this, arduinos use usb-b, mini and micro, and the usual ftdi type cables.

    1. I guess it is the old habbit kicking in. we use the miniusb since ages and we pick it just because we are used to it. We have a micro usb footprint but it is never tested in the field. Just by looking at the connector I suspect it is hard to handsolder this.

      This board also got the USB ‘pins’ broken out, so you can directly solder the usb cable to it.

  5. ok, that came out like mumble :)
    Arduinos use usb-b, netduino usb-micro, propeller and papilio usb-mini, and all the other various stuff that uses all kind if things makes me carry all types, not only for dataconnection but also for powering stuff.

  6. Great video & looks like another one for my ‘must buy’ or build list ;)

    Would be nice to know where to source some of the more exotic parts, like TFT etc. as they are quite hard/expensive in Europe :(

    1. The Eagle .sch file lists the part as a jd-t1800 1.8″ display

      I gor some interesting results when I put that search into Google.

  7. I am following the uSupply on EEVblog, where Dave is planning/designed a binary/column (can’t remember what he called it exactly) volt display to keep cost/component count down.

    I would like to try and interface this small display to be used instead of the LED display. Much better for those of us who now need to start to use glasses for almonst everything! There may be the possibility of having multiple readouts if the font size is right & readable.

    With a colour display, the colour could be changed to indicated overcurrent etc. which would save on extra LED’s, buzzer etc,

Leave a comment

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

Notify me of followup comments via e-mail. You can also subscribe without commenting.