Apple and Meta hit with first fines under Europe's new Digital Markets Act

Following reported delays over political concerns, the European Commission (EC) has penalized Apple and Meta over anti-competitive activities. The fines of €500 million and €200 million respectively (around $570 million and $228 million) are the first to be issued under Europe's new Digital Markets Act (DMA), according to the EC

The fines were issued after what the Commission called extensive consultation with the two companies after the probes were opened in March 2024. Apple violated the DMA by blocking developers from informing customers about sales and other offers outside the App Store. "Consumers cannot fully benefit from alternative and cheaper offers as Apple prevents app developers from directly informing consumers of such offers," the Commission wrote, adding that it failed to demonstrate the restrictions are "objectively necessary." 

The €500 million fine levied against Apple takes into account the "gravity and duration" of the non-compliant behavior. The EC also ordered Apple to remove the restrictions and refrain from imposing them in the future. 

However, the Commission also closed its investigation into another Apple matter around app choices "thanks to early and proactive engagement by Apple on a compliance solution." Namely, Apple changed its browser choice screen, made it easier for users to change default settings for things like calls, messages, keyboards and password managers, and agreed to allow users to uninstall apps like Safari. 

Meanwhile, the EC hit Meta for its "consent or pay" system that forced EU users to either shell out €10 ($11) monthly for an ad-free subscription or be forced to share their data. Meta introduced a new version of the free personalized ads model in November 2024 that supposedly uses less personal data to display ads (while also cutting the subscription price to €6), but the Commission is still assessing that. 

The €200 million fine thus takes into account the time period between March 2024 and November 2024 when Facebook was violating DMA rules. However, Meta could face further penalties depending on how the EC evaluates the new personalized adds. On a positive note for Meta, the EC rules that Facebook Marketplace is no longer designated under the DMA, following "careful assessment of Meta's arguments and as a result of... additional enforcement and continued monitoring measures."

Last month, Meta CEO Mark Zuckerberg specifically urged President Trump to intervene on potential EU sanctions around the pay for privacy issue. The White House also released a memo in February saying it could retaliate against any European DMA sanctions against US tech companies. However, Meta has its own problems in the US that could have more dire consequences. The Justice Department accused it of squashing competition through acquisition and could force it to sell off key apps like WhatsApp and Instagram. 

This article originally appeared on Engadget at https://www.engadget.com/big-tech/apple-and-meta-hit-with-first-fines-under-europes-new-digital-markets-act-112545713.html?src=rss

Vayudh Secures $10 Million In A Funding Round to Advance Indigenous Drone Technology

Vayudh Secures $10 Million In A Funding Round to Advance Indigenous Drone Technology

On April 22, 2025, Indian defence technology company Vayudh raised $10 million in a funding round led by Dharana Capital. The round also included Deepinder Goyal of Zomato, Ajay Aggarwal of Action TESA, Sumit Jalan, LetsVenture and Navam Capital. This follows an earlier investment from Florintree Advisors and marks Vayudh’s biggest fundraising so far.

Vishnu Kumar
Circuit Digest 23 Apr 12:05

The best laptops for gaming and schoolwork in 2025

Finding a laptop that can juggle both gaming and schoolwork isn’t as tricky as it used to be. These days, you don’t have to choose between a machine that can handle your homework and one that can keep up with your favorite games. Whether you’re diving into an essay, editing video for a project or hopping into a round of Fortnite or Baldur’s Gate 3 after class, there are plenty of laptops that strike the right balance between performance, portability and price.

