Display-O-Tron 3000

Is there an interface spec sheet?. Something with power specs and the commands supported by it.
I’m looking to use it as a display for a small custom computer with USB Host that doesn’t have python.
I’m in California so where would be the best place to get one if it meets the requirements.
Many thanks

The Display itself is very explicitly detailed in the datasheet. Even on a host with no SPI hardware, it would be possible to run SPI over a few regular GPIO pins.

The display ( DOGM163-A ) datasheet is here: http://www.lcd-module.com/eng/pdf/doma/dog-me.pdf
The driver IC datasheet is here: http://www.lcd-module.com/eng/pdf/zubehoer/st7036.pdf

This code is for driving the display, it’s for Arduino but should be a good starting point for your setup: https://code.google.com/p/doglcd/

This code, again for Arduino, is for the SN3218 LED driver which talks over i2c. If you don’t have any dedicated i2c hardware it would be slightly more complex to get it up and running and you’d need some pullup resistors.

Is your small custom computer based on a Raspberry Pi?

Hello Phil
Thanks for the answer.
I’m looking at it for a demo output of a product, using the USB interface.
So a data sheet is really to try and understand all on one page what the physical interfaces, mech, power spec are.
Right now I like the look of the product, but feel I’m fruitlessly hunting down small specification details.
I’m using an Arm Cortex-M3 Kinetis K20 - same as the Arduino Teensy3 - the product is a “Logger” but with a USB Host capability that is specified to manage a USB Stick and log data to the USB Stick.
For the demo, I want to swap the USB stick for your display.
So in the Processor code in demo mode, I would detect the USB CDC plugged in and then send the “demo mode” values to the display.
I’ve pulled down the ST7036 module and doglcd code - so I can see what is going on.

What I need is for all the physical information to be simply accessible - so I must have been mistaken that the Display-o-tron-3000 has a USB interface.
What I think I’m going for is the Matrix Oribital LK162B-7T-USB - it doesn’t look as good as what you are displaying - but has a USB interface.

many thanks

You’re correct- Display-o-Tron 3000 doesn’t have a USB interface, but has a 40-pin header designed to connect directly to the Raspberry Pi.

Hi all - I’ve had a Pi since day one, managed to get one of the very first … it’s been used as a web server since 2012 :)

I got my hands on the DoT3k this morning on a fresh rebuild of the Pi, I can’t get it to work. So many questions but the most important is :

  • Is it compatible with revision 2, i.e the first tranche of Pi’s to be shipped?

processor : 0
model name : ARMv6-compatible processor rev 7 (v6l)
BogoMIPS : 2.00
Features : half thumb fastmult vfp edsp java tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xb76
CPU revision : 7

Hardware : BCM2708
Revision : 0002
Serial : 0000000087c26b89

It looks like SPI isn’t loading, I’ve started with a fresh Raspian build, upgraded, updated the firmware, installed Dot3k etc and followed the tutorials on here step by step and my LSMOD looks like this:

Module Size Used by
w1_therm 3325 0
w1_gpio 4068 0
wire 31280 2 w1_gpio,w1_therm
cn 5756 1 wire
i2c_dev 6709 0
snd_bcm2835 21342 0
snd_pcm 93100 1 snd_bcm2835
snd_seq 61097 0
snd_seq_device 7209 1 snd_seq
snd_timer 23007 2 snd_pcm,snd_seq
snd 67211 5 snd_bcm2835,snd_timer,snd_pcm,snd_seq,snd_seq_device
8192cu 569585 0
uio_pdrv_genirq 3666 0
uio 9897 1 uio_pdrv_genirq


Running the Hello World script gives me the following:

Traceback (most recent call last):
File “./hello_world.py”, line 3, in
import dot3k.lcd as lcd
File “/usr/local/lib/python2.7/dist-packages/dot3k/lcd.py”, line 3, in
lcd = st7036.st7036(register_select_pin=25)
File “/usr/local/lib/python2.7/dist-packages/st7036.py”, line 20, in init
self.spi.open(0, spi_chip_select)
IOError: [Errno 2] No such file or directory

Would really appreciate some pointers - Thanks guys

Wowser, this is a new one. Can you try the installer script?

curl https://get.pimoroni.com/dot3k | bash

Hey fast response - Thanks

I just used the script, chose the options to re-install everything then rebooted. Still not working?

pi@Rasp1 ~/Pimoroni/dot3k/basic $ ./hello_world.py

