The Project board is for sharing projects based on Silicon Labs' component with other community members. View Projects Guidelines ›

Projects

    Publish
     
      • Deleted Tweets Viewer

        Drake New | 08/229/2020 | 10:27 AM

        How Can You Search Deleted Tweets Conveniently?

        Twitter is all about tweets. It is the social media that share information through tweets. It is an American social networking and blogging social media app that allows people to share and exchange a lot of things between themselves. Twitter users are aware of the word tweet which is Twitter more famous for. Most of the users want to know how they can find deleted tweets on Twitter. It is one of the most popular social media used by people all over the world. Also, know that there are always newcomers coming to the App to create a new account which means Twitter is adding users every single day in huge numbers. They can check this link to know about it.

         

        How To View Deleted Tweets?

        Well, any experienced Twitter user would know how frustrating it is to delete a tweet accidentally. So don't worry about it. Just read this tutorial to recover your deleted tweets on Twitter which you accidentally or deliberately deleted because of your personal reasons. Using this method you will know how to find someone's deleted tweets. Well, this is the most natural way to restore deleted tweets for you. Also, you can download your Twitter archives that reflect all your history. So, here are the steps to download the Twitter Archive. First, you need to go to Twitter and login to your account. Then just click on "More > Settings and privacy" which is on the left side navigational list. Then on your Twitter account settings page, select "Request Your Archive". After that when you click that "Request your Archive" button. Then Twitter will send an email to the email account registered with that Twitter account. In this way, you can find deleted tweets on Twitter. Now you need to go back to the Settings and privacy page and select "Download archive". After that just select your Twitter data and download it. Then go to the folder in your PC where you saved the data. And in the new Wayback Machine calendar, choose the day you want to view and choose the time, which opens a new Twitter snapshot. Then, once the snapshot opens in a new window, browse through the tweets, retweets, or replies to find the data you’re looking for. You need to one thing i.e. note that the snapshot will reflect date and hours based on the time of the snapshot, not the current date or time. And once again, the above process may not work for you, but it is worth a try. Here we are going to show you how. You know whatever you put on the Internet, will never permanently go away. All of it is stored on some server or computer somewhere, cached, archived, and such. Then there is this app called Snap Bird that many other websites and forum users suggest, to view your deleted Twitter posts and retweets. And with the help of third-party tools, you can see deleted tweets. But, you see the site does not include deleted tweets. And it loads your Twitter profile to allow you to search and view old tweets, retweets, replies, and messages. The next one is to request a copy of your Twitter archive: First, go to your Accounts page in your Twitter account. Then go to “Content”. And from there, you’ll see a button that says “Request Your Archive”. Now, depending on the volume of data that Twitter needs to compile, your copy will arrive within minutes, hours, or even days. And, when your viewable archive is ready, you’ll be sent a push notification that will lead you back to your Twitter accounts page. Then, from here, click the “Download Archive” button. This tells you how to view deleted tweets. And this tool provides you tremendous scope to view removed tweets by just putting the username in the account. And know that it is a very unique and convenient approach to see deleted messages. But, tweets mentioning you and direct messages sent to you could only have seen if the premium feature is applicable. Hence, you can update your account for similar purposes. The next one is the Google Cache which is another quick and straightforward way to see deleted tweets is to find what has stored in your Google cache. In today's world of social media and all, there are only two powerhouses or so-called famous platforms for people and they are Facebook and Twitter. And those of you people with Twitter accounts know the power of your Tweet, what it can do or cause to the world if used properly. We all should know that Twitter itself keeps an archive of all the tweets, even the deleted ones. This way you can search deleted tweets. But for security and privacy of the users, you can never find a tweet someone has deleted on Twitter when you search for it. But know that the original account which has tweeted it can have access to it. And, they can easily request for their archive and see the deleted tweets.

         

        Description

        Twitter can be a great resource for keeping up with interesting people on the internet, learning new things and gaining more information, and staying up-to-date on current trends of the social media world and all of the stupid gossip around the world. However, sometimes it is desirable for us to not follow a person's profile on Twitter, even though you want to read their updates and tweets. This can be for the basic reasons of privacy or because you don't want to make the person's profile to appear more influential by having a higher number of followers on Twitter. But, you know what it is very simple to view deleted tweets on Twitter. 

         

        Conclusion

        In this way, you can see deleted tweets using various third-party tools and various methods that allow you to hack these private accounts on Twitter so that you can see them. So, in this way, you can view deleted tweets on Twitter easily and comfortably without having to break any laws.

         

        view deleted tweets view deleted tweets reddit view deleted tweets 2020 view deleted tweets on twitter view tweets deleted account view someone's deleted tweets view my deleted tweets view recently deleted tweets view your deleted tweets view old tweets from deleted account can you view deleted tweets can i view deleted tweets view tweets from deleted account how view deleted tweets how to view deleted tweets reddit how to view deleted tweets 2020 how to view deleted tweets of others twitter how to view deleted tweets how can i view deleted tweets view tweets of deleted account view old deleted tweets view peoples deleted tweets how to view deleted tweets on twitter can you view tweets from a deleted account how to view tweets from a deleted account how to view tweets from deleted account see someone's deleted tweets see someone's deleted tweets reddit how to see someone else's deleted tweets how to view someone's deleted tweets see my deleted tweets can i view my deleted tweets how to view my deleted tweets how can i view my deleted tweets how to view recently deleted tweets can you view your deleted tweets can you view your own deleted tweets how to view your deleted tweets how can you retrieve deleted tweets how can i view someone else's deleted tweets how can i retrieve deleted tweets how can i retrieve deleted tweets 2019 can i retrieve my deleted tweets how can i see my deleted tweets how see deleted tweets how to see deleted tweets reddit how to see deleted tweets of others how to see deleted tweets from someone how to see deleted account tweets how to see deleted tweets of someone how to view old deleted tweets how to view tweets of a deleted account how to view deleted tweets twitter read deleted tweets how to see deleted tweets how can i retrieve my deleted tweets how to restore deleted tweets on twitter how to delete tweets on twitter how to see tweets from a deleted account how to read tweets from a deleted account how to see tweets from a deleted twitter account how to see tweets of deleted account how to see tweets from deleted account how to read tweets from deleted accounts find someone's deleted tweets can you see someone's deleted tweets can i see someone's deleted tweets find someone else deleted tweets is there a way to see someone's deleted tweets can someone see my deleted tweets how to see someone's deleted tweets how to see if someone deleted tweets see deleted tweets of someone see deleted tweets reddit see deleted tweet replies see deleted tweets website how to get someone else's tweet deleted how to find someone else's deleted tweets how to check someone's deleted tweets find my deleted tweets recover my deleted tweets can i see my deleted tweets can anyone see my deleted tweets how do i see my deleted tweets can i see my own deleted tweets is there a way to see my deleted tweets how to see my deleted tweets who can see my deleted tweets can i recover my deleted tweets where can i see my deleted tweets can you recover deleted tweets how to see your deleted tweets how to check your deleted tweets how to see your own deleted tweets how to get my deleted tweets back how do you retrieve deleted tweets how can i recover deleted tweets how to retrieve deleted tweets how do you recover deleted tweets how recover deleted tweets how to retrieve deleted tweets from twitter how to recover deleted tweets on iphone how to retrieve deleted tweets on twitter how can i restore deleted tweets how do i recover deleted tweets how can i retrieve deleted texts on Samsung how to recover deleted tweets 2019 how to restore deleted tweets 2019 can i find my deleted tweets can i retrieve deleted tweets can i recover deleted tweets can i find deleted tweets can i restore deleted tweets how can i find my deleted tweets how can i recover my deleted tweet how do i recover my deleted tweets how do i find my deleted tweets where can i find my deleted tweets how can i get my deleted tweets back how to see deleted tweets 2019 how to see deleted tweets 2020 how can i see deleted tweets how can you see deleted tweets how do you see deleted tweets see deleted tweets app how to see a person's deleted tweets how can i see someone's deleted tweets how do i see deleted tweets how to find deleted tweets from someone else how to find deleted tweets from someone how to see deleted tweets from twitter how to see deleted tweets in twitter how to see tweets I deleted how to find deleted tweets on twitter how to see deleted tweets on twitter how to see old deleted tweets how to see peoples deleted tweets how to see other people's deleted tweets how to find deleted tweets reddit how to see recently deleted tweets how to see someone's old deleted tweets how to find deleted twitter tweets how to see deleted twitter tweets how to see tweets you deleted

         

         

         

         

         

         

      • Deleted Tweets Viewer

        Drake New | 08/229/2020 | 10:27 AM

        How Can You Search Deleted Tweets Conveniently?

        Twitter is all about tweets. It is the social media that share information through tweets. It is an American social networking and blogging social media app that allows people to share and exchange a lot of things between themselves. Twitter users are aware of the word tweet which is Twitter more famous for. Most of the users want to know how they can find deleted tweets on Twitter. It is one of the most popular social media used by people all over the world. Also, know that there are always newcomers coming to the App to create a new account which means Twitter is adding users every single day in huge numbers. They can check this link to know about it.

         

        How To View Deleted Tweets?

        Well, any experienced Twitter user would know how frustrating it is to delete a tweet accidentally. So don't worry about it. Just read this tutorial to recover your deleted tweets on Twitter which you accidentally or deliberately deleted because of your personal reasons. Using this method you will know how to find someone's deleted tweets. Well, this is the most natural way to restore deleted tweets for you. Also, you can download your Twitter archives that reflect all your history. So, here are the steps to download the Twitter Archive. First, you need to go to Twitter and login to your account. Then just click on "More > Settings and privacy" which is on the left side navigational list. Then on your Twitter account settings page, select "Request Your Archive". After that when you click that "Request your Archive" button. Then Twitter will send an email to the email account registered with that Twitter account. In this way, you can find deleted tweets on Twitter. Now you need to go back to the Settings and privacy page and select "Download archive". After that just select your Twitter data and download it. Then go to the folder in your PC where you saved the data. And in the new Wayback Machine calendar, choose the day you want to view and choose the time, which opens a new Twitter snapshot. Then, once the snapshot opens in a new window, browse through the tweets, retweets, or replies to find the data you’re looking for. You need to one thing i.e. note that the snapshot will reflect date and hours based on the time of the snapshot, not the current date or time. And once again, the above process may not work for you, but it is worth a try. Here we are going to show you how. You know whatever you put on the Internet, will never permanently go away. All of it is stored on some server or computer somewhere, cached, archived, and such. Then there is this app called Snap Bird that many other websites and forum users suggest, to view your deleted Twitter posts and retweets. And with the help of third-party tools, you can see deleted tweets. But, you see the site does not include deleted tweets. And it loads your Twitter profile to allow you to search and view old tweets, retweets, replies, and messages. The next one is to request a copy of your Twitter archive: First, go to your Accounts page in your Twitter account. Then go to “Content”. And from there, you’ll see a button that says “Request Your Archive”. Now, depending on the volume of data that Twitter needs to compile, your copy will arrive within minutes, hours, or even days. And, when your viewable archive is ready, you’ll be sent a push notification that will lead you back to your Twitter accounts page. Then, from here, click the “Download Archive” button. This tells you how to view deleted tweets. And this tool provides you tremendous scope to view removed tweets by just putting the username in the account. And know that it is a very unique and convenient approach to see deleted messages. But, tweets mentioning you and direct messages sent to you could only have seen if the premium feature is applicable. Hence, you can update your account for similar purposes. The next one is the Google Cache which is another quick and straightforward way to see deleted tweets is to find what has stored in your Google cache. In today's world of social media and all, there are only two powerhouses or so-called famous platforms for people and they are Facebook and Twitter. And those of you people with Twitter accounts know the power of your Tweet, what it can do or cause to the world if used properly. We all should know that Twitter itself keeps an archive of all the tweets, even the deleted ones. This way you can search deleted tweets. But for security and privacy of the users, you can never find a tweet someone has deleted on Twitter when you search for it. But know that the original account which has tweeted it can have access to it. And, they can easily request for their archive and see the deleted tweets.

         

        Description

        Twitter can be a great resource for keeping up with interesting people on the internet, learning new things and gaining more information, and staying up-to-date on current trends of the social media world and all of the stupid gossip around the world. However, sometimes it is desirable for us to not follow a person's profile on Twitter, even though you want to read their updates and tweets. This can be for the basic reasons of privacy or because you don't want to make the person's profile to appear more influential by having a higher number of followers on Twitter. But, you know what it is very simple to view deleted tweets on Twitter. 

         

        Conclusion

        In this way, you can see deleted tweets using various third-party tools and various methods that allow you to hack these private accounts on Twitter so that you can see them. So, in this way, you can view deleted tweets on Twitter easily and comfortably without having to break any laws.

         

        view deleted tweets view deleted tweets reddit view deleted tweets 2020 view deleted tweets on twitter view tweets deleted account view someone's deleted tweets view my deleted tweets view recently deleted tweets view your deleted tweets view old tweets from deleted account can you view deleted tweets can i view deleted tweets view tweets from deleted account how view deleted tweets how to view deleted tweets reddit how to view deleted tweets 2020 how to view deleted tweets of others twitter how to view deleted tweets how can i view deleted tweets view tweets of deleted account view old deleted tweets view peoples deleted tweets how to view deleted tweets on twitter can you view tweets from a deleted account how to view tweets from a deleted account how to view tweets from deleted account see someone's deleted tweets see someone's deleted tweets reddit how to see someone else's deleted tweets how to view someone's deleted tweets see my deleted tweets can i view my deleted tweets how to view my deleted tweets how can i view my deleted tweets how to view recently deleted tweets can you view your deleted tweets can you view your own deleted tweets how to view your deleted tweets how can you retrieve deleted tweets how can i view someone else's deleted tweets how can i retrieve deleted tweets how can i retrieve deleted tweets 2019 can i retrieve my deleted tweets how can i see my deleted tweets how see deleted tweets how to see deleted tweets reddit how to see deleted tweets of others how to see deleted tweets from someone how to see deleted account tweets how to see deleted tweets of someone how to view old deleted tweets how to view tweets of a deleted account how to view deleted tweets twitter read deleted tweets how to see deleted tweets how can i retrieve my deleted tweets how to restore deleted tweets on twitter how to delete tweets on twitter how to see tweets from a deleted account how to read tweets from a deleted account how to see tweets from a deleted twitter account how to see tweets of deleted account how to see tweets from deleted account how to read tweets from deleted accounts find someone's deleted tweets can you see someone's deleted tweets can i see someone's deleted tweets find someone else deleted tweets is there a way to see someone's deleted tweets can someone see my deleted tweets how to see someone's deleted tweets how to see if someone deleted tweets see deleted tweets of someone see deleted tweets reddit see deleted tweet replies see deleted tweets website how to get someone else's tweet deleted how to find someone else's deleted tweets how to check someone's deleted tweets find my deleted tweets recover my deleted tweets can i see my deleted tweets can anyone see my deleted tweets how do i see my deleted tweets can i see my own deleted tweets is there a way to see my deleted tweets how to see my deleted tweets who can see my deleted tweets can i recover my deleted tweets where can i see my deleted tweets can you recover deleted tweets how to see your deleted tweets how to check your deleted tweets how to see your own deleted tweets how to get my deleted tweets back how do you retrieve deleted tweets how can i recover deleted tweets how to retrieve deleted tweets how do you recover deleted tweets how recover deleted tweets how to retrieve deleted tweets from twitter how to recover deleted tweets on iphone how to retrieve deleted tweets on twitter how can i restore deleted tweets how do i recover deleted tweets how can i retrieve deleted texts on Samsung how to recover deleted tweets 2019 how to restore deleted tweets 2019 can i find my deleted tweets can i retrieve deleted tweets can i recover deleted tweets can i find deleted tweets can i restore deleted tweets how can i find my deleted tweets how can i recover my deleted tweet how do i recover my deleted tweets how do i find my deleted tweets where can i find my deleted tweets how can i get my deleted tweets back how to see deleted tweets 2019 how to see deleted tweets 2020 how can i see deleted tweets how can you see deleted tweets how do you see deleted tweets see deleted tweets app how to see a person's deleted tweets how can i see someone's deleted tweets how do i see deleted tweets how to find deleted tweets from someone else how to find deleted tweets from someone how to see deleted tweets from twitter how to see deleted tweets in twitter how to see tweets I deleted how to find deleted tweets on twitter how to see deleted tweets on twitter how to see old deleted tweets how to see peoples deleted tweets how to see other people's deleted tweets how to find deleted tweets reddit how to see recently deleted tweets how to see someone's old deleted tweets how to find deleted twitter tweets how to see deleted twitter tweets how to see tweets you deleted

         

         

         

         

         

         

      • Deleted Tweets Viewer

        Drake New | 08/229/2020 | 10:27 AM

        How Can You Search Deleted Tweets Conveniently?

        Twitter is all about tweets. It is the social media that share information through tweets. It is an American social networking and blogging social media app that allows people to share and exchange a lot of things between themselves. Twitter users are aware of the word tweet which is Twitter more famous for. Most of the users want to know how they can find deleted tweets on Twitter. It is one of the most popular social media used by people all over the world. Also, know that there are always newcomers coming to the App to create a new account which means Twitter is adding users every single day in huge numbers. They can check this link to know about it.

         

        How To View Deleted Tweets?

        Well, any experienced Twitter user would know how frustrating it is to delete a tweet accidentally. So don't worry about it. Just read this tutorial to recover your deleted tweets on Twitter which you accidentally or deliberately deleted because of your personal reasons. Using this method you will know how to find someone's deleted tweets. Well, this is the most natural way to restore deleted tweets for you. Also, you can download your Twitter archives that reflect all your history. So, here are the steps to download the Twitter Archive. First, you need to go to Twitter and login to your account. Then just click on "More > Settings and privacy" which is on the left side navigational list. Then on your Twitter account settings page, select "Request Your Archive". After that when you click that "Request your Archive" button. Then Twitter will send an email to the email account registered with that Twitter account. In this way, you can find deleted tweets on Twitter. Now you need to go back to the Settings and privacy page and select "Download archive". After that just select your Twitter data and download it. Then go to the folder in your PC where you saved the data. And in the new Wayback Machine calendar, choose the day you want to view and choose the time, which opens a new Twitter snapshot. Then, once the snapshot opens in a new window, browse through the tweets, retweets, or replies to find the data you’re looking for. You need to one thing i.e. note that the snapshot will reflect date and hours based on the time of the snapshot, not the current date or time. And once again, the above process may not work for you, but it is worth a try. Here we are going to show you how. You know whatever you put on the Internet, will never permanently go away. All of it is stored on some server or computer somewhere, cached, archived, and such. Then there is this app called Snap Bird that many other websites and forum users suggest, to view your deleted Twitter posts and retweets. And with the help of third-party tools, you can see deleted tweets. But, you see the site does not include deleted tweets. And it loads your Twitter profile to allow you to search and view old tweets, retweets, replies, and messages. The next one is to request a copy of your Twitter archive: First, go to your Accounts page in your Twitter account. Then go to “Content”. And from there, you’ll see a button that says “Request Your Archive”. Now, depending on the volume of data that Twitter needs to compile, your copy will arrive within minutes, hours, or even days. And, when your viewable archive is ready, you’ll be sent a push notification that will lead you back to your Twitter accounts page. Then, from here, click the “Download Archive” button. This tells you how to view deleted tweets. And this tool provides you tremendous scope to view removed tweets by just putting the username in the account. And know that it is a very unique and convenient approach to see deleted messages. But, tweets mentioning you and direct messages sent to you could only have seen if the premium feature is applicable. Hence, you can update your account for similar purposes. The next one is the Google Cache which is another quick and straightforward way to see deleted tweets is to find what has stored in your Google cache. In today's world of social media and all, there are only two powerhouses or so-called famous platforms for people and they are Facebook and Twitter. And those of you people with Twitter accounts know the power of your Tweet, what it can do or cause to the world if used properly. We all should know that Twitter itself keeps an archive of all the tweets, even the deleted ones. This way you can search deleted tweets. But for security and privacy of the users, you can never find a tweet someone has deleted on Twitter when you search for it. But know that the original account which has tweeted it can have access to it. And, they can easily request for their archive and see the deleted tweets.

         

        Description

        Twitter can be a great resource for keeping up with interesting people on the internet, learning new things and gaining more information, and staying up-to-date on current trends of the social media world and all of the stupid gossip around the world. However, sometimes it is desirable for us to not follow a person's profile on Twitter, even though you want to read their updates and tweets. This can be for the basic reasons of privacy or because you don't want to make the person's profile to appear more influential by having a higher number of followers on Twitter. But, you know what it is very simple to view deleted tweets on Twitter. 

         

        Conclusion

        In this way, you can see deleted tweets using various third-party tools and various methods that allow you to hack these private accounts on Twitter so that you can see them. So, in this way, you can view deleted tweets on Twitter easily and comfortably without having to break any laws.

         

        view deleted tweets view deleted tweets reddit view deleted tweets 2020 view deleted tweets on twitter view tweets deleted account view someone's deleted tweets view my deleted tweets view recently deleted tweets view your deleted tweets view old tweets from deleted account can you view deleted tweets can i view deleted tweets view tweets from deleted account how view deleted tweets how to view deleted tweets reddit how to view deleted tweets 2020 how to view deleted tweets of others twitter how to view deleted tweets how can i view deleted tweets view tweets of deleted account view old deleted tweets view peoples deleted tweets how to view deleted tweets on twitter can you view tweets from a deleted account how to view tweets from a deleted account how to view tweets from deleted account see someone's deleted tweets see someone's deleted tweets reddit how to see someone else's deleted tweets how to view someone's deleted tweets see my deleted tweets can i view my deleted tweets how to view my deleted tweets how can i view my deleted tweets how to view recently deleted tweets can you view your deleted tweets can you view your own deleted tweets how to view your deleted tweets how can you retrieve deleted tweets how can i view someone else's deleted tweets how can i retrieve deleted tweets how can i retrieve deleted tweets 2019 can i retrieve my deleted tweets how can i see my deleted tweets how see deleted tweets how to see deleted tweets reddit how to see deleted tweets of others how to see deleted tweets from someone how to see deleted account tweets how to see deleted tweets of someone how to view old deleted tweets how to view tweets of a deleted account how to view deleted tweets twitter read deleted tweets how to see deleted tweets how can i retrieve my deleted tweets how to restore deleted tweets on twitter how to delete tweets on twitter how to see tweets from a deleted account how to read tweets from a deleted account how to see tweets from a deleted twitter account how to see tweets of deleted account how to see tweets from deleted account how to read tweets from deleted accounts find someone's deleted tweets can you see someone's deleted tweets can i see someone's deleted tweets find someone else deleted tweets is there a way to see someone's deleted tweets can someone see my deleted tweets how to see someone's deleted tweets how to see if someone deleted tweets see deleted tweets of someone see deleted tweets reddit see deleted tweet replies see deleted tweets website how to get someone else's tweet deleted how to find someone else's deleted tweets how to check someone's deleted tweets find my deleted tweets recover my deleted tweets can i see my deleted tweets can anyone see my deleted tweets how do i see my deleted tweets can i see my own deleted tweets is there a way to see my deleted tweets how to see my deleted tweets who can see my deleted tweets can i recover my deleted tweets where can i see my deleted tweets can you recover deleted tweets how to see your deleted tweets how to check your deleted tweets how to see your own deleted tweets how to get my deleted tweets back how do you retrieve deleted tweets how can i recover deleted tweets how to retrieve deleted tweets how do you recover deleted tweets how recover deleted tweets how to retrieve deleted tweets from twitter how to recover deleted tweets on iphone how to retrieve deleted tweets on twitter how can i restore deleted tweets how do i recover deleted tweets how can i retrieve deleted texts on Samsung how to recover deleted tweets 2019 how to restore deleted tweets 2019 can i find my deleted tweets can i retrieve deleted tweets can i recover deleted tweets can i find deleted tweets can i restore deleted tweets how can i find my deleted tweets how can i recover my deleted tweet how do i recover my deleted tweets how do i find my deleted tweets where can i find my deleted tweets how can i get my deleted tweets back how to see deleted tweets 2019 how to see deleted tweets 2020 how can i see deleted tweets how can you see deleted tweets how do you see deleted tweets see deleted tweets app how to see a person's deleted tweets how can i see someone's deleted tweets how do i see deleted tweets how to find deleted tweets from someone else how to find deleted tweets from someone how to see deleted tweets from twitter how to see deleted tweets in twitter how to see tweets I deleted how to find deleted tweets on twitter how to see deleted tweets on twitter how to see old deleted tweets how to see peoples deleted tweets how to see other people's deleted tweets how to find deleted tweets reddit how to see recently deleted tweets how to see someone's old deleted tweets how to find deleted twitter tweets how to see deleted twitter tweets how to see tweets you deleted

         

         

         

         

         

         

      • Using a script language in EFM32 environment

        Attila Varga | 06/182/2020 | 11:59 AM

        Using a script language in EFM32 environment

        This article describes the usage of a script interpreter in EFM32 environment. The chosen language is the Lua language, the used board is the Silicon Labs Pearl Gecko (SLSTK3402A) starter kit board and the development environment is the standard IDE of Silicon Labs: Simplicity Studio. In the next section a brief description of the script language is provided followed by the goals, requirements and architecture descriptions. You can also find an attached source code and an explanation how to use this example project.

        For the impatient:

         

        • flash the provided .s37 file onto a Pearl Gecko
        • use a terminal emulator (over VCOM) to see the menu (type: help)

        Contents:

          - 1. Brief description of Lua
          - 2. Why do I need a script interpreter?
          - 3. Goals
          - 4. Requirements
          - 5. Architecture
          - 6. Implementation
          - 7. Uploading scripts
          - 8. How to use
          - 9. Future improvements
          - Additional notes:
          - Examples
          - Fazit (conclusion)

        1. Brief description of Lua

        According to the Lua website:
        "Lua is a powerful and fast programming language that is easy to learn and use and to embed into your application."

        The emphasis is here on "embeddable". Lua is a software package designed from start to embed into a so-called "host", which is (in most cases) a foreign, compiled language. Most often it is C, but it can be also any other language. Lua is used in a wide variety  of application, aerospace, photography, research and mostly: in games (due to its speed). It is easy to learn, the hello-world example is a one-liner and the language elements have a low learning threshold.

        An example of Lua code:

        local function run()
          print("--Run--")
          while counter < threshold do
            if IsBtnPushed() then
              if (counter % 8) == 0 then
                print("down")
              end
              Delay(10)
              counter = counter + 1
            else
              counter = 0
            end
          end
        end

        2. Why do I need a script interpreter?

        C is a powerful language, why do I need then an other language?
        What Lua does offer is what C is not good for: dynamic structures, no redundancies, ease of usage, safe environment, automatic memory management and handling strings and other kinds of data with dynamic size.

        Other aspects are that the language is easier to learn by non-programmer thus it gets an environment for a broader user attendance.

        An embeddable script language has the advantage that it can be used as part of the application that is frequently changed without the need of recompilation, for example in handling configuration parameters, automatic test cases, measurements, tryout/oneshot programs, user provided code, customize layout and/or behavior, etc.

        You can give the user the possibility to change something in the application. It is easy to develop and platform independent. But bear in mind that if you provide the possibility to modify something in your application then it must be a safe environment. Fortunately Lua can be configured to have this kind of 'sandbox'.

        3. Goals

        The goal of the project to use a working interpreter embedded in C code. It is not intended to be a complete, full-featured development environment for some kind of application but to provide a firm base to develop one.

        4. Requirements

        The Lua interpreter requires a processor and some amount of random access memory (RAM), it can be satisfied with few resources but - because it is not a stripped down package - it needs some. At startup the Lua interpreter consumes about 17kB of RAM but memory usage depends on the allocation of variables. The interpreter itself needs some memory too and a larger amount of flash for the code itself. Therefore a starter kit with 256kB with RAM and 1MB of flash is used: a Pearl Gecko.

        The starter kit has some hardware, LEDs, buttons, temperature-sensor, LCD display. It provides the possibility to show how a hardware element can be controlled by Lua.

        Also there must be a possibility to upload programs to the starter kit to change its behavior, therefore we need a mechanism to deliver script code (from outside to the kit) that can be executed on the board.

        5. Architecture

        The structure of the project can be seen on the next picture.


        To the main application a Lua interpreter module is linked but it (the main) does not call into it directly. Instead an interface is created where the application can request some services.

        In this project it can require only two things:

        • load a script (from outside)
        • execute the loaded script

        Lua can do a little bit more:

        • control the LEDs (on/off/toggle)
        • read the button states (up/down)
        • read the values from the temperature sensor
        • read and write from/to stdin/stdout (see later)
        • write onto the LCD screen (lines/circles)

        6. Implementation

        Because Simplicity Studio creates makefiles on the fly, it is not difficult to add a Lua interpreter to the project. You have to create a simple example project that fits your needs and add a new folder inside the project directory. Download the Lua source files from the website and copy all the source files into the newly created directory, except `lua.c` and `luac.c` (or exclude both files from the compilation). Both are in the Lua distribution to demonstrate the use of the Lua package. `lua.c` passes the overgiven parameters from the command line to the interpreter; `luac.c` is a Lua 'compiler' (Lua converts the scripts into tokens before executing it). Both has a `main()` function therefore they cannot be added to the project. Don't forget to add the folder to the include directories that other files can include the Lua header files.

        The next step is to create an interface to Lua. This has a predefined protocol. Because Lua is a dynamically typed language, data exchange to the host language occurs over a so-called 'virtual stack'. Lua (or the C code) places values onto that stack and the other language can use it.

        The other thing is to have an interface from Lua to the Gecko SDK (thus to the hardware). This can be done by simply calling functions of the SDK, all the examples and applications do that.

        To have access to the Gecko SDK, Lua has to be extended with C code. C code that is called from Lua must be registered in the interpreter, that means that if the script executes an appropriate statement (e.g. a function call) then the corresponding C code is executed. It communicates (overgives parameters and returns results) over the previously mentioned virtual stack.

        In the example application interface to controlling the LEDs, the LCD display, reading the temperature sensor is implemented. Read and write to the standard input/output files is also implemented (only partly). The Gecko does not have console therefore these read/write operation are redirected to the already present VCOM interface and by connecting a computer to the serial line (with a terminal program) this can be used as a text based interface (for humans and applications).

        Functions that can be called from Lua are as follows:

          print(...)              -- print to console
          LED(0, true)            -- switch LED on/off
          temp, rh = TempRh()     -- measure temperature
          Delay(400)              -- sleep for x miliseconds
          ToggleLED(1)            -- invert LED state
          ClrScr()                -- clear the LCD display
          Line(1,2,3,4)           -- draw a line (on LCD)
          Circle(64,64,40)        -- draw a circle
          LCDrefresh(bool)        -- switch LCD refresh on/off
          bool = IsBtnPushed()    -- read button state (BTN1)
          str  = ReadCon()        -- read a line from terminal
          DrawPixel(x, y)         -- draw a dot on LCD

        To have a console-like user interface the project redirects standard I/O files to a serial line. The SDK has already predefined files for that. Add

        retargetio.c
        retargetserial.c

        to the project files. These pass `printf/getch` type function outputs to the already on the board present VCOM serial line and reads the input from that line. The data will be sent through the USB port to the connected computer. You can use a terminal emulator program (Tera Term, minicom, PuTTY) on your computer to communicate with the board.

        The provided project export (the .sls file) has to be imported (into Simplicity Studio), compiled and flashed onto the Gecko board. The user can use a terminal program to communicate with the application. I use Teraterm because it has the ability to upload files with the XMODEM protocol already implemented. The computer side can be of course a custom application. In that case other type of serial protocol can be used but it have to be implemented on both sides. In that case the file `lfg_xmodem.c` has to be changed/replaced. Baud rate has to be set to the value of 115200.

        lfg_xmodem has a very simple interface, it provides only one function: 
         

        int lfg_XmodemReceive(char *recvBuffer, int recvBufSize, int *actSize);


        It starts the communication and places the received data into the provided text buffer and reports the number of received data into the variable that points `actSize` to. Return value can be LFG_OK or an error code.

        7. Uploading scripts

        There is not much of use of an application when the scripts has to be inserted/compiled into the C code. It loses the flexibility provided by the script language. Therefore the example project uses the XMODEM protocol to copy scripts from a computer to the Gecko board over the serial line. Fortunately there is already a serial line present called VCOM. If you plug in your board via the USB connector it does three things. Implements a JTAG interface, creates an USB mass storage device, realizes a serial communication interface. The latter is used to upload scripts to the board. COM port number can be determined by the Device manager or by the /dev/ttyUSBx file (in Linux).

        XMODEM is a simple file transfer protocol, it allows users to transmit files between computers when both sides use the same protocol. The next picture shows the program structure to receive data:

        8. How to use

        By pressing the reset button on the Gecko board the following lines are displayed on the terminal:

        Lua for Gecko - example application
        memory used :   11.18164 kB
        
        Enter command (or help).
        >
        

        Enter 'help' to display the available commands.

          led 0 on        switch led 0 on
          led 0 off       switch led 0 off
          led 1 on        switch led 1 on
          led 1 off       switch led 1 off
          temp            measure temperature
          clrscr          clear the LCD display
          cls             clear the console
          ---------       ---------------------
          load            load script (from PC) with xmodem protocol
          cat             display loaded script
          dump            display loaded script as hex
          forget          clear loaded script
          run             run loaded script
          help            display help

        Most of them are fairly straightforward, one thing has to be explained: the script upload.

        The XMODEM protocol requires that the receiver (the Gecko board) starts the communication, but the sender (the terminal program) has to be already in 'send' mode and waiting (for the start signal) to start sending. Therefore the first thing is to put the Gecko board into send mode by entering the `load` command. This does not start the communication but waits for an event to start. The Tera Term program must be instructed to send a file (File -> Transfer -> xmodem -> Send... menu item). It will wait for a start signal from the receiver. The start signal can be issued by pressing the `BTN0` button on the Gecko board. Press BTN0.

        That loads a script onto the board. There are already some example scripts that the user can upload (e.g. example1.lua ...). This uploads but does not start the script automatically. To run the script the `run` command has to be entered. Type 'run'.

        a.) enter 'load' on the terminal (Tera Term)
        b.) use send-file in Tera Term
        c.) press 'BTN0' on the Gecko board
        d.) type 'run' into the terminal

        9. Future improvements

        If all went well you have a working environment where you can evaluate Lua running on a Gecko board. But there is a lot of space for improvement.

        • Persistence
          • Scripts should be stored in a persistent storage that they can live also after reset. There is only one such kind of storage: the flash. For that the so-called 'user page' or the 'NVM3' can be used. On a Giant Gecko an SD card can be used.
        • Debug
          • More complex script have also more complex behavior. Sometimes it needs to be evaluated by a step-by-step execution.
        • Radio
          • A good improvement would be to deliver scripts over the air by using a radio board.

        Additional notes:

        • the used XMODEM implementation is not for a production scale application. It has no timeout, no error recovery. Only receive is implemented. It has been only used for the task to deliver code to the board.
        • in the file `luaconf.h` the #define LUA_32BITS is activated to use 32 bit integers.

        Examples

        There are already some examples in the `src` folder:

        • example1.lua:
          •   demonstrates the use of LEDs, measuring temperature and drawing lines on the LCD screen
        • example2.lua:
          •   reads the BTN1 button state and reports it to the terminal
        • example3.lua:
          •   reads a line from the console
        • example4.lua:
          •   displays graphic on the LCD screen

        Fazit (conclusion)

        "Lua is becoming the language of choice for anyone who needs a scripting language that is simple, efficient, extensible, portable, and free. Currently, Lua is being used in areas ranging from embedded systems to Web development and is widely spread in the game industry, where knowledge of Lua is an indisputable asset." (Google.books)

        Lua has a lot of sophisticated additional things under the hood (tables, metatables, threads, user defined types ...), this article scratches only the surface of the possibilities that can be reached by using a powerful script language.

        Thank you. 

      • Simple BLE scanner for Thunderboard (or any EFR32BG kit)

        Tyler | 05/131/2020 | 08:25 PM

        This is a very simple project. It seems that there is no BLE scanner example available for the Blue Gecko parts. Some of the examples involve scanning (for example the SPP example or throughput tester example) but I could not find a simple "hello world" type scanner example. So I decided to write one.

        I tested the example on Thunderboard BG22 kit, but basically it should work on any kit. It is based on the soc-empty example. Only small modification is needed to the source code (app.c) to turn the soc-empty into a BLE scanner.

        The source code is attached. To try it out:

        • create the soc-empty example for your kit
        • replace the original app.c with the attached version
        • in app.h, set DEBUG_LEVEL to 1 and DISABLE_SLEEP to 1

        When you run the example, it starts scanning immediately at boot (unlike the original soc-empty that starts advertising).

        Scan responses are handled in function process_scan_response(). This is based on the code that I copied from the SPP example. I modified the code so that it looks for vendor specific advertising payloads (AD type = 0xFF) and prints the company ID to console. It recognizes Apple company ID (0x004C). If you need to look for any other company identifiers, then the complete list can be found at https://www.bluetooth.com/specifications/assigned-numbers/company-identifiers/

        The example is intentionally left very simple. It includes the basic processing of advertising packets (you can detect device name or company ID). It should be simple to modify the code to parse any kind of packets (such as iBeacon format, or any custom format you might be working with).

        Any questions or suggestions? Drop a note below.

        Here's a sample of what the output looks like:

        If the advertising data contains device name (either full or shortened), then the name is also printed to terminal.

      • Theremin over BLE

        Jesus Grillet | 04/107/2020 | 11:09 AM

        Theremin over BLE project

        The following article goes over an example project for a job fair where the Silicon Labs Budapest participated.

        Project Background:

        The goal of this project was to create an interactive and fun Demo that would catch the attention of the public while being simple and using our hardware. A Theremin accomplishes this by being fun to play with and loud to catch people's attention while showing the capabilities of our wireless and sensor kits.

        Description:

        The theremin will be composed of an EFR32MG12(BRD4162A) and a Si1133/Si115x Optical Sensors Expansion Board(BRD8009A). The sound is played in a mobile phone or a tablet using the MIDI over BLE service.

        Setup

        Project Overview:

        The following image illustrates the setup:

        Diagram

        1. the Optical Sensors Expansion Board(BRD8009A) was used to control the sound, an interface was created using the Gesture mode to poll 2 of the 3 IR LEDs, left and right side. Left side channel controls the volume and right side channel the sound pitch, this is done by measuring the proximity of the hand to the irLED.

        User guide for the Optical sensor board: UG163: Si1133/Si115x Optical Sensor Evaluation Board Rev 3.0 User's Guide Optical Programmer's Toolkit: Si115x_PGM_Toolkit.exe This toolkit is useful for looking at the demos and for evaluating how the part would behave in a real product. We urge customers to add their own overlays or optics to this board and then use this application to see what kind of optical signal their system would see.

        1. The sensor board communicates to the EFR32 via I2C using the Expansion connector

        2. BRD4162A contains an EFR32MG12, it is used in SoC mode as peripheral device advertising to create an application that will parse the data receive from the sensor board to the Midi protocol.

        3. The EFR32 will transmit said data to a connected device using the Midi over BLE protocol. To add this functionality the [KBA_BT_0911: Midi over BLE] (https://www.silabs.com/community/wireless/bluetooth/knowledge-base.entry.html/2019/06/19/kba_bt_0911_midioverble-ZvKw) was used.

        4. Depending on the mobile device used (Android or iOS), an app needs to be downloaded to receive the Midi data in your device. iOS: KORG Module free version app can be used. Android: MIDI BLE Connect app. This app will allow to connect to BLE Midi devices and after connecting the device can be used with any app that supports midi.

        5. In the case of android device a midi output app is needed. FluidSynth MIDI Synthesizer was used in this project, to either output to the phone speaker or to an external one via the headphone jack. For iOS devices the KORG app handles the BLE connection and the midi output.

        Source files

        1. Create a soc-empty example from the SDK example projects.

        2. Copy the files attached in the project root folder and overwrite the existing files.

        3. From the Gatt configurator import the gatt.xml file that was copied into the project root folder.

        4. Copy \developer\sdks\gecko_sdk_suite\v\platform\emdrv\gpiointerrupt\src\gpiointerrupt.c to the soc-empty project

        5. Build and flash

        6. Connect to your device using a Smartphone/Tablet: *Android: download MIDI BLE Connect app and FluidSynth MIDI Synthesizer app. Connect with MIDI BLE connect and open FluidSynth MIDI Synthesizer and select the device. *iOS: download KORG module and connect via the BLE midi menu.

        7. Play with your hands over the sensor.

      • EFR32MG21A010F768 PWM

        li ye | 11/317/2019 | 07:43 AM

        Silicon Labs 无线SOC EFR32MG21的PWM的输出需要将TIMER的CC端口配置到GPIO上,如下:

         GPIO->TIMERROUTE[0].ROUTEEN = GPIO_TIMER_ROUTEEN_CC0PEN | GPIO_TIMER_ROUTEEN_CC1PEN;

          GPIO->TIMERROUTE[0].CC0ROUTE =

            (LED0_PORT << _GPIO_TIMER_CC0ROUTE_PORT_SHIFT)

            | (LED0_PIN << _GPIO_TIMER_CC0ROUTE_PIN_SHIFT);

          GPIO->TIMERROUTE[0].CC1ROUTE =

            (LED1_PORT << _GPIO_TIMER_CC1ROUTE_PORT_SHIFT)

            | (LED1_PIN << _GPIO_TIMER_CC1ROUTE_PIN_SHIFT);

        请问,GPIO_TIMER_ROUTEEN_CC0PEN这些宏都定义在哪个文件下,为啥我的工程无法识别

      • Control a WIFI-based Device with an Tmall Genie

        Victor Hu | 12/363/2018 | 01:25 AM

        1 Introduction

        People used to regard mobile phones, TVs or routers as the control centers of smart homes until the emergence of smart speakers. It should be that you control your smart devices just by saying a sentence such as "Open the light of living room", rather than by clicking on the phone screen. Now, there are so many smart speakers in market for controlling the smart device, two of the most famous are Google Home from Google and Echo from Amazon. In China, the most famous smart speaker are XiaoAi from XiaoMi and Tmall Genie from Alibaba. Now, all of these companies have developed IoT platform so that the manufacturer who produce smart homes can connect their smart productions to these smart speakers. This project is intended to introduce how to control a Silicon Labs Wi-Fi device.with TmallGenie.

        The software architecture of project consists of:

        • Firmware running on EFM32GG11 STK
        • Web server running on cloud.

        The hardware consists of :

        • A EFM32GG11 STK
        • A WGM110 Wi-Fi Expansion Kit
        • A Tmall Genie smart speaker.

        User can control the LED0 in EFM32GG11 STK through one of two methods below.

        We assume the whole device combine the EFM32GG11 STK and the WGM110 module is a smart light. The block is illustrated below.

        2 Preparation

        2.1 Device Connection

        Connect the boards as illustrated in the picture below. Configure the EFM32GG11 STK board switch as AEM and configure the WGM110 Expansion Kit switch as High Power. 

        2.2 Firmware

        Import the firmware to Simplicity Studio, open file "app_wifi_cfg.h", modify the macro APP_WIFI_AP_SSID to your Wi-Fi SSID and modify APP_WIFI_AP_PWD to your Wi-Fi password, as the picture shown below. Then compile it. Program the Hex file to EFM32GG11 Giant Gecko Starter Kit (SLSTK3701A) to make it as a smart light device. The compiled firmware is located directory Bin/, the default Wi-Fi SSID is "netis_1F7506" and the password is "password", if you want to recompile the firmware you can configure your Wi-Fi.

        When the firmware is runing for the first time, it needs to report itself to silabs-iot. It will issue a http request to silabs-iot so that web server of silabs-iot will add information of the device to database, then the device can been used by one of users.

        2.3 Bind the device with your account

        You need to bind the device and declare it belongs to you then you can control it. Please follow to the steps below to bind a device.

        • After you sign up or log in, you will enter the MyDevice page, as the picture shown below. 

        • Click icon "+" to add a device, fill the Mac address and device name in the pop-up window, the Mac address can be found in the EFM32GG11 STK LCD screen when you push BTN1(Before that, make sure your devcice have connect Wi-Fi correctly, you can only bind the device which has connected internect and hasn't been binded by other users. For testing, we provide 3 fictitious mac addr: 0123456789, 0123456788 and 0123456787, you can choose one for testing and remeber to unbind it after using). Click "OK" will finish binding. 

        3 Control device by Browser

        After binding your device, you can see it on the MyDevice page. click the device and will pop up a window on which there is a switch, you can turn on/off the LED just by click the switch. 

        4 Control device by Tmall Genie smart speaker

        At first, you need to download a Tmall Genie App into your phone and bind your Tmall Genie following the hint of Tmall Genie App. Please follow to the steps below to bind Silabs-iot with Tmall Genie.

        • Click "我的" ("Mine")
        • Click "添加智能设备" ("Add Smart Device")
        • Find SiliconLabs in device list and click it
        • Click "绑定账号" ("Bind Account")
        • Input the account and password that you get from silabs-iot.com and click "LOGIN AND AUTHORIZE".
        • Return to "我的" the device in silabs-iot.com will be shown in the window. 

        Now, you can control the device just by talking to Tmall Genie, such as "天猫精灵,开灯" ("Tmall Genie, Open Light Please"). The video attached demonstrate how to control the device with Tmall Genie by voice.

         

        Note: The Tmall Genie only supports Chinese and it supports turn on/off and query on this case.

        5 Web Server

        The web server of silabs-iot is developed with ThinkPHP5.1, ThinkPHP is a free, open source, fast and simple object-oriented PHP development framework for web application development, visit it from https://www.kancloud.cn/manual/thinkphp5_1/353946.

        5.1 Processes of Control by Tmall Genie

        The following image illustrates the processes of communication among the web server of user, Tmall Genie, silabs-iot, alibaba web server and device.

         

         

        • Alibaba web server needs to obtain limited access to silabs-iot so that it can get device information and control it, get details from section 5.2  Authorization between Alibaba and silabs-iot .
        • Alibaba will issue a http request to silabs-iot to get all device information. The web server of silabs-iot will check the identify of visitor and then return all devices list owned by the user.
        • Alibaba get the deice information and display them in device list of Tmall Genie App.
        • User say a command to Tmall Genie.
        • Tmall genie will upload the voice to Alibaba web server.
        • Alibaba parse the voice.
        • Alibaba issue a new http request to silabs-iot according to the result of voice parsing, for example turn on light. The web server of silabs-iot will update the database after receiving the request from alibaba and return response immediately.
        • The device will poll the state by issue a http request periodic to silabs-iot and update itself. Get details from section 5.3 Communication between device and silabs-iot
        • Alibaba return response to Tmall Genie
        • Tmall Genie plays a voice as a repsonse of user's voice command.

        5.2 Authorization between  Alibaba and silabs-iot

        The authorization protocol between them is based on OAuth2.0. OAuth2.0 is an open protocol to allow secure authorization in a simple and standard method from web, mobile and desktop applications, get more details from https://oauth.net/2/ . The OAuth2.0 server on this case is based on the library from Brent Shaffer, download it from GitHub:  https://github.com/bshaffer/oauth2-server-php. The process is divided into the following steps, as the picture shown below.

         

        1. The Alibaba web server will jump into the Log in page of silabs-iot.com when you click 3rd-party login in Tmall Genie App.
        2. Input account and password to log in, if success, the web server of silabs-iot will generate a code.
        3. Return the new code to Alibaba web server, the code only used by Alibaba and can only use once.
        4. Alibaba get the code and request an access_token to silabs-iot.com with it.
        5. The web server of silabs-iot checks the code and identify of visitor, it will generate a access_token and refresh token if success. The access_token is time-sensitive and the time can be configured, it is 2 days in this case. The refresh_token is used to request a new access_token when the access_token is expired.
        6. Alibaba web server will store the access_token and refresh_token. Now, it can access silabs-iot with access_token.

         

        5.3 Communication between device and silabs-iot

        The communication between devices and web server is based on Http protocol. The device need to visit web server periodic so that it can update the LED0 once the Tmall Genie change the state of light.

        1. Device issues a new http request to silabs-iot.
        2. The web server gets the mac address and query the state in database.
        3. The web server returns the state value of the device.
        4. The device parses the http response and update LED0 according to the results.

      • Win a Wireless Xpress BGX13P Starter Kit!

        Nari Shin | 10/295/2018 | 09:31 AM

        We’re excited to introduce the new Wireless Xpress BGX13P starter kit, which helps you jumpstart your design with no software development necessary. Some of the key features of this kit include:  

        • Bluetooth 5 BGX13 module requiring no firmware development
        • Zero-overhead serial-to-Bluetooth cable replacement solution
        • Smartphone app for Bluetooth LE command, control, and sensing
        • Secure connections with encrypted communication, bonding, and ‘just works’ and passkey pairing options
        • Ideal solution for smart home products requiring Bluetooth control with a mobile app, and the ability to add point-to-point wireless interface to industrial applications

        Want to try it for yourself? We’re giving away five Wireless Xpress BGX13P starter kits to our community members, and this is your chance to get your hands on one.

        How to Participate:

        Explain up to 2 ideas on how you want to use the Xpress kit for your project and why. You can submit your idea by leaving a comment below on this page by November 11th (CDT). 

        Judging Criteria

        Our Wireless marketing team will judge submissions based on the following criteria:

        • Market Potential (50%)
        • Differentiation (30%)
        • The fit between the Xpress kit and your project (20%)

        Prize

        Number of Winners: 5

        Prize: 1 x Wireless Xpress BGX13P starter kit

        Contest Period

        Oct 22nd 2018 – Nov 11th 2018 (CDT)

        The winners will be announced on this page soon after the end of the contest.

        By entering the contest, you acknowledge that you have read and agree to the attached Community Contest Terms and Conditions.

      • Oscilloscope Simulation System

        Victor Hu | 09/257/2018 | 02:57 AM

        1 Introduction

        The Oscilloscope Simulation System based on EFM8UB1 works as a tool to sample an ADC value and display it as waveform on a computer screen. Although it is a combination of hardware and software, it looks like a real oscilloscope.

        The software architecture of this system consists of firmware running on EFM8UB1 STK and an application running on a computer. The GUI application running on the computer was developed using python 2.7, pyside2, Qt5, and the USBxpress library.

        The hardware consists of a computer host and an EFM8UB1EK device. The EFM8UB1EK is connected to the computer with a USB cable. You can use EFM8UB1 to sample the ADC voltage value and, send the collected data to the host via USB. The block is illustrated below.

         

        2 Preparation

        2.1 Install Python 2.7 32-bit

        Most of library made by Silicon Labs was developed with Python 2.7 32-bit. Please download and install Python 2.7 32-bit. Here is the download link: https://www.python.org/downloads/release/python-2715/

        2.2 Install Pyside2 and Qt

        Official release wheels of Qt for Python can be installed regularly via pip:

        pip install pyside2
        

        Pre-release (snapshot) wheels containing the latest code changes are available at http://download.qt.io/snapshots/ci/pyside/

        For example you can install the latest 5.11 snapshot wheel using:

        pip install --index-url=http://download.qt.io/snapshots/ci/pyside/5.11/latest/ pyside2 --trusted-host download.qt.io
        

        See more info from http://wiki.qt.io/Qt_for_Python/GettingStarted.

        2.3 Firmware Programming

        The compiled firmware is located in the directory Bin/. Program the Hex file to EFM8 Universal Bee Starter Kit (SLSTK2000A) to make it as an oscilloscope device.

        Connection

        Connect the EFM8UB1EK device and a computer with a USB cable.

        2.4 Execute GUI application

        Download the software/ to your local device and run the application with the command below.

        python.exe main.py
        

        3 Overview GUI

        The application will start with a login widget as shown below. The component 1 is a device combobox that shows the connected EFM8UB1EK device, and the component 2 is a pushbutton.

         

        The device shown in the combobox will be open, and the application will jump to a main widget when the pushbutton is pressed.

         

        District 1 is a canvas which can be used to display the waveform. When the cursor is in this district, the time and ADC value of cursor position will be shown.

        District 2 is the display district. The buttons in this district are the zoom in pushbutton, the zoom out pushbutton, the enable ADC pushbutton, and the single trigger button from left to right.

        District 3 is used to control 3 LED on the EFM8UB1EK device.

        District 4 is used to enable channels. There are two channels available: the routed to the GPIO pin1.7 and the GPIO pin1.2 respectively.

        District 5 is the frequency district. The sample frequency will be set to the value shown in the combobox when the set pushbutton is pushed.

        The current information will be shown in district 6.

        4 Start sampling

        Once you have all the required environments and equipment, you can start sampling by following the steps.

        • Connect the device and host
        • Execute the GUI application
        • Choose the required device in combobox and press the enter button
        • Check the required channel
        • Choose the appropriate frequency and then press the set button
        • Push the enable ADC button in district 2

        After that, the waveform will now display in district 1.

        5 Software development and functional development

        In order to facilitate continued function expansion, a flexible protocol was developed. Every operation is an item of command which consists of preamble byte, command byte, value length and value. The preamble byte is a fixed value 0xAA, the command byte shows the specific operation, and the third byte followed by a value is the length of the value. The table shown below lists the command that have been taken. If you want to develop a new command, you can start with 0x60.

         

        6 Conclusion

        The oscilloscope simulation system is used to sample analog voltage and show it as waveform. It provides two channels to sample the voltage signal, supports zoom out and zoom in, and can display voltage and time information on the mouse cursor point, making it look like a real oscilloscope. It is an important tool for measuring analog voltages for engineers.

        7 Source Code

        The source code of the GUI tool and firmware is attached for reference.