eco_cool Display Module Programming

Programming the ATTiny261A on an eco-cool display module

A while ago a co-worker gifted me with several of these display modules.
Initially I thought "well, it's got a nice dual 7 segment led display but not much else worthwhile" but after closer inspection I found it was driven by an Atmel ATTiny261A microcontroller. Suddenly, these gizmos were a lot more interesting!

Here's what it looked like...

I sorted out the necessary connections for my USBASP programmer (VCC, GND, MISO, MOSI, SCK and RESET) and found 4 of them were already tied to the 5 pin connector on the module so only 2 additional connections were really necessary.
I did a quick check of the lock bits on the ATTiny261 and found that the maker had them set to prevent downloading of the original programming.
Once a few more connections were figured out it was a relatively simple task to load some new code into the module. I started out just making the LEDs display digits and count from 00-99 but later added a bit-banged serial interface allowing me to connect to a terminal program through a USB-Serial adapter.
I finally added some functions that allowed me to send commands to make it beep, change the count rate, pause the count and update the digits.

The ATTiny261 MCU

The connections for the ISP (Click for larger image)

The front of the PCB

Re-programmed and running the demo.

Download Link Details:

ATTiny261A.pdf ATTiny261A datsheet

Arduino as ISP for ATTiny261A.docx A word document with instructions for programming the device with an UNO

eco_cool.pdf Partial schematic of major components

eco_cool2.zip Display demo software (source, .hex and a couple of batch files)

eco_cool2_ASM.zip Example of programming in AVR assembler (includes the AVR assembler avrasm2.exe)