Arduino Forum

Using Arduino => Displays => Topic started by: matt_funder27 on Nov 15, 2018, 04:16 am

Title: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: matt_funder27 on Nov 15, 2018, 04:16 am
I have venmo and paypal ready to pay whoever can get my digispark to work. The reward is $50, no matter how simple the fix is. You can supply me the files, or tell me how to fix my code and if it works, I will happily pay you. I wish I could figure this out, but it looks like it may be over my head  :( .
 I will be monitoring this thread often to respond to replies.

 The digispark is wired to the I2C via P0 to SDA, and P2 to SDL, and powers the display on but no text shows on the screen, all that is visible is white boxes on the top row, and dark blue boxes on the bottom.

I  have gone through what seems to be every single line of code within the libraries that are called out and cannot figure out why this isn't working. I have tried altering several lines with no success. I ordered an Arduino Uno to help debug this problem, and it will arrive tomorrow, I'm very happy to use this to help solve the issue. (I have also tried replacing several different libraries with no success)

Below is my code (example sketch within DigiSparkLCD), and I have attached the two libraries it calls out... if needed I can attach any .cpp, or .h files that are required to solve my problem.


Code: [Select]
/* ATtiny85 as an I2C Master   Ex2        BroHogan                           1/21/11
 * Modified for Digistump - Digispark LCD Shield by Erik Kettenburg 11/2012
 * SETUP:
 * ATtiny Pin 1 = (RESET) N/U                      ATtiny Pin 2 = (D3) N/U
 * ATtiny Pin 3 = (D4) to LED1                     ATtiny Pin 4 = GND
 * ATtiny Pin 5 = SDA on DS1621  & GPIO            ATtiny Pin 6 = (D1) to LED2
 * ATtiny Pin 7 = SCK on DS1621  & GPIO            ATtiny Pin 8 = VCC (2.7-5.5V)
 * NOTE! - It's very important to use pullups on the SDA & SCL lines!
 * PCA8574A GPIO was used wired per instructions in "info" folder in the LiquidCrystal_I2C lib.
 * This ex assumes A0-A2 are set HIGH for an addeess of 0x3F
 * LiquidCrystal_I2C lib was modified for ATtiny - on Playground with TinyWireM lib.
 * TinyWireM USAGE & CREDITS: - see TinyWireM.h
 */

//#define DEBUG
#include <TinyWireM.h>                  // I2C Master lib for ATTinys which use USI - comment this out to use with standard arduinos
#include <LiquidCrystal_I2C.h>          // for LCD w/ GPIO MODIFIED for the ATtiny85

#define GPIO_ADDR     0x27             // (PCA8574A A0-A2 @5V) typ. A0-A3 Gnd 0x20 / 0x38 for A - 0x27 is the address of the Digispark LCD modules.


LiquidCrystal_I2C lcd(GPIO_ADDR,16,2);  // set address & 16 chars / 2 lines


void setup(){
  TinyWireM.begin();                    // initialize I2C lib - comment this out to use with standard arduinos
  lcd.init();                           // initialize the lcd
  lcd.backlight();                      // Print a message to the LCD.
  lcd.print("Digispark!");
}


void loop(){

}
Title: Re: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: Paul__B on Nov 15, 2018, 05:02 am
OK, use Bill, bperrybap's HD4470 library which is installed from the IDE library manager.  Forget the others, this library is more sophisticated in so many ways.  There are test examples provided with it.

I was jsut a trifle curious about
no text shows on the screen, all that is visible is white boxes on the top row, and dark blue boxes on the bottom.
I trust that you have found the white boxes by adjusting the contrast potentiometer?  If the contrast potentiometer did not affect the display, I would have to conclude you had the backpack fitted the wrong way round.
Title: Re: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: wolframore on Nov 15, 2018, 06:13 am
Can you post a picture of the I2C backpack. Could be you have the wrong address.
Title: Re: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: Paul__B on Nov 15, 2018, 09:32 am
Can you post a picture of the I2C backpack.
Always an excellent idea.  The backpack and the display as described.

Could be you have the wrong address.
Which is exactly why I recommended Bill's HD4470 library.

In retrospect, I am not too sure how well it integrates to the digispark's processor.  Bill?
Title: Re: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: matt_funder27 on Nov 15, 2018, 05:02 pm
OK, use Bill, bperrybap's HD4470 library which is installed from the IDE library manager.  Forget the others, this library is more sophisticated in so many ways.  There are test examples provided with it.
I will try out this library and post back the results.

I was jsut a trifle curious aboutI trust that you have found the white boxes by adjusting the contrast potentiometer?  If the contrast potentiometer did not affect the display, I would have to conclude you had the backpack fitted the wrong way round.

Yes, the white boxes came to once adjusting the contrast.


I am using 0x27 for the address, No jumpers have been used to change the address.
I have tried using pullups and without pullups, but it appears the code has a pullup feature built in

(https://i.imgur.com/MFA43zl.jpg)
Title: Re: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: matt_funder27 on Nov 15, 2018, 05:28 pm
There are several examples within the Bill library, the first try uses a library "LCD.h" that I do not have, and the other example I used returns an error of: 'POSITIVE' was not declared in this scope.


I have received this error with other attempts on different libraries.

Error:
Code: [Select]


In file included from C:\Users\Matthew\Documents\Arduino\libraries\arduino_730361\examples\otherLibraries\NewLiquidCrystal\LiquidCrystal_I2C\hd44780examples\LCDiSpeed400\LCDiSpeed400.ino:23:0:

C:\Users\Matthew\Documents\Arduino\libraries\arduino_730361/hd44780.h:150:77: error: '__FlashStringHelper' does not name a type

  size_t __attribute__ ((error("println() is not supported"))) println(const __FlashStringHelper *);

                                                                             ^

C:\Users\Matthew\Documents\Arduino\libraries\arduino_730361/hd44780.h:150:97: error: ISO C++ forbids declaration of 'parameter' with no type [-fpermissive]

  size_t __attribute__ ((error("println() is not supported"))) println(const __FlashStringHelper *);

                                                                                                 ^

LCDiSpeed400:40:69: error: 'POSITIVE' was not declared in this scope

 const int rs=0, rw=1, en=2, db4=4, db5=5, db6=6, db7=7, bl=3, blpol=POSITIVE;

                                                                     ^

LCDiSpeed400:41:73: error: no matching function for call to 'LiquidCrystal_I2C::LiquidCrystal_I2C(const uint8_t&, const int&, const int&, const int&, const int&, const int&, const int&, const int&, const int&, const int&)'

 LiquidCrystal_I2C lcd(i2cAddr, en, rw, rs, db4, db5, db6, db7, bl, blpol);

                                                                         ^

C:\Users\Matthew\Documents\Arduino\libraries\arduino_730361\examples\otherLibraries\NewLiquidCrystal\LiquidCrystal_I2C\hd44780examples\LCDiSpeed400\LCDiSpeed400.ino:41:73: note: candidates are:

In file included from C:\Users\Matthew\Documents\Arduino\libraries\arduino_730361\examples\otherLibraries\NewLiquidCrystal\LiquidCrystal_I2C\hd44780examples\LCDiSpeed400\LCDiSpeed400.ino:19:0:

C:\Users\Matthew\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\DigisparkLCD/LiquidCrystal_I2C.h:59:3: note: LiquidCrystal_I2C::LiquidCrystal_I2C(uint8_t, uint8_t, uint8_t)

   LiquidCrystal_I2C(uint8_t lcd_Addr,uint8_t lcd_cols,uint8_t lcd_rows);

   ^

C:\Users\Matthew\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\DigisparkLCD/LiquidCrystal_I2C.h:59:3: note:   candidate expects 3 arguments, 10 provided

C:\Users\Matthew\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\DigisparkLCD/LiquidCrystal_I2C.h:57:7: note: LiquidCrystal_I2C::LiquidCrystal_I2C(const LiquidCrystal_I2C&)

 class LiquidCrystal_I2C : public Print {

       ^

C:\Users\Matthew\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\DigisparkLCD/LiquidCrystal_I2C.h:57:7: note:   candidate expects 1 argument, 10 provided

In file included from C:\Users\Matthew\Documents\Arduino\libraries\arduino_730361\examples\otherLibraries\NewLiquidCrystal\LiquidCrystal_I2C\hd44780examples\LCDiSpeed400\LCDiSpeed400.ino:47:0:

C:\Users\Matthew\Documents\Arduino\libraries\arduino_730361/examples/hd44780examples/LCDiSpeed/LCDiSpeed.ino: In function 'void setup()':

C:\Users\Matthew\Documents\Arduino\libraries\arduino_730361/examples/hd44780examples/LCDiSpeed/LCDiSpeed.ino:188:7: error: 'class USI_TWI' has no member named 'setClock'

  Wire.setClock(WIRECLOCK); // set i2c clock bit rate, if asked

       ^

exit status 1
'POSITIVE' was not declared in this scope
Title: Re: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: wolframore on Nov 15, 2018, 05:49 pm
I can't read the chip... can you read the PCF8574 part name... does it say  PCF8574AT by any chance?
Title: Re: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: matt_funder27 on Nov 15, 2018, 06:29 pm
Very hard to see, but yes the part number is PCF8574AT
(https://i.imgur.com/xFbjeQ6.jpg)
Title: Re: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: wolframore on Nov 15, 2018, 06:37 pm
then change your code for address: 0x3F
Title: Re: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: matt_funder27 on Nov 15, 2018, 06:47 pm
I just tried using the original code posted (digisparkLCD library) and changed the GPIO_ADDR to 0x3F and still no changes to the display. I tried both with and without using pullups.
Title: Re: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: wolframore on Nov 15, 2018, 06:55 pm
try this:

LiquidCrystal_I2C lcd(0x38,2,1,0,4,5,6,7);



also need this in setup:

   lcd.begin (16,2);
Title: Re: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: wolframore on Nov 15, 2018, 07:04 pm
Also if that doesn't work you can run this on an arduino to read the I2C address on the device:

 My guess is still with the address issue


Code: [Select]

// I2C Scanner


#include <Wire.h>

void setup() {
  Serial.begin (115200);

  // Leonardo: wait for serial port to connect
  while (!Serial)
    {
    }

  Serial.println ();
  Serial.println ("I2C scanner. Scanning ...");
  byte count = 0;
  
  Wire.begin();
  for (byte i = 8; i < 120; i++)
  {
    Wire.beginTransmission (i);
    if (Wire.endTransmission () == 0)
      {
      Serial.print ("Found address: ");
      Serial.print (i, DEC);
      Serial.print (" (0x");
      Serial.print (i, HEX);
      Serial.println (")");
      count++;
      delay (1);  // maybe unneeded?
      } // end of good response
  } // end of for loop
  Serial.println ("Done.");
  Serial.print ("Found ");
  Serial.print (count, DEC);
  Serial.println (" device(s).");
}  // end of setup

void loop() {}

Title: Re: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: matt_funder27 on Nov 15, 2018, 07:08 pm
I commented out the define GPIO ADDRESS and Previous LiquidCrystal Call, I now have the error No matching function to LiquidCrystal_I2C.. See code below for error.
(https://i.imgur.com/0AxfMOz.png)
Code: [Select]



BasicUsage:23:41: error: no matching function for call to 'LiquidCrystal_I2C::LiquidCrystal_I2C(int, int, int, int, int, int, int, int)'

 LiquidCrystal_I2C lcd(0x38,2,1,0,4,5,6,7);

                                         ^

C:\Users\Matthew\AppData\Local\Temp\arduino_modified_sketch_211171\BasicUsage.ino:23:41: note: candidates are:

In file included from C:\Users\Matthew\AppData\Local\Temp\arduino_modified_sketch_211171\BasicUsage.ino:17:0:

C:\Users\Matthew\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\DigisparkLCD/LiquidCrystal_I2C.h:59:3: note: LiquidCrystal_I2C::LiquidCrystal_I2C(uint8_t, uint8_t, uint8_t)

   LiquidCrystal_I2C(uint8_t lcd_Addr,uint8_t lcd_cols,uint8_t lcd_rows);

   ^

C:\Users\Matthew\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\DigisparkLCD/LiquidCrystal_I2C.h:59:3: note:   candidate expects 3 arguments, 8 provided

C:\Users\Matthew\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\DigisparkLCD/LiquidCrystal_I2C.h:57:7: note: LiquidCrystal_I2C::LiquidCrystal_I2C(const LiquidCrystal_I2C&)

 class LiquidCrystal_I2C : public Print {

       ^

C:\Users\Matthew\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\DigisparkLCD/LiquidCrystal_I2C.h:57:7: note:   candidate expects 1 argument, 8 provided

exit status 1
no matching function for call to 'LiquidCrystal_I2C::LiquidCrystal_I2C(int, int, int, int, int, int, int, int)'
Title: Re: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: matt_funder27 on Nov 15, 2018, 07:14 pm
Cannot get the I2C scanner to work either

Code: [Select]
Arduino: 1.8.7 (Windows 10), Board: "Digispark (Default - 16.5mhz)"

C:\Users\Matthew\Desktop\The Mist - Smoke Mate\Arduino Code\Arduino - LCD Display Sketch\Led Blink\sketch_nov15a\sketch_nov15a.ino: In function 'void setup()':

sketch_nov15a:11:10: error: no match for 'operator!' (operand type is 'TinyDebugSerial')

   while (!Serial)

          ^

C:\Users\Matthew\Desktop\The Mist - Smoke Mate\Arduino Code\Arduino - LCD Display Sketch\Led Blink\sketch_nov15a\sketch_nov15a.ino:11:10: note: candidate is:

C:\Users\Matthew\Desktop\The Mist - Smoke Mate\Arduino Code\Arduino - LCD Display Sketch\Led Blink\sketch_nov15a\sketch_nov15a.ino:11:10: note: operator!(bool) <built-in>

C:\Users\Matthew\Desktop\The Mist - Smoke Mate\Arduino Code\Arduino - LCD Display Sketch\Led Blink\sketch_nov15a\sketch_nov15a.ino:11:10: note:   no known conversion for argument 1 from 'TinyDebugSerial' to 'bool'

exit status 1
no match for 'operator!' (operand type is 'TinyDebugSerial')

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
Title: Re: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: wolframore on Nov 15, 2018, 07:20 pm
try this... looks like attiny is the challenge.

 https://www.instructables.com/id/16x2-LCD-screen-for-ATtiny85-only-two-pins/  (https://www.instructables.com/id/16x2-LCD-screen-for-ATtiny85-only-two-pins/)
Title: Re: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: matt_funder27 on Nov 15, 2018, 08:54 pm
No such luck, if I follow the instructions as described, I get an error that lcd is not declared in this scope
It complies if i use the example within the Adagfruit folder... so not sure whats going on there.

I completely replaced the TinyWireM file, and I already have all of the cores it was wanting me to use.

I added in coding from the other sketches to get it to compile, but that just puts me back at square one.


Code: [Select]
#include <TinyWireM.h>                 // ATtiny I2C communication
//#include <Adafruit_RGBLCDShield.h> // RGB LCD Shield communications
#include <LiquidCrystal_I2C.h> 
//Adafruit_RGBLCDShield lcd = Adafruit_RGBLCDShield();
#define GPIO_ADDR     0x27 
LiquidCrystal_I2C lcd(GPIO_ADDR,16,2);
long secs = 0;

void setup()
{

  lcd.begin(16, 2); // set up the LCD's number of columns and rows.
  lcd.setBacklight(7); // For monochrome LCD lcd.setBacklight(ON)
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("Hello World!");
}

void loop()
{
 
}
Title: Re: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: wolframore on Nov 15, 2018, 08:59 pm
You reverted back to #define GPIO_ADDR     0x27

Please try 0x38;

 if (that doesn't work)  0x3F 

:)
Title: Re: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: matt_funder27 on Nov 15, 2018, 09:01 pm
I tried both, but I was just able to get a I2C scanner working,


C device found at address 0x3F  !
done


Title: Re: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: wolframore on Nov 15, 2018, 09:01 pm
sweet! does it work now?
Title: Re: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: david_prentice on Nov 15, 2018, 09:06 pm
Go on.   He posted a photo of a PCF8574A with unmounted links on the A0, A1, A2 pins.   i.e. Slave = 0x3F

However,   it is much safer to install Bill Perry's HD44780 library or run an I2C sniffer program.   Then you will know the address.

Or you could just use Codevision C Compiler.  Which supports the I2C backpack.

David.
Title: Re: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: matt_funder27 on Nov 15, 2018, 09:14 pm
not yet, I am going bake through all of the previous libraries Ive used to see if any will work using the 0X3F library.
Title: Re: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: wolframore on Nov 15, 2018, 09:16 pm
that's the first address we tried... try David's suggestion on the library.  I can see why I2C is so important on attiny.  what are you making?  Why not just use a 328?

Do we still know if pin 5 and 7 are still good?
Title: Re: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: wolframore on Nov 15, 2018, 09:32 pm
OK try this...


Go here and download:
https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads/ (https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads/)

seems not all the libraries work with ATTINY.

Open file I2CIO.cpp

After line 34 insert the code below:

#if defined(__AVR_ATtiny84__) || (__AVR_ATtiny2313__)
#include "TinyWireM.h"      // include this if ATtiny85 or ATtiny2313
#define Wire TinyWireM
#else
#include <Wire.h>           // original lib include
#endif







Code: [Select]


#include <TinyWireM.h>                 // ATtiny I2C communication

#include <LiquidCrystal.I2C.h> 

#define GPIO_ADDR     0x3F 
LiquidCrystal_I2C lcd(GPIO_ADDR, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
long secs = 0;

void setup()
{

  lcd.begin(16, 2); // set up the LCD's number of columns and rows.
  lcd.setBacklight(ON);
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("Hello World!");
}

void loop()
{
 
}

Title: Re: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: matt_funder27 on Nov 15, 2018, 10:01 pm
that's the first address we tried... try David's suggestion on the library.  I can see why I2C is so important on attiny.  what are you making?  Why not just use a 328?

Do we still know if pin 5 and 7 are still good?
I want to use a micro controller that is under $3 for my project. Eventually, I would like to just use the Attiny85 alone and not on the digispark. I just Received my Uno, so I can test the screen and I2C.

I will also try your recommendation and reply.
Title: Re: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: wolframore on Nov 15, 2018, 10:12 pm
Good luck... I get 328P chips for $1.50 and make my own.  Attiny isn't a huge savings for the issues it can cause.
Title: Re: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: matt_funder27 on Nov 15, 2018, 10:48 pm
Im a man of my word, Wofl please send me a personal message to declare how you would like your payment.

The code below worked for me.


Code: [Select]
/*
 * Interactive nametag sketch for ATtiny85. Based on the Digispark
 * ATtiny LCD example and the Adafruit "Measuring Sound Levels" example.
 * Every 12000 milliseconds will change the display from my name to my website.
 * On the second line, will measure and display sound levels.
 * For more info check: https://platis.solutions/blog/2015/03/22/diy-interactive-name-tag/
 * ATtiny85 I2C pins:
 * ATtiny Pin 5 = SDA on DS1621  & GPIO
 * ATtiny Pin 7 = SCK on DS1621  & GPIO
 */

#include <TinyWireM.h>                  // I2C Master lib for ATTinys which use USI - comment this out to use with standard arduinos
#include <LiquidCrystal_attiny.h>          // for LCD w/ GPIO MODIFIED for the ATtiny85

#define GPIO_ADDR     0x3F
LiquidCrystal_I2C lcd(GPIO_ADDR, 16, 2); // set address & 16 chars / 2 lines

const short micPin = A3;
const short sampleWindow = 50; // Sample window width in mS (50 mS = 20Hz)
const unsigned long nameInterval = 12000;
unsigned long prevNameChange = 0;
short state = 1;
unsigned int sample;

void setup() {
  lcd.init();                           // initialize the lcd
  lcd.backlight();                      // Print a message to the LCD.
  lcd.print("Name: Dimitris");
}

void loop() {
  printName();
  printTemp();
}

void printName() {
  if (millis() - prevNameChange > nameInterval) {
    lcd.setCursor(0, 0);
    if (state) {
      lcd.print("platis.solutions");
    } else {
      lcd.print("Name: Dimitris  ");
    }
    prevNameChange = millis();
    state = !state;
  }
}

void printTemp()
{
  unsigned long startMillis = millis(); // Start of sample window
  unsigned int peakToPeak = 0;   // peak-to-peak level

  unsigned int signalMax = 0;
  unsigned int signalMin = 1024;

  // collect data for 50 mS
  while (millis() - startMillis < sampleWindow)
  {
    sample = analogRead(micPin);
    if (sample < 1024)  // toss out spurious readings
    {
      if (sample > signalMax)
      {
        signalMax = sample;  // save just the max levels
      }
      else if (sample < signalMin)
      {
        signalMin = sample;  // save just the min levels
      }
    }
  }
  peakToPeak = signalMax - signalMin;  // max - min = peak-peak amplitude
  printBars(peakToPeak);
}

void printBars(int bars) {
  if (bars > 14) bars = 14;
  for (int i = 0; i < 15; i++) {
    lcd.setCursor(i, 1);
    if (i <= bars) {
      lcd.print("*");
    } else {
      lcd.print(" ");
    }
  }
}
Title: Re: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: Paul__B on Nov 16, 2018, 05:36 am
I want to use a micro controller that is under $3 for my project. Eventually, I would like to just use the Attiny85 alone and not on the digispark. I just Received my Uno, so I can test the screen and I2C.
If you want a minimal system, the Pro Mini will cost you less than $2 from China (where else?), is more capable, and you get the PCB with all support parts fitted.  I can't see the point in re-inventing the wheel with bare chips.  :smiley-roll:
Title: Re: Paying $50 to whomever can get my digispark to work with I2C & 16x2 LCD
Post by: wolframore on Nov 16, 2018, 12:37 pm
Matt I just read through your code. That's pretty fun. Is this for s maker faire or a hacker event???