Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8421745
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 10, 20262026-06-10T03:13:58+00:00 2026-06-10T03:13:58+00:00

I am decoding a message sent by an wireless outdoor weather station. I have

  • 0

I am decoding a message sent by an wireless outdoor weather station. I have figured out what most of the protocol means except haven’t been able to determine how to calculate the checksum. Here is what I’ve found so far:

 0100 0111 0110 0000 0111 0100 0011 0010 1110 0110
|----|---------|--------------|---------|---------|
 start   id         temp        humidity  checksum?

So in the above example the temperature was 11.6 degrees and 50% humidity. The “id” field changes to a “random” value when I replace the batteries in the outdoor transmitter. The last 8 bits only change when the id/temp/humidity changes so I’m fairly certain those are the checksum/crc bits.

Here are a bunch of different transmissions:

0100 1110 0101 0000 1001 0010 0011 0011 1010 0001
0100 1110 0101 0000 1001 0010 0011 0100 0011 0110
0100 0111 0110 0000 1001 0010 0011 0100 0110 1100
0100 0111 0110 0000 1001 0010 0011 0101 0101 1101
0100 0111 0110 0000 1001 0100 0011 0101 0000 0111
0100 0111 0110 0000 1001 0101 0011 0110 1010 0000
0100 0111 0110 0000 1001 1000 0011 0111 1101 0001
0100 0111 0110 0000 1010 1000 0011 0111 0110 0011
0100 0111 0110 0000 1010 1001 0011 0111 1001 0111
0100 0111 0110 0000 1010 1010 0011 0111 1011 1010
0100 0111 0110 0000 0111 0100 0011 0010 1110 0110
0100 0111 0110 0000 0111 0101 0011 0010 0001 0010
0100 0111 0110 0000 0111 0110 0011 0010 0011 1111

I’m not familiar with checksum/crc techniques, can anyone see what might be being used here or point me in a direction for how to determine this?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-10T03:14:00+00:00Added an answer on June 10, 2026 at 3:14 am

    Hacked OK. Here’s the C# code to generate the 5-th byte out of the previous 4 bytes.

    /// <summary>A variant of CRC-8</summary>
    /// <param name="data">Pass here the first 4 bytes of data, e.g. { 0x4E 0x50 0x92 0x33 }</param>
    /// <returns>The computed SRC value, e.g. 0xA1 for the data specified above.</returns>
    static byte src8( byte[] data )
    {
        byte res = 0;
        foreach( byte b in data )
        {
            byte val = b;
            for( int i = 0; i < 8; i++ )
            {
                byte tmp = (byte)( ( res ^ val ) & 0x80 );
                res <<= 1;
                if( 0 != tmp )
                    res ^= 0x31;
                val <<= 1;
            }
        }
        return res;
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a problem decoding HTML entities. I have tried using both System.Net.WebUtility.HtmlDecode() and
I have problems decoding several Chars. In the Database, the Chars Ä, Ö and
I am decoding comms messages from a binary stream. I create message objects of
I'm struggling with OOM errors when decoding images. This message is right on money
I have a function accepting requests from the network. Most of the time, the
--------------------------- ƒGƒ‰[ --------------------------- ƒfƒBƒXƒvƒŒƒCƒ‚[ƒh‚ªÝ’è‚Å‚«‚Ü‚¹‚ñ. --------------------------- OK --------------------------- I get this clear error message out
I have searched a lot about UTF8 decoding, but not found the answer yet.
I have some problem for decoding image data from base 64 encoded string. I
I'm designing a class library that will be sent out to the public for
Iam having trouble decoding Japanese message, the final output seems to be a garbage

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.