This is a lovely little Nintendo Switch controller. Fits in my pocket, and even has full gyro controls (important for some games like Splatoon) as well as rumble support. It won't wake the switch (unfortunately), but it connects just fine to the Switch when it's awake. This is by design (controller's manual mentions it won't wake the switch), but it's a shame because some of 8bitdo's other controllers can (such as the Ultimate). If your main motivation for purchasing this is to have another Switch controller it can't be beat for the price.
For PC and Android, it's still a fairly good controller, but there are some caveats I describe below.
I prefer to use the controller in Switch-mode on my PC rather than the Direct-Input mode as the rumble and motion control feature is only available in Switch mode. Direct-Input mode does have a turbo button feature (holding a button and pressing the "star" button toggles it for the held button), but frankly I prefer having gyro controls and rumble.
PC use is a bit tricky, as the controller doesn't have any X-Input support, but there's lots of ways around that. Steam natively supports Switch Pro Controllers, so all Steam games can work with it if you pair it in Switch-mode. If you want to use it for a non-Steam game, there's an open-source program you can download called "GloSI" that can provide Steam Input to non-Steam games.
One quirk I ran into is when pairing with my PC for the first time: I had to turn off the controller after pairing and turn it back on before it completely worked. Seems to be the case every time I re-pair, so that's a slight bummer, but an easy work-around.
For Android it's more of a mixed bag. Switch-mode did pair with my phone but didn't work very well. So Direct-Input is definitely preferred with Android. However, in Direct-Input mode, default Android button assignments are technically "correct" but not how they should be (in my opinion); pushing A is "technically" the A button, so it's labelled correctly. The problem, however, is most people prefer button assignments to be XBox based. For example, an XBox controller has its A button where the switch has its B button. When using other controllers on Android, such as the DS4 or DualSense, the button assignments match an XBox controller layout. So, for this controller, what I feel should be the default, is B=A, A=B, Y=X and X=Y. Yes, that would mean the labels don't match, but the "position" of all the buttons would match an XBox layout, which is what everybody is used to.
However, with the 8bitdo Light 2, the A-B and X-Y buttons are swapped from their XBox positions on Android with Direct-Input. For a lot of games this isn't too big a deal as you can change controls in their settings, but there are games where this isn't supported. For instance, in Netflix's release of the mobile GTA games, they only permit limited pre-set layout arrangements, and none of them solve the A-B, X-Y swapping.
It's apparently possible to fix this if you have a rooted Android phone, but sadly that's not an option for me (and countless others as well).
I still love this controller, even for Android. The price is hard to beat, and it does indeed work on Switch, PC, and Android. I would give it 5 stars if the Android button swapping issue and Switch wake-up were fixed.