The key is knowing what to look for. A solid gaming and schoolwork laptop should have enough processing power for multitasking, a GPU that can handle modern games (even if you're not cranking settings to ultra) and decent battery life to get you through a day of classes or study sessions. Some are sleek and lightweight enough to slip into a backpack while others double as full-on gaming rigs when you’re home and plugged in. We’ve tested a range of laptops to help you find one that fits your student schedule and your Steam library.

Best laptops for gaming and school in 2025

Best laptop for gaming and schoolwork FAQs

Are gaming laptops good for school?

As we’ve mentioned, gaming laptops are especially helpful if you're doing any demanding work. Their big promise is powerful graphics performance, which isn't just limited to PC gaming. Video editing and 3D rendering programs can also tap into their GPUs to handle laborious tasks. While you can find decent GPUs on some productivity machines, like Dell's XPS 15, you can sometimes find better deals on gaming laptops. My general advice for any new workhorse: Pay attention to the specs; get at least 16GB of RAM and the largest solid state drive you can find (ideally 1TB or more). Those components are both typically hard to upgrade down the line, so it’s worth investing what you can up front to get the most out of your PC gaming experience long term. Also, don’t forget the basics like a webcam, which will likely be necessary for the schoolwork portion of your activities.

The one big downside to choosing a gaming notebook is portability. For the most part, we'd recommend 15-inch models to get the best balance of size and price. Those typically weigh in around 4.5 pounds, which is significantly more than a three-pound ultraportable. Today's gaming notebooks are still far lighter than older models, though, so at least you won't be lugging around a 10-pound brick. If you’re looking for something lighter, there are plenty of 14-inch options these days. And if you're not into LED lights and other gamer-centric bling, keep an eye out for more understated models that still feature essentials like a webcam (or make sure you know how to turn those lights off).

Do gaming laptops last longer than standard laptops?

Not necessarily — it really depends on how you define "last longer." In terms of raw performance, gaming laptops tend to pack more powerful components than standard laptops, which means they can stay relevant for longer when it comes to handling demanding software or modern games. That makes them a solid choice if you need a system that won’t feel outdated in a couple of years, especially for students or creators who also game in their downtime.

But there’s a trade-off. All that power generates heat, and gaming laptops often run hotter and put more strain on internal components than typical ultraportables. If they’re not properly cooled or regularly maintained (think dust buildup and thermal paste), that wear and tear can shorten their lifespan. They’re also usually bulkier and have shorter battery life, which can impact long-term usability depending on your daily needs.

Gaming laptops can last longer performance-wise, but only if you take good care of them. If your needs are light — browsing, writing papers and streaming — a standard laptop may actually last longer simply because it’s under less stress day-to-day.

What is the role of GPU in a computer for gaming and school?

The GPU plays a big role in how your laptop handles visuals — and it’s especially important if you’re using your computer for both gaming and school.

For gaming, the GPU is essential. It’s responsible for rendering graphics, textures, lighting and all the visual effects that make your favorite titles look smooth and realistic. A more powerful GPU means better frame rates, higher resolutions and the ability to play modern games without lag or stuttering.

For schoolwork, the GPU matters too — but its importance depends on what you're doing. If your school tasks mostly involve writing papers, browsing the web or using productivity tools like Google Docs or Microsoft Office, you don’t need a high-end GPU. But if you’re working with graphic design, video editing, 3D modeling or anything else that’s visually demanding, a good GPU can speed things up significantly and improve your workflow.

Georgie Peru contributed to this report.

This article originally appeared on Engadget at https://www.engadget.com/computing/laptops/best-laptops-for-gaming-and-school-132207352.html?src=rss

Clair Obscur Expedition 33 review: An original hit RPG

It’s rare for a turn-based RPG to excite the editorial team beyond Engadget’s usual core RPG fans. Clair Obscur: Expedition 33 has many excited, however. Maybe it’s the dreamy Belle Époque aesthetic and design. Maybe it’s the gloriously pulpy concept of an all-powerful Paintress dooming humankind to an ever shortening mortal clock. Maybe it’s the characters, bolstered by a starry voice artist roster, and nuanced animation and story. Maybe, at this point in gaming, it’s the $50 price tag.

Maybe it’s just the treat of a turn-based RPG for those of us not looking for another real-time action RPGs. Expedition 33 does a great job setting up its world in a way that allows everyone to get on board. Lumiere, which seems to be a chunk of Paris plus change, is doomed to repeat a cycle of death, with a powerful godlike figure, the Paintress, looming on the horizon. The vestiges of humanity send out expeditions each year to “the Continent” in a bid to stop the death. This is the story of Expedition 33, although it’s not the 33rd, but closer to the 77th, with the clock counting down from 100.

Sandfall

Once you’re exploring the dangerous world beyond the safety of the city, you’ll discover that each expedition, while failing at ending the Paintress, made progress in different ways, paying it forward for the expedition that followed. Some groups set up grapplehook points across the world, while others figured how to use the world’s painty powers to tattoo themselves to boost their combat powers. Some tried to reach the Paintress on boats and submarines, but failed miserably.

It gets the player excited about exploring the world and the lore, even before you’ve left the safety of Lumiere. You start the game as Gustave, picking up party members throughout the early part of the game. While not all of them are part of your battle party, Gustave seems to have a connection with many other members of Expedition 33. A farewell party, tinged with hope, pessimism and loss, sets up the journey before things go wrong, pretty much as soon as they land.

Expedition 33 introduces its battle system and its take on turn-based RPGs in easy-to-digest parts. First you’re taught the basics of parrying and dodging, as well as a Free Aim shooting mode, which gobbles up your activity points just as much as a straightforward attack, but can be used to hit weak points or sabotage powerful attacks of your enemies. Quick-time actions, pressing the right button at the right time, will ensure your skills do even more damage, but are more crucial for parries and dodges.

You’ll want to refine your ability to parry attacks as soon as possible. Parries have a shorter success window than dodges, but offer extra action points for the character, and if performed perfectly, set up an automatic (and powerful) counterattack. Later abilities, learned from Pictos (sort-of accessories) can augment your parries to offer mild healing, extra action points, and even more powerful counter attacks. From the mid-game onwards, parrying will likely be your life.

Sandfall

There’s then the addition of elemental attacks, which can apply status effects, augment future attacks and more. Initially, I found the skill sets of each character, which are entirely different, a little complicated. Sure, Gustave’s shot ability was laced with Lightning, but it also applied the Mark status effect, which adds 50 percent more damage to whoever attacks the same enemy next. It all soon clicked into place, though, and I was cuing up each character’s attack to build upon the last.

Alongside their unique skills and spells, each character has their own fight mechanic too. Our preview touched on Gustave’s super-charged robot arm, Lune’s elemental stains which she can store up and apply to add more oomph to spells, and Maelle’s battle stances that can risk weakened defense for heavier hits.

The party is eventually joined by Sielle, who has a light-dark mechanic that tags enemies, building up momentum to convert into considerable damage, or a mixed hit-and-heal attack. Then there’s monkey-monk Monoco who is both the comic relief and blue mage, collecting defeated monster’s feet (!) and wielding their moves in combat. Those skills are further complicated by a Beastial wheel, which spins after each attack Monoco makes, and augments certain families of attacks. For example, if wearing the Caster mask, a regen spell will also heal the party substantially. Like I said, initially confusing, but you get to grips with it.

In the later game chapters, enemies will often deliver seven-hit combos, with some attacking all of your party each time. You’ll find yourself dodging, parrying and leaping over attacks in a bid to shore up ability points, or just keep yourself alive, and it can get a bit stale at times.

But! When you nail that boss’ attack pattern, flawlessly countering the evil older man (there shouldn’t be anyone alive over 33!) and his eight laser cane attacks, and your three-person party coalesce into a group counter attack, severing a considerable chunk of his health bar.

Urgh. I felt like an athlete—an artist.

Sandfall

There are no random encounters, so like Metaphor Re:Fantazio (There are a lot of parallels there) enemies exist in the world, ready for you to sneak attack – or just avoid. The auto-save system is forgiving, and even kindly keeps three saves at hand, so you can perhaps retreat from an area you’re not quite ready for. And you will get thrashed by a random super enemy when you push your luck. There are also a few difficulty spikes, but it’s often a matter of attack pattern recognition.

While there are distractions and optional areas to explore, Expedition 33 guides you in a relatively linear fashion for most of the game. As more exploration options become available, you’re eventually able to easily return to past areas, and go obliterate that one monster with the giant spear that shamed you in the early hours of your playthrough.

Most transport options come from befriending a giant plushie-kind-of-mythical-creature called Esquie, who can swim, blast through rocks and eventually fly you around the world. To do so, however, you’ll have to find his friends. Those friends are stones that add skills. So while he can fly as soon as you meet him, he can’t carry you until you find his special stone buddy. I love this kind of RPG nonsense. Gestrahl villages (another species that inhabits the continent) add some welcome comic relief amid all the death, family strife, and betrayal.

Fortunately, the cast of Expedition 33 have the dramatic bonafides to deliver on the emotional beats, including Charlie Cox (Daredevil), Jennifer English (Baldur’s Gate 3’s Shadowheart) Ben Starr (Final Fantasy XVI) and Andy Serkis (do I even have to say?).

There are both French and English VAs, and I’d recommend playing through at least part of the game in both. It adds a certain je ne sais quoi – or at least made me feel somehow cultured. There are numerous other playfully French touches and clichés, including a droopy Eiffel Tower and a series of formidable enemies: a tribe of mimes.

Sandfall

Sandfall decided to forgo maps; there’s an overworld map, accessible by pressing up on the D-pad, but it lacks an overlay, and you’ll have to zoom in significantly to see the areas’ labels.

The bigger frustration is the lack of mini maps in core areas. While it’s not an open-world exploration kind of game, there’s some latitude for exploring off the beaten path, which is nearly always rewarded with new equipment (or a strong enemy). However, without a map, I often found myself running in circles, struggling to find a way forward.

It’s a good thing, then, that the environments are gorgeous and filled with detail. I need a camera mode added to this game, as soon as possible. The sinister Monolith, counting down the years, always seems to be visible from cliff sides, valleys, and abandoned train stations, always in a very aesthetically pleasing way. Even the campsite that the group uses to save, rest and develop friendships overlooks the Paintress’ countdown clock.

We covered the faux underwater level from the early part of the game in our preview, but there are several more meticulously designed levels and areas later in the game. One optional distraction partway through is a vertiginous structure made of gravity-defying floating objects and parts of buildings that you can climb up for a (frustrating) mini-game. There’s also a fractured snowy Belle Époque ski resort that you have to hike up, and a broken city, skewered by swords of light, to fight through on your way to confront the giant, weepy Paintess, who’s always slumped on the horizon.

Side quests and distractions from the main story are minimal until later in the game, and I found myself happily moving on without completing them, hoping for an easy way to backtrack to areas. That doesn’t quite ever happen, although a Doctor Who-esque house found within the game, with doors attached to various places across the Continent, would have made a convenient shortcut. Instead, you have to wait until you’ve found Esquie’s stone for flying, which comes pretty late into the game.

Once Esquie takes to the skies, there’s no shortage of mini quests and new areas, including gorgeously hued floating islands, paintings to test your battle strategies and curios that help bolster smaller story beats. I haven’t finished all of the optional bosses and quests, but the only frustrating ones so far have hinged on some precarious platforming segments. It’s not great; it's frustrating. These characters were not built for leaps of faith. And if you’re sprinting, don’t be surprised if you parkour roll off the platform you landed on, and fall to your death.

Without spoiling the story, many of the characters have a degree of plot blindness that stretches incredulity. It can be especially jarring when woven amid a lot of heaviness, themes of loss, death of close friends and the whole attempting-to-save-the-world when no-one even knows if it’s possible.

Sandfall

I’m willing to forgive the high-concept wankery to an extent (It’s an RPG!). Still, when new characters join you, almost certainly connected to mysterious enemies trying to kill you, you’d expect other party members might have a few questions.

You can tell the team loves RPGs. The director said he was “starving for turn-based RPGs” and he’s helped make quite the meal. The RPG inspirations come from many places. You can easily see the affection for both the Persona and Final Fantasy series in places. Still, during the battles, it was Super Mario RPG and Paper Mario, of all things, that came to mind, with the judicious use of timing and quick button presses being the best way to win – or at least survive.

Another thing that Expedition 33 does right is a rather fantastic run of battles, cinematic set-pieces and exploration towards the end. The final villain, too, is someone I was hoping to fight – no random evil big bad here, like we have suffered in one or ten RPGs past.

Expedition 33 is a solid, enjoyable RPG – and I’ve already started. However, later into the game, and on the higher difficulty level, it devolves into a rhythm action game, especially on damage-sponge bosses. Although that might not be what turn-based RPG fans want, it adds urgency and focus to fights. It’s also a gorgeously made and well-considered world. A strong endorsement for it all is that I’m still hunting down records of every expedition that came before Gustave, Maelle and Lune.

This article originally appeared on Engadget at https://www.engadget.com/gaming/clair-obscur-expedition-33-review-an-original-hit-rpg-090012488.html?src=rss

E-Cube Nano-Satellite Kit, Empowering Learners to Build And Operate Their Own Satellite Prototype

E-Cube Nano-Satellite Kit, Empowering Learners to Build And Operate Their Own Satellite Prototype

Educational Cube (E-Cube) is a compact DIY nano-satellite kit designed to teach beginners and students the fundamentals of satellite technology. Based on the CubeSat standard, the 10 cm × 10 cm × 10 cm platform can be assembled and programmed in a typical classroom or makerspace.

Vishnu Kumar
Circuit Digest 23 Apr 09:53

Casetify's latest AirPods case is a Darth Vader head

May the 4th be with you is almost upon us, so get ready for an influx of Stars Wars paraphernalia. That includes new merch, such as Casetify's collaboration with Star Wars. Yes, starting today, Star Wars fans can get a series of branded accessories for devices ranging from iPhones to wireless chargers. 

One of the most over-the-top items available is a Darth Vader AirPods holder. As you can see above, it's an entire stand for your AirPods that almost looks like a little bobblehead doll. But, it fits your AirPod case (which can also be Star Wars themed) and leaves space for the keychain to poke out. Plus, Casetify claims it's "complete with authentic breathing sound effects" — a purchase that truly falls under the category of something you never knew you needed. 

The Darth Vader head follows similar Casetify products, including a stand that looks like RX-78-2 from Gundam. It also held both AirPods and another case from the anime collaboration. A separate roll out with Neon Genesis Evangelion included an AirPods case based on the head of Evangelion Unit-01.

As for the Star Wars collection, you can check out all the products below and purchase items starting at $32. Some of the themed accessories will be available to buy in bundles. 

Casetify

This article originally appeared on Engadget at https://www.engadget.com/audio/headphones/casetifys-latest-airpods-case-is-a-darth-vader-head-080012607.html?src=rss

The best cheap phones for 2025

A few years ago, it may have been fashionable to spend $1,000 on the latest flagship smartphone, but for most people, that’s neither practical nor necessary. You don't even have to spend $500 today to get a decent handset, whether it’s a refurbished iPhone or an affordable Android phone, as there are plenty of decent options as low as $160.

However, navigating the budget phone market can be tricky; options that look good on paper may not be in practice, and some devices will end up costing you more when you consider many come with restrictive storage. While we spend most of our time reviewing mid- to high-end handsets at Engadget, we've tested a number of the latest budget-friendly phones on the market to see cut it as the best cheap phones you can get right now.

Best cheap phones

What to look for in a cheap phone

For this guide, our top picks cost between $100 and $300. Anything less and you might as well go buy a dumb phone instead. Since they’re meant to be more affordable than flagship phones and even midrange handsets, budget smartphones involve compromises; the cheaper a device, the lower your expectations around specs, performance and experience should be. For that reason, the best advice I can give is to spend as much as you can afford. In this price range, even $50 or $100 more can get you a dramatically better product.

Second, you should know what you want most from a phone. When buying a budget smartphone, you may need to sacrifice a decent main camera for long battery life, or trade a high-resolution display for a faster CPU. That’s just what comes with the territory, but knowing your priorities will make it easier to find the right phone.

It’s also worth noting some features can be hard to find on cheaper handsets. For instance, you won’t need to search far for a device with all-day battery life — but if you want a phone with excellent camera quality, you’re better off shelling out for one of the recommendations in our midrange smartphone guide, which all come in at $600 or less.

Wireless charging and waterproofing also aren’t easy to find in this price range and forget about the fastest chipset. On the bright side, most of our recommendations come with headphone jacks, so you won’t need to buy wireless headphones.

iOS is also off the table, since, following the discontinuation of the iPhone SE, the $599 iPhone 16e is now the most affordable offering from Apple. That leaves Android as the only option in the under-$300 price range. Thankfully today, there’s little to complain about Google’s operating system – and you may even prefer it to iOS.

Lastly, keep in mind most Android manufacturers typically offer far less robust software features and support for their budget devices. In some cases, your new phone may only receive one major software update and a year or two of security patches beyond that. That applies to the OnePlus and Motorola recommendations on our list.

If you’d like to keep your phone for as long as possible, Samsung has the best software policy of any Android manufacturer in the budget space, offering at least four years of security updates on all of its devices. Recently, it even began offering six years of support on the $200 A16 5G, which we recommend below. That said, if software support (or device longevity overall) is your main focus, consider spending a bit more on the $500 Google Pixel 9a, or even the previous-gen Pixel 8a, which has planned software updates through mid-2031.

This article originally appeared on Engadget at https://www.engadget.com/mobile/smartphones/best-cheap-phones-130017793.html?src=rss

The best streaming deals: Save on Apple TV+, Audible, Starz, Disney+ and more

If you’ve been shocked by how much you spend on streaming services lately, you’re not alone. Companies like Netflix, Disney, Max and others have been consistently raising prices to the point where you may question if streaming is even worth it anymore. We at Engadget still think it is, but we also think you should be smart with your money — and that’s where streaming deals come in.

Yes, it is possible to get discounts on services like Peacock and Paramount+, even if those deals aren’t as common as a sale on AirPods. If you’re looking to save money and still stream all of the content you want, Engadget can help by laying out the best streaming deals you can get right now, how you can save with bundles and everything you should know before paying for yet another streaming service.

Best streaming deals

True streaming deals can be hard to come by. Most often, they’ll pop up during the Black Friday shopping period. On occasion, we’ll see them sparingly throughout the year and they usually take the form of a discounted monthly or annual rate for a limited period of time. Also, true streaming deals are typically on the ad-supported versions of a service, but once in a while you’ll find a unicorn of a deal on a tier that has ad-free viewing.

If you’re able to wait for a deal before subscribing to a streaming service, we recommend doing so. You’ll save money upfront and in the long run, and you also have the option to cancel your subscription before the price goes back up to the normal rate. Maybe you find you like the service so much that you’re fine paying full price for it — that’s the ideal situation. But if you’re not compelled to keep that app on rotation in your smart TV, most streaming services make it easy for you to cancel at any time. With that said, these are the best streaming deals you can snag right now.

Audible (three months) for $3 ($42 off): This deal gives you access to Audible Premium Plus, which includes one credit each month that you can spend on any book you'd like, along with listening access to thousands of other books, podcasts and Audible Originals. You also get to take part in Audible's exclusive member sales. The deal runs through April 30.

Starz (six months) for $18 ($28 off): Starz's latest offer gives you six months of access for only $18, which shakes out to just $3 per month. This represents a 66-percent discount off the standard annual plan. This gives you access to all Starz content, including originals like Power Book III: Raising Kanan and movies like Fast X. If you'd prefer less of a commitment, you can get three months of access for only $9.

YouTube TV for $60/month for the first two months ($46 off): New subscribers can save a total of $46 when they sign up for YouTube TV’s base plan, which includes access to over 100 channels, unlimited DVR space and six household accounts with the ability to stream on three devices at once.

Sling Orange for $23/month for the first month (50 percent off): New customers can get Sling Orange or Sling Blue for half off the usual price for the first month, bringing the final prices to $23/month and $25.50/month, respectively. Orange is likely best for sports fans, with eight exclusive sports and family channels, while Blue includes 19 exclusive news and entertainment channels. You can get both Orange and Blue access also for half off for one month, or $33 total.

Fubo Essential for $55/month for the first month ($30 off): Fubo has introductory discounts on most of its packages, but Essential may be the best for most people. It offers access to 215 channels, unlimited cloud DVR and up to 10 simultaneous streams. Note that regional sports content is not included here; you’ll have to go up to Pro or Elite plans for that.

DirecTV Sports Pack - first month free ($15 off): When you sign up for an Entertainment, Choice or Ultimate package, you can get the first month of the DirecTV Sports Pack for free. This gives you access to NFL Network and NFL Red Zone, MLB Network, CBS Sports Network and TUDN and more.

Sling TV + MLB.TV for $30 off: New subscribers can get $30 off their first month of Sling TV when they sign up and add MLB.TV to their package. The offer applies to Sling Orange, Sling Blue and Sling Orange & Blue, and MLB.TV gives you access to MLB Network along with access to all out-of-market games during the regular season. This offer runs through May 31.

Max student discount - subscribe for $5/month (50 percent off): Max offers their ad-supported tier to students for half off the usual rate. You’ll just have to verify that you’re a student through Unidays, and make note that this offer is only good for up to 12 months of service.

Hulu student discount - subscribe for $2/month (75 percent off): Those with a valid student ID can get Hulu’s ad-supported tier for 75 percent off the typical rate. They’ll keep the same sale price for as long as they’re a student as well.

Spotify student discount - Premium + Hulu with ads for $6/month (72 percent off): Spotify’s student offer continues to be one of the best around, giving you access to the Premium tier of the music streamer and Hulu’s ad-supported plan for only $6 monthly. Purchased separately, you’d pay $22 per month for both of the services. Plus, the first month is free when you sign up.

Streaming bundle discounts

There’s more consolidation happening now than ever before in the streaming space, and that means there are more streaming bundle options. These bundles offer you access to more content with one subscription price, but those prices are typically higher than paying for a single service by itself (obviously). It may be tempting to just get the bundle, but if only one of those services in the bundle speaks to you, you’ll spend less overall by just paying for the single service.

Speaking of a deep love for a single streaming service: if all of your favorite shows are on Peacock or the latest releases on Max consistently bring you joy, consider paying for one year upfront. Subscribing with an annual plan usually saves you money in the long term over paying on a monthly basis. Unfortunately, not all streaming services (looking at you, Netflix) have an annual subscription option. Here are some of the best streaming bundles you can get right now.

Disney+, Hulu, Max bundle with ads for $17/month: Ad-supported Max is included here, along with full, ad-supported access to Disney+ and Hulu. You’ll save 43 percent with this bundle, as opposed to paying for all three services individually.

Paramount+ with Showtime for $13/month or $120/year: This includes everything in Paramount+’s Essential plan, except the ads, and also provides access to Showtime content, live CBS streams and download features.

Sling TV + Max starting at $53/month: Sling TV and Max have partnered on a discount that gives new subscribers 50 percent off their first month of Sling TV, plus $5 off monthly when you subscribe to the Sling TV + Max bundle. The standard price for the Sling Blue + Max duo is roughly $58/month, so you'll get a monthly discount of $5 off that. In addition, for the first month only, you'll get half off the price of the bundle. The promotion also applies to the Sling Orange & Blue + Max package, which has a standard price of $73/month.

Hulu + Live TV with Disney+ and ESPN+ for $96/month: This streaming bundle amalgamation is a bit confusing but it does offer a lot: you get live TV streaming via Hulu’s service plus access to the following VOD services: Hulu, Disney+ and ESPN+. Out of those three, only ESPN+ will have ads.

Disney+ and Hulu Duo Premium for $20/month: This bundle removes the ads from both Disney+ and Hulu (with the exception of select live and linear content) and allows you to download content for offline viewing. You’ll save 43 percent with this bundle, as opposed to paying for both ad-free tiers individually.

Disney+, Hulu, ESPN+ Trio Basic for $17/month: You get full access to Disney+, Hulu and ESPN+ content with this package, albeit with ads across the board. This bundle price is 47 percent off the total price of all three separate subscriptions.

Disney+, Hulu, ESPN+ Trio Premium for $27/month: Similarly to the Duo bundles, the Premium version of the Trio removes ads from most content in Disney+, Hulu and ESPN+, and you can download content for offline viewing. This price represents a 43-percent savings when compared to paying for all three ad-free tiers separately.

Read more streaming coverage

Follow @EngadgetDeals on X for the latest tech deals and buying advice.

This article originally appeared on Engadget at https://www.engadget.com/deals/best-streaming-service-deals-133028980.html?src=rss

Tutorial – Using Long Range 315MHz RF Wireless Transceivers with Arduino

You can send data from one Arduino to another, or create a wireless remote-control system using inexpensive long-range 315MHz or 433MHz wireless data units.

Using this tutorial so you can quickly test and use your units, giving you the knowledge to build upon and make your own projects. So let’s get started!

Testing the modules

Our first guide is to simply test that data can be sent and received from one module to another. This is also an ideal setup for testing the radio range of the units in your area.

You will need:

You also need to install the VirtualWire Arduino library. To do this:

  • Download this .zip file into a temporary or your download directory.
  • Open the Arduino IDE and select Sketch > Include Library > Add .zip Library…
  • Navigate to the library .zip download and click “Open”:

After a few moments the library will be installed. You can check that this has completed by selecting Sketch > Include Library> then scroll down the long pop-up menu until you see “VirtualWire” as shown below:

Now – back to the hardware. Allocate one Arduino to be the transmitter, and one the receiver. Upload the following sketch to the transmitter board:

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
// transmitter.ino
//
// Simple example of how to use VirtualWire to transmit messages
// Implements a simplex (one-way) transmitter with an TX-C1 module
//
// See VirtualWire.h for detailed API docs
// Author: Mike McCauley (mikem@airspayce.com)
// Copyright (C) 2008 Mike McCauley
// $Id: transmitter.pde,v 1.3 2009/03/30 00:07:24 mikem Exp $
#include <VirtualWire.h>
const int led_pin = 11;
const int transmit_pin = 12;
const int receive_pin = 2;
const int transmit_en_pin = 3;
void setup()
{
// Initialise the IO and ISR
vw_set_tx_pin(transmit_pin);
vw_set_rx_pin(receive_pin);
vw_set_ptt_pin(transmit_en_pin);
vw_set_ptt_inverted(true); // Required for DR3100
vw_setup(2000); // Bits per sec
pinMode(led_pin, OUTPUT);
}
byte count = 1;
void loop()
{
char msg[7] = {'h','e','l','l','o',' ','#'};
msg[6] = count;
digitalWrite(led_pin, HIGH); // Flash a light to show transmitting
vw_send((uint8_t *)msg, 7);
vw_wait_tx(); // Wait until the whole message is gone
digitalWrite(led_pin, LOW);
delay(1000);
count = count + 1;
}
view raw transmitter.ino hosted with ❤ by GitHub

… and upload the following sketch to the receiver board:

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
// receiver.ino
//
// Simple example of how to use VirtualWire to receive messages
// Implements a simplex (one-way) receiver with an Rx-B1 module
//
// See VirtualWire.h for detailed API docs
// Author: Mike McCauley (mikem@airspayce.com)
// Copyright (C) 2008 Mike McCauley
// $Id: receiver.pde,v 1.3 2009/03/30 00:07:24 mikem Exp $
#include <VirtualWire.h>
const int led_pin = 2;
const int transmit_pin = 12;
const int receive_pin = 11;
const int transmit_en_pin = 3;
void setup()
{
delay(1000);
Serial.begin(9600);
Serial.println("setup");
// Initialise the IO and ISR
vw_set_tx_pin(transmit_pin);
vw_set_rx_pin(receive_pin);
vw_set_ptt_pin(transmit_en_pin);
vw_set_ptt_inverted(true); // Required for DR3100
vw_setup(2000); // Bits per sec
vw_rx_start(); // Start the receiver PLL running
pinMode(led_pin, OUTPUT);
}
void loop()
{
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen)) // Non-blocking
{
int i;
digitalWrite(led_pin, HIGH); // Flash a light to show received good message
// Message with a good checksum received, dump it.
Serial.print("Got: ");
for (i = 0; i < buflen; i++)
{
Serial.print(buf[i], HEX);
Serial.print(' ');
}
Serial.println();
digitalWrite(led_pin, LOW);
}
}
view raw receiver.ino hosted with ❤ by GitHub

