SPI on a ATTiny3216 with St7789 display

Go To Last Post
5 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hey Freaks, not sure how difficult this is, but I’m trying to run the ST7789 on the attiny, everything is working great but now I’m working on reducing power consumption to all devices and low power sleeping is all really working great.  But what I run into is when I don’t need the screen it is still drawing power.  It’s not the low power function of the screen or backlight, it’s coming from the SPI bus which is always connected and drawing power regardless if the screen is on or not.  
 

im trying to figure out the best way to disconnect the spi to the screen and reconnect as needed.   I’m currently using the spi.begin and spi.end functions which do work but I still get power to the pins on the attiny which kills my hopes for low power. 
 

anything I can try, like transistors to bridge the power to the screen and use a attiny pin to turn connectivity on and off? 
 

any suggestions?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

SPI should not be "drawing power" when it is idle. How do you determine that it is? MOSI, MISO, clock, and select are all CMOS outputs with CMOS inputs as loads. Unless you have some bus-keeping resistors, there should be no current there but leakage in the nano-amp range. Likewise, the internal registers are all CMOS and consume very little power when idle So, again, how do you determine that SPI is your power consumer?

 

Jim

 

Until Black Lives Matter, we do not have "All Lives Matter"!

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

But what I run into is when I don’t need the screen it is still drawing power.  It’s not the low power function of the screen or backlight

Don't you think you should say how much?  The display will take some power under ALL circumstances.  How many mW do you expect?

 

What pullups resistors (internal or external) are you pulling against?  Floating lines will draw excessive power as well.

 

You need to add a lot of specifics and detailed measurements.

 

The spi bus itself is just wires (spi requires no pullup/down), so that draws no power, other than gate bias currents & possibly the power of the AVR SPI peripheral block (miniscule).

 

For additional help you need to provide a full schematic, since there can be  many overlooked reasons for power draw.

When in the dark remember-the future looks brighter than ever.   I look forward to being able to predict the future!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 2

Life is much easier if you post a link to the actual ST7789 display that you are using.

And show the schematic of how you connect it.

 

You can send the TFT controller to sleep by software.

You can switch off the power generating sections by software.

You can switch off the TFT backlight.

 

You can do all the normal things that you would expect to do with the AVR.

 

However we can only guess what you are actually doing.

 

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

bobioknight wrote:
transistors to bridge the power to the screen
Might have to load switch ST7789's VDDI and maybe VDD as am uncertain of the SLPIN (sleep) instruction's effect (disables its DC/DC converter); this may be a no-go as display initialization may be too much of a lag to the operator.

ST7789 sleep current is an order-of-magnitude greater than the MCU.

bobioknight wrote:
... and use a attiny pin to turn connectivity on and off?
Level converters have FET as switches and are in tiny packages.

 


ST7789V.pdf (Newhaven Display, page 40 for power consumption)

Power Consumption | tinyAVR® 1-series

 

Level Translators (onsemi)

 

"Dare to be naïve." - Buckminster Fuller