• Ha! Fail...

    3 days ago 5 comments

    So I thought that my LiPo Chargers in form of 4056 modules are all weird, broken and not powerful enough, until I've noticed that my UNI-T UT61E multimeter isn't calibrated anymore(?)! Stupid me also calibrated other stuff like my Power Supply made from a buck down converter and a notebook PSU using that meter. I also thought my R8D8 power bank was off big time and the batteries were done, because I've continuously measured 3.8V on each cell with that multimeter... meh. Cheap multimeter now tells me I'm stupid. meh. 

    Anyone any tips for voltage references? Or how I can recalibrate voltage without another multimeter?

    [update] I've seem to programmed all my attiny13 for #FLUX capacitor trinket with 13V instead of 12V, thanks to my multimeter... meh. but hey, they work.

  • Playing around with IS31FL7X

    07/02/2017 at 17:37 0 comments

    Trying to make [this] work with the Arduino IDE on a Wemos D1 Mini. The additional capacitor got loose, so that there were fluctuations in one row. One row seems to be dead now, after I tried to resolder the QFN chip with my soldering iron. Instead of fiddeling around with that anymore, I finally got around to fix my hot air station. One of the 230V cables was crimped wrong, there was still some isolation where there should have been the blank cable, I wonder why it ever worked at first. There's a DIP Atmega8L inside - funky.

    #include <Wire.h>
    byte address = 0x50;
    void setup() {  
      Wire.begin();
      activate();
    }
    void loop() {
      ledPWM(255);  
      delay(1000);
      ledPWM(0);
      delay(1000);
    }
    void ledPWM(byte b)
    {
      // Wire.write(byte(0x00));
      for (byte i=0; i<98; i++)
      {
        writeEnable(byte(0x01));
        Wire.beginTransmission(address);
        Wire.write(i*2);
        Wire.write(b);
        Wire.endTransmission();
      }  
    }
    void turnOnLeds()
    {
      writeEnable(byte(0x00));
      Wire.beginTransmission(address);
      Wire.write(byte(0x00));
      for (byte i=0; i<12; i++)
      {
        Wire.write(byte(0x55));
        Wire.write(byte(0x15));
      }
      Wire.endTransmission();
    }
    void releaseRegister()
    {
      Wire.beginTransmission(address);
      Wire.write(byte(0xfe));  // send command 
      Wire.write(byte(0xc5));  // send page zero
      Wire.endTransmission();
    }
    void writeEnable(byte page)
    { 
      releaseRegister();
      Wire.beginTransmission(address);
      Wire.write(byte(0xfd));  // send command 
      Wire.write(page);  // send page zero
      Wire.endTransmission();
    }
    void activate()
    {
      writeEnable(byte(0x03));
      Wire.beginTransmission(address);
      Wire.write(byte(0x00));  // Configuration Register
      Wire.write(byte(0x01));  // Set SSD = 1
      Wire.endTransmission();
      writeEnable(byte(0x03));
      Wire.beginTransmission(address);
      Wire.write(byte(0x01));  // Global Current Control
      Wire.write(byte(0x30));  // set to 127
      Wire.endTransmission();
      turnOnLeds();
    }
    

  • LCsoft Mini Board CY7C68013A in Sigrok on Mac

    03/07/2017 at 11:00 0 comments

    Four Euros for a 16 channel, 24MHz logic analyzer is a pretty good investment. At least that's what I thought when I read this article on hackaday.com in 2012. It talks about the LCSOFT mini board being a clone of a Saleae 8 Channel logic analyzer, but with the help of the open source software sigrok it can be much more. Sigrok itself is a command line interface only program, but together with pulseview I think you will have the same experience as with the Saleae devices + software.

    You just have to make it work first, especially when you're on a Mac. I've written a nightly rant the other day, but here I'm trying to compress the essentials to make it work.


    First you need to have homebrew [https://brew.sh/] installed. If you do, you need to follow the "unstable" install route - doesn't sound comforting, more on: https://sigrok.org/wiki/Mac_OS_X

    $ brew tap rene-dev/sigrok
    $ brew install python3
    $ brew install --HEAD libserialport
    $ brew install --HEAD --with-libserialport libsigrok
    $ brew install --HEAD libsigrokdecode
    $ brew install --HEAD --with-libserialport sigrok-cli
    $ brew install --HEAD pulseview
    
    

    Whenever pulseview(/sigrok) is opened, the firmware get's written onto the Cypress CY7C68013A (FX2LP) chip. For that you need to download the pre-built firmware files from here http://sigrok.org/download/binary/sigrok-firmware-fx2lafw/ and move them to the folder.

    /usr/local/share/sigrok-firmware/

    The other stuff I ranted about in here is just me trying to make fxload work, a tool you (probably) don't need for that.