Wiring the modules is very easy, they are labelled well and drop straight into a solderless breadboard:

Now connect the transmitter module to your transmitter Arduino as such:

  • Arduino GND to transmitter GND
  • Arduino 5V to transmitter Vcc
  • Arduino digital pin 12 to transmitter SIG:

Next, connect the receiver module to your transmitter Arduino as such:

  • Arduino GND to receiver GND
  • Arduino 5V to receiver Vcc
  • Arduino digital pin 11 to receiver SIG
  • LED and resistor in series between Arduino digital pin 2 and GND

Now that you’ve assembled both circuits, and uploaded the transmitter and receiver sketches to each board – it’s time to test. 

Connect the transmitter board to power, and connect the receiver board to the PC. If not already open, run the Arduino IDE and open the serial monitor. You should notice two things:

  1. The LED on your receiver circuit should blink around once per second. When the LED blinks, this indicates the receiver circuit has successfully received a complete message from the transmitter
  2. The data sent from the transmitter is displayed in the serial monitor.

You can see this in action through the following video:

Our camera had trouble capturing the LED blink in some moments, but that’s ok.

You can also use this two Arduino setup to test the radio range – simply power the transmitter, and power the receiver circuit with a portable source of energy, such as a USB power bank – then walk away from the transmitter. The LED will stop blinking when you’re out of radio range. 