pi@Rasp1 ~/Pimoroni/dot3k/basic $ ./hello_world.py
Traceback (most recent call last):
File “./hello_world.py”, line 3, in
import dot3k.lcd as lcd
File “/usr/local/lib/python2.7/dist-packages/dot3k/lcd.py”, line 3, in
lcd = st7036.st7036(register_select_pin=25)
File “/usr/local/lib/python2.7/dist-packages/st7036.py”, line 20, in init
self.spi.open(0, spi_chip_select)
IOError: [Errno 2] No such file or directory

Can it be the Pi board is the wrong version ?

Ah… I just read this step: “updated the firmware.”

Did you run rpi-update?

The latest firmware totally changes how things like I2C and SPI are handled/enabled, so that could be our culprit.


sudo apt-get install --reinstall raspberrypi-bootloader

And reboot.

I think that’s the right command, going to have to fire up my Pi to double-check.

You sir are a genius … many thanks, that did the trick, the only reason I did the update in the first place was to get a wifi dongle working.

Thanks again

Brilliant! I’ve added a new topic warning people away from rpi-update, and giving a brief how-to-fix-it and what-to-do-if-you-wanted-to-update. I don’t anticipate that this will be the last of these problems though!

… one last one - how can I turn off the backlight? or find a list of options I can do without trying to take apart the sample code ?

Thanks =:-)

You can use: backlight.rgb(0,0,0) which will definitely turn it off.

As for list of options, you can try Python’s dir() and help() commands, which should be useful:

pi@maxim ~/Development/dot3k/python/examples/advanced $ sudo python
Python 2.7.3 (default, Mar 18 2014, 05:13:23)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import dot3k.backlight
>>> dir(dot3k.backlight)
['LED_L_B', 'LED_L_G', 'LED_L_R', 'LED_M_B', 'LED_M_G', 'LED_M_R', 'LED_R_B', 'LED_R_G', 'LED_R_R', '__builtins__', '__doc__', '__file__', '__name__', '__package__', 'colorsys', 'g_channel_gamma', 'hue', 'hue_to_rgb', 'i', 'leds', 'left_hue', 'left_rgb', 'math', 'mid_hue', 'mid_rgb', 'r_channel_gamma', 'rgb', 'right_hue', 'right_rgb', 'set', 'set_bar', 'set_graph', 'sn3218', 'sweep', 'update', 'use_rbg', 'value', 'w_channel_gamma']

I’m starting to suspect I should add an off() command. It’d be a convenience method that would call:


Thanks … got a nice little script running a treat - all good !

I have pushed a new version of Dot3k up to pip, this includes two new methods in Dot3k backlight:

  • off() - turns off all the LEDs
  • use_rbg() - changes the LED order for those of you with early Dot3k boards

I want to get the DOT3K running when I switch my Pi on, is there a script I can add to start up to switch it on?

At present, I’m manually entering:

\curl https://get.pimoroni.com/dot3k | bash

…then going through the process of saying that I do want to enable IC2, etc. and saying that I don’t want to reinstall files. It feels very clunky. Am I doing this all correctly? I just want to turn it on.

Apologies, by the way: I’m very new to all this. I’m having a great time using the Pi though!

That’s the process of installing Dot3k, you only have to do it once.

Once done, you should see a folder in your home directory. This is usually the directory you’re in when you start up your Pi, otherwise you can get to it by typing this into a terminal:

cd ~

Once there, you should look at the contents:


And you should see a Pimoroni folder. Enter it:

cd Pimoroni

And you’ll hopefully find the example code for Dot3k, which you can run to make it do various out-of-the-box things. Try this for example:

cd ~/Pimoroni/dot3k/advanced
sudo ./menu.py

Good luck!

So what I’m doing everytime is reinstalling it, then opening the python files for the DOT3K? Whoops!

Thank you so much! That’s a massive help.

Has anyone tried getting this working with Arch linux or is it only possible with Raspian?

It think it’s possible under Arch Linux, but we only officially support Raspbian and I’ve not run Arch on a Pi for about 2 years.

The install script explicitly looks for Raspbian because I have absolutely no idea what might explode if it does the same steps under Arch Linux, and I don’t want people to trash their systems with untested code.

You can probably set up i2c/spi separately, and then:

sudo pip install dot3k
git clone https://github.com/pimoroni/dot3k

And run the examples from the cloned GitHub directory.

Yup, did that part but it seems blocked on the kernel module. I’ll see if I can get it working for Arch. If not then Raspian is just an SD Card flash away. :) I was just hopig to avoid setting everything back up if I didn’t have to.