I have been expanding on my initial experiments with the Si5351 today while at the same time getting some experience with my little 1.8" colour TFT display. This is a nice little display that I picked up locally. It has an SPI interface and using an ST7735 controller.
I initially was bit-banging the SPI protocol using arbitrary pins on the ATMega2560, but was quite dis-satisfied with the performance. The display was very laggy and slowed down the entire experience.
By switching to use the hardware SPI support on the ATMega2560 (using pins 51 and 52 for MOSI and SCK signals respectively) the performance improvement was spectacular. On the UNO, the hardware pins are 11 and 13 for MOSI and SCK respectively.
I am using a modified version of the Adafruit graphics library and the Adafruit ST7735 driver for my experimentation.
I found a couple of problems which I don't know if I can attribute to the Adafruit libraries or to differences with the specific LCD panel I have in hand. I will have to order one of the Adafruit versions to determine which it is. I found that the color mappings were reversed between RED and BLUE and also between YELLOW and CYAN. If I can obtain a version of the Adafruit display I will test again and report my findings.
I set up my Si5351 clock generator and the TFT display as a three frequency signal generator. There is still some UI work to be done to select between the frequencies to be changed by the rotary encoder, but here is the general idea. I am reusing my previously published rotary encoder bits in this little project.
I will have the ability to independently set each of the clocks on the Si5351. At the moment the code sets the initial frequency of each clock and then moves them all when the rotary encoder turns. I plan to publish the code here when I have it all working satisfactorily.
Performance of the display is now very good, even when updating all three frequencies with the rotary encoder simultaneously. This might be a good candidate for a little Arduino Nano or other minimal Arduino board to allow packaging this up into a useful signal source.
Showing posts with label Display. Show all posts
Showing posts with label Display. Show all posts
Saturday, May 16, 2015
Thursday, March 26, 2015
Minima - Again?
I have been back playing around a little bit with the Minima code the last couple of days. I have also been looking at TFT displays for my microcontroller projects. While not really a hobbyist price range, I stumbled over a nice group of displays from 4D Systems in Australia (www.4dsystems.com.au) that allow you to easily create some very nice displays without a lot of programming and simple serial interfaces to them that operate at high speeds and offload graphics drawing tasks to the display which sports its own processor.
You design the display layout on the desktop computer and save the user-interface elements to a micro-SD card that then plugs into the display. Interface to the micro-controller is transmit/receive data, ground, 5V and reset. Easy Peasy...
Here is an example display for the Minima that I have been tinkering with. Not bad for a first attempt. (I am not the best UI designer... Ok, I suck at it...)
So, it will be fun to see where this leads. Being a touch screen (they have both TFT and CAP Touch available) it can be used for input as well as output. I am using the simplified tools that have a selection of UI elements that can be placed, sized and programmed on the display as well as Arduino and Raspberry PI libraries to encapsulate the serial communications protocol. There is also the ability to talk to the lower level primitives, so we will have to scope that out as well.
More to come...
You design the display layout on the desktop computer and save the user-interface elements to a micro-SD card that then plugs into the display. Interface to the micro-controller is transmit/receive data, ground, 5V and reset. Easy Peasy...
Here is an example display for the Minima that I have been tinkering with. Not bad for a first attempt. (I am not the best UI designer... Ok, I suck at it...)
So, it will be fun to see where this leads. Being a touch screen (they have both TFT and CAP Touch available) it can be used for input as well as output. I am using the simplified tools that have a selection of UI elements that can be placed, sized and programmed on the display as well as Arduino and Raspberry PI libraries to encapsulate the serial communications protocol. There is also the ability to talk to the lower level primitives, so we will have to scope that out as well.
More to come...
Saturday, July 19, 2014
New LCD display
I have just received a couple of nice little display modules from China. These cute little devices are I2C interfaced and use the MicroLCD Arduino library for the SSD1306 controller. http://freematics.com/store
The displays are relatively cheap in single unit quantities of USD9.95. Two of them and 90g shipping delivered for USD24.85. Shipping took 12 days.
The device is a 3.3 volt device and interfaces nicely with the Arduino if you remember that you don't want to use the internal pull-up resistors and instead use external resistors to a 3.3 volt rail.
The display comes in two relatively small formats 0.9" and 1.3". Since it is an OLED display, the direct sunshine readability is excellent.
Since I have converted my Minima code to use I2C displays, I decided to hook it up and modify the Minima code as necessary to utilize this display. The result is as you can see below.
The displays are relatively cheap in single unit quantities of USD9.95. Two of them and 90g shipping delivered for USD24.85. Shipping took 12 days.
The device is a 3.3 volt device and interfaces nicely with the Arduino if you remember that you don't want to use the internal pull-up resistors and instead use external resistors to a 3.3 volt rail.
The display comes in two relatively small formats 0.9" and 1.3". Since it is an OLED display, the direct sunshine readability is excellent.
Since I have converted my Minima code to use I2C displays, I decided to hook it up and modify the Minima code as necessary to utilize this display. The result is as you can see below.
As is the case with most things I buy from China, there are a couple of anomalies that I have noted...
1. The first two pixel columns are not visible on the display. By offsetting two pixels to the right, the result is what you see above.
2. There is no cursor support in the shipped library (MicroLCD) so some investigation will be necessary to see how to implement similar functionality.
This should be fun for a number of projects, nice and compact and easy to interface, anomalies and all...
Here I have increased the font size for my tired eyes. I think it still looks pretty good.
Friday, January 27, 2012
New Propeller Toys
I have obtained a touch panel LCD display for my Propeller board. I am using a modification of the TV object to display text output for debugging purposes. It is nice to have this peripheral display to make debugging easier. Here is some debug output from my work on a routine to encode WSPR messages:
Nice little display. It is a 320x240, 2.4" Colour LCD with touch screen. It mounts to a prototyping board and leaves 15 IO available when connected in 8 bit mode. It can display true-colour, 24 bit images and has a controllable backlight. It also sports a full size SD card slot that can be used for offline storage. Here is an example of the graphics display.
I think this will prove to be quite useful in my projects.
Nice little display. It is a 320x240, 2.4" Colour LCD with touch screen. It mounts to a prototyping board and leaves 15 IO available when connected in 8 bit mode. It can display true-colour, 24 bit images and has a controllable backlight. It also sports a full size SD card slot that can be used for offline storage. Here is an example of the graphics display.
I think this will prove to be quite useful in my projects.
Subscribe to:
Posts (Atom)