You can increase the radio range by increasing the voltage to the transmitter unit – up to 12V DC. 

Wireless Remote Control

Now to do something useful – create a wireless digital output control. Our transmitter will have two buttons, and our receiver will control two LEDs via digital outputs. Naturally this is an example, you can use this as a base to control other devices if required. 

You will need:

We will use two tactile buttons and 10k Ohm pull-down resistors for input. If you’re not familiar with digital inputs and buttons, the building block for this is shown below.

The example diagram uses D12 as the input pin, however for this project your transmitter circuit will need two button circuits, using D8 and D7:

To save time we will use button breakout boards which combine the circuit into a neat unit ideal for prototyping:

Your receiver circuit is the same as the test circuit at the start of this tutorial, except that anothe LED circuit is added to digital pin 3.

Now for the sketches. Upload the following sketch to the transmitter (buttons) Arduino…

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
// transmitter sketch
//
#include <VirtualWire.h>
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
const char *on2 = "a";
const char *off2 = "b";
const char *on3 = "c";
const char *off3 = "d";
void setup()
{
vw_set_ptt_inverted(true); // Required for RF Link modules
vw_setup(300); // set data speed
vw_set_tx_pin(12);
pinMode(8, INPUT);
pinMode(7, INPUT);
}
void loop()
{
if (digitalRead(8)==HIGH)
{
vw_send((uint8_t *)on2, strlen(on2)); // send the data out to the world
vw_wait_tx(); // wait a moment
delay(200);
}
if (digitalRead(8)==LOW)
{
vw_send((uint8_t *)off2, strlen(off2));
vw_wait_tx();
delay(200);
}
if (digitalRead(7)==HIGH)
{
vw_send((uint8_t *)on3, strlen(on3));
vw_wait_tx();
delay(200);
}
if (digitalRead(7)==LOW)
{
vw_send((uint8_t *)off3, strlen(off3));
vw_wait_tx();
delay(200);
}
}
view raw tx.ino hosted with ❤ by GitHub

