Home Forum Software Opensource KIT1 firmware

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • #3660
    uRADMonitor
    Keymaster

    We’ve just released the full KIT1 source code, and an upgraded server protocol that allows adding and reading additional sensors, including the highly acclaimed BME280. Read the press release here https://www.uradmonitor.com/open-source-uradmonitor-kit1/

    This topic will offer assistance and guidance for compiling and modifying the uRADMonitor KIT1 firmware. Feel free to post your questions.

    #3664
    Sulley
    Participant

    awesome stuff!

    I successfully updated the firmware.
    I compiled it on linux with only small changes (case sensitive fs, BME280.h vs bme280.h).

    I tried to hook up my bme280 breakout board (from sparkfun, https://www.sparkfun.com/products/13676 ) but had some issues and would have a couple of questions.

    1. #define BME280_ADDR (0x76<<1) //0x77 default I2C address
    is this correct ? Since 0x76 << 1 is not 0x77

    2. should SDA/SLC be pulled high?

    3. After some debugging, it seems that the initial i2c communication breaks on the first try here:
    if (i2c_start_wait(address | I2C_WRITE)) return I2C_ERROR;
    in readmem() when it tries to read the ID from 0xd0.

    This seems to be the first check that returns an error:
    if((TWSR & 0xF8) != 0x08) return 1;
    in i2c_start_wait()

    Any hints on what I might need to change ?

    Thanks for the good work , cheers!

    #3673
    uRADMonitor
    Keymaster

    The left shift is because we want the 7bit address. That is correct.

    How is your BME280 connected?

    “The 7-bit device address is 111011x. The 6 MSB bits are fixed. The last bit is changeable by SDO value and can be changed during operation. Connecting SDO to GND results in slave address 1110110 (0x76); connection it to VDDIO results in slave address 1110111 (0x77), which is the same as BMP280’s I2C address. The SDO pin cannot be left floating; if left floating, the I2C address will be undefined.” (BME280 datasheet)

    #3674
    Sulley
    Participant

    haha, well that was some time nicely wasted

    my SDO was tied to Vcc , which i knew, and i knew i needed 0x77 as address,
    that comment just threw me off
    //0x77 default I2C address
    thought it was already set as default and was confused with that shift

    instead of trying the obvious, i went on and started debugging i2c communication
    a habit of a reverse engineer i guess…

    anyway, it’s working like a charm now, thanks!

    Attachments:
    #3676
    uRADMonitor
    Keymaster

    That is absolutely amazing! Congrats for being the first to manage to compile and use this new firmware (others are trying as we speak, but you were the first!)

    Would you post a short tutorial on how you compiled the code and the BME280 configuration options?

    The others would be so grateful!

    #3678
    wanek
    Participant

    hello!


    @Sulley
    , could you please check it, that the temperature value on your display (and the device local site) it shows only integers or fractional numbers? my device shows only ints, also the local website and the graph on the server. i would like to know that it is a compilation error on my side, or there is a bug in the code. at the beginning i had some problems with floats while compiling.

    i see that on the attached photo there is exactly (?) 25.0 degrees. however, chances are small for that…

    thanks!

    #28427
    Outsider
    Participant

    Can someone be kind enough and post a short tutorial on compiling Kit1 source code on a Windows machine?
    I have Atmel Studio 7 and AVRISP MkII programmer, but I’m willing to use AVR Toolchain if that’s
    what you guys used.
    I have modified the source code to use my tube (STS-1, not a particularly sensitive tube but that’s what
    I had on hand).

    There was a tutorial on this page:

    https://www.uradmonitor.com/a-tutorial-how-to-compile-kit1-firmware-on-a-windows-machine/

    but not anymore. Wolferl, the author, no longer has it and Radu is busy right now, so… maybe
    someone saved it and would be able to post it here as a PDF or something?…
    I have finished constructing the device (PCB completely redesigned to fit my enclosure), and I’m barely
    waiting to compile the code and get it running!
    Thank you so much!

    Attachments:
    #28430
    Wolferl
    Moderator

    Hi Outsider,

    I still have a machine setup for this. If you like I can compile your code for you if you like.

    Too bad that the article is lost. I don’t understand why I didn’t save this locally…

    Cheers

    #28431
    Outsider
    Participant

    Thank you so much, Wolferl! I will send you the modified source code.

    I would love to read that tutorial too, when it might resurface.
    I started this project because I want to familiarize myself with both
    programming in general and microcontrollers in particular, so I chose
    something that interests me.

    #28432
    Wolferl
    Moderator

    I sent you a PM with my email addy.

    #28583
    uRADMonitor
    Keymaster
    #28584
    Outsider
    Participant

    Thank you! Come what may, I have saved it now as PDF 😉
    In the meantime, Wolferl helped me with the recompiling of the modified source code
    (for my STS-1 tube).

    #28585
    Wolferl
    Moderator

    Great, thank you so much, Radu!

    Saved it locally, too!

    Cheers,
    Wolferl

Viewing 13 posts - 1 through 13 (of 13 total)
  • You must be logged in to reply to this topic.