… and upload the following sketch to the receiver (LEDs) Arduino:

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
// receiver sketch
//
#include <VirtualWire.h>
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
void setup()
{
vw_set_ptt_inverted(true); // Required for RF link modules
vw_setup(300);
vw_set_rx_pin(11);
vw_rx_start();
pinMode(3, OUTPUT);
pinMode(2, OUTPUT);
}
void loop()
{
if (vw_get_message(buf, &buflen))
{
switch(buf[0])
{
case 'a':
digitalWrite(2, HIGH);
break;
case 'b':
digitalWrite(2, LOW);
break;
case 'c':
digitalWrite(3, HIGH);
break;
case 'd':
digitalWrite(3, LOW);
break;
}
}
}
view raw rx2.ino hosted with ❤ by GitHub

You can see a quick demonstration in the following video:

So how did that work? 

Review the transmitter sketch. A character is sent over the wireless link which determines the latest operation of the buttons – a, b, c or d (button one high/low, button two high/low).

Review the receiver sketch – on line 19 the switch-case function interrogates the incoming character from the wireless link and determines the action – in this case, controlling the digital outputs which have the two LEDs. 

The response speed may seem a little slow – this will be affected by the data speed (300 bps). You can experiment with data speed and radio range (and voltage to the transmitter unit)

You can then alter this for your own means. You may not want to continuously send data as our example does, depending on your needs. As always, have fun and experiment. 

Sending data wirelessly from one Arduino to another

Now we’ll show how to send some data in the form of an integer over our wireless link. This is ideal for sending the values of analog inputs, or other data that can be represented as an integer.

The hardware is the same as before – one Arduino transmitting and one Arduino receiving – with the receiver unit connected to a PC so we can use the Serial Monitor to display the received data. 

Upload the following sketch to the transmitter Arduino…

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
// data transmitter sketch//
//
#include <VirtualWire.h>
// use onboard LED for status
const int ledPin = 13;
// we'll send the value of analog pin 1
const int Sensor1Pin = A1;
int Sensor1Data;
char Sensor1CharMsg[4];
void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(A1, INPUT);
vw_setup(2000); // data speed in bps
vw_set_tx_pin(12); //digital pin to data transmitter
}
void loop()
{
// get data from analog pin 1
Sensor1Data = analogRead(Sensor1Pin);
// convert data from integer to character array
itoa(Sensor1Data, Sensor1CharMsg, 10);
digitalWrite(13, true); // onboard LED on to indicate transmitting
vw_send((uint8_t *)Sensor1CharMsg, strlen(Sensor1CharMsg)); // send array
vw_wait_tx(); // wait until data is sent
digitalWrite(13, false); // onboard LED off to indicate finished transmitting
delay(1000); // wait
}
view raw dtx1.ino hosted with ❤ by GitHub

… and the following sketch to the receiver Arduino.

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
// data receiver sketch
//
#include <VirtualWire.h>
// use onboard LED for status
const int ledPin = 13;
int Sensor1Data;
// holds data from receiver
char Sensor1CharMsg[4];
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
vw_set_ptt_inverted(true);
vw_setup(2000); // data speed in bps
vw_set_rx_pin(11); // receiver data pin to digital 11
vw_rx_start();
}
void loop() {
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen))
{
int i;
// LED on to indicate message coming in
digitalWrite(13, true);
for (i = 0; i < buflen; i++)
{
// fill array with data from receiver
Sensor1CharMsg[i] = char(buf[i]);
}
// null terminate the char array, indicates the end of the data
Sensor1CharMsg[buflen] = '\0';
// convert data in array to a usable integer
Sensor1Data = atoi(Sensor1CharMsg);
// send data to serial monitor
Serial.print("tx analog pin 1 reads: ");
Serial.println(Sensor1Data);
// message reception finished, turn off onboard LED
digitalWrite(13, false);
}
}
view raw drx2.ino hosted with ❤ by GitHub

Once operating and in radio range, the onboard LEDs will indicate successful transmission and reception of data. Open the serial monitor, and after a moment you will be presented with the data from analogue pin 1 of the transmitter Arduino – for example:

So how did that work? 

Review the trasmitter sketch. We took a value from analog pin 1, and stored it into an integer variable on line 25. The VirtualWire library is geared to send data as characters so we convert the integer to a character array on line 28 – which is then sent as usual as shown in line 31.

Now review the receiver sketch. Nothing unusual, and the data from the receiver (in character form) is fed into the array at line 35. Once completed, we add “\0” to the end of the array to signify the end of the data. 

The array is then converted back to an integer on line 42, then sent to the Serial Monitor.

So there you have it, we’ve sent integers across the airwaves. You can use your own “codes” with integers to mean all sorts of things and send them across. Ideal for temperature sensors, or anything really. 

I hope you had fun experimenting with wireless units, or at least enjoyed reading about the possibilities. To keep up to date with new posts at tronixstuff.com, please subscribe to the mailing list in the box on the right, or follow us on x – @tronixstuff.

If you find this sort of thing interesting, please consider ordering one or more of my books from amazon:

Tronixstuff 23 Apr 06:05
arduino  wireless  

OpenAI says it would buy Chrome if Google is forced to sell

Google is under the microscope following a court ruling last year that it has a monopoly over online search, but the future of its vast suite of digital services is still uncertain at this stage. Last month, the Justice Department suggested that Google would need to sell off the Chrome browser; if the tech giant does make that move, there's already at least one interested buyer.

Bloomberg reports that Nick Turley, head of ChatGPT, spoke at a hearing today about the Google monopoly situation and was asked whether OpenAI would be interested in acquiring Chrome. “Yes, we would, as would many other parties,” he said. Users can currently use the ChatGPT AI assistant in Chrome through a plugin, but Turley said there could be deeper integrations if OpenAI owned the browser. Under OpenAI's hypothetical ownership, Chrome could "introduce users into what an AI first experience looks like."

Chrome isn't the only property Google may lose control over. A separate judge determined earlier this month that Google has also been engaged in anti-competitive behavior over online ad tech. It's no surprise that any other major tech operation would be interested in acquiring one of the many popular services Google has developed over the years. The real question is which one of them landing a purchase wouldn't create a new monopoly. For now, the DOJ is allowing Google to continue its AI investments amid the break-up talk, but adding the browser to OpenAI's holdings may raise new concerns. Since the wheels of justice often turn slowly, it may be a while before we learn the outcomes of the recent Google rulings. 

This article originally appeared on Engadget at https://www.engadget.com/big-tech/openai-says-it-would-buy-chrome-if-google-is-forced-to-sell-215239832.html?src=rss