7 ms·
So, why does this device need such processing power? Can this really be cost effective?
by kencausey 5y ago
So, why does this device need such processing power? Can this really be cost effective?
- eru 5y agoBy today's standard Doom doesn't need much processing power. You could probably find exactly the right chip that only has exactly just as many bits of RAM as you need for the lamp's functionality. But that would probably be more expensive to develop and chip than just using standard parts? Even more radical: I suspect with a bit of cleverness you could probably do everything the lamp needs to do with some relays and transistors. But today, that would be more expensive. Compare https://www.youtube.com/watch?v=NmGaXEmfTIo https://www.youtube.com/watch?v=NmGaXEmfTIo for the latter approach.
- jfrunyon 5y agoImplementing wifi/RF with "some relays and transistors" doesn't sound fun.
- moftz 5y agoYou could do something very basic with discrete components for controlling wireless lighting systems but system starts to get out of hand when you need to have a bunch of lights nearby. It's much cheaper, simpler, and smaller to reduce it down to a chip and move to a digital RF system. I've got a bunch of RF controlled outlets in my house but it's just about the dumbest system you can buy. It's on par with the typical remote garage door opener. You can program the on/off buttons on the remote for each outlet but that's as far as it goes. I'd like to be able to remotely control them away from home or be able to give each light or outlet its own schedule and that requires either a central controller or each device having network access for network time and remote control. Interestingly, a friend rented a house in college once that had a system of low voltage light switches that ran back to a cabinet filled with relays that controlled light switches and outlets. No major benefit to the user other than a control panel in the master bedroom that lets you control the exterior and some interior lights. It was a neat system but definitely outdated. I'd imagine a retrofit would be to drop all of the relays for solid state and provide a networked controller to monitor status and provide remote control.
- foobar33333 5y agoIt doesn't need it, its just that chips that can run doom are the dirt cheap bottom tier chips now. Rather than making some custom chip only just powerful enough to run the lamp software. You may as well just stick a generic one in. These IKEA smart bulbs cost about $9 so yes, it is cost effective.
- marcan_42 5y agoChips that can run Doom are nowhere near the dirt cheap bottom tier. The dirt cheap bottom tier is this $.03 chip: https://hackaday.com/2019/04/26/making-a-three-cent-microcontroller-useful/ https://hackaday.com/2019/04/26/making-a-three-cent-microcon... Chips that can run Doom, though, are just about at the low end for internet-connected devices. You can't run an IoT stack on that $.03 thing. The chip in the bulb is exactly in the right ballpark for the application. You do need a fairly beefy chip to run multiple network protocols efficiently.
- foobar33333 5y agoThere is no network stack on the ikea bulbs. They only support local communication via zigbee. No IP/TCP/etc. Its the gateway device that does wifi/networking.
- marcan_42 5y agoZigBee is a network protocol with a network stack. Just because it isn't TCP/IP does not mean it's not a network. It has addressing, routing and routing tables, fragmentation and reassembly, discovery, error detection, packet retransmission, and everything else you'd expect from a functional network protocol.
- spookthesunset 5y agoBecause mass produced microcontrollers are dirt dirt cheap. It’s easier to source a way overpowered CPU than some perfectly spec’d one. Plus how else will malware people run their stuff?
- foobar33333 5y agoThe ikea bulbs are actually pretty good malware wise. The bulbs do not connect to the internet, they use zigbee to communicate with a remote. Which can either be a dumb offline remote or the gateway device. The gateway also does not connect to the internet, it is local network only and can be hooked up to the Apple/Google/Amazon systems for internet access. If you had to design an IoT bulb, this is the ideal setup.
- jfrunyon 5y ago> The gateway also does not connect to the internet, it is local network only and can be hooked up to the Apple/Google/Amazon systems for internet access. In other words, it does connect to the internet, it also sits on the LAN to give attackers access to all your other devices, AND it sits on Zigbee to give attackers access to those as well.
- franga2000 5y agoNo, it can be commanded from the Internet - big difference. It never has a direct connection to the Internet and even that is entirely optional and a hard opt-in (buying more hardware). And if you have attackers on your LAN, you're at the point where controlling your lightbulb is the least of your problems. As for Zigbee, go on, present your alternative - I'm all ears!
- marcan_42 5y agoAs far as I know only Apple does the local network stuff. If a device is Alexa or Google Home compatible, it talks directly to some cloud service from the manufacturer on the Internet which then talks to Google or Amazon. So it connects directly to the internet, and moreover there is the additional attack/privacy surface of the manufacturer's cloud service. Source: I run a HomeAssistant local IoT hub and to integrate it with Google Home I had to give it a public hostname and sign up as an IoT vendor with Google to register it as a developer/testing mode service (if I were a real vendor it would be one cloud hub for all my customers, it wouldn't be Google to individual homes, it's just that in my case there is only one user and the server is at my house).
- marcan_42 5y agoThe processing power needed to run a decent internet connected device with typical software stacks these days is about the same as the processing power needed to run Doom.
- mrb 5y agoThe system-on-chip is the MGM210L which needed to be powerful enough to run multiple wireless protocols (Zigbee, Thread, Bluetooth), so the lamp can be controlled by any of these. These are very complex protocols. The Thread spec for example is hundreds of pages. I did a formal security review of it on behalf of Google back in 2015. Bluetooth is even more complex. RF signal processing, packet structure, state machine, crypto, logical services, etc. The software complexity of these protocols is greater than the complexity of a rudimentary 3D game like Doom, so it's expected that whatever chip can run these protocols can also run Doom. Datasheet of MGM210L for the curious: https://www.silabs.com/documents/public/data-sheets/mgm210l-datasheet.pdf https://www.silabs.com/documents/public/data-sheets/mgm210l-...
- oaiey 5y agocomplexity .. maybe, 80Mhz ... heck no. However, this is all off-the-shelf ware and as long as the energy consumption is not a problem, I am fine.
- marcan_42 5y agoIt's burst processing. You do actually need high processing speeds for short periods of time to implement network protocols like these effectively. Think cryptography, reliability, etc. The CPU isn't doing anything most of the time, but it makes a big difference if it can get the job done in 500μs instead of 5ms when there is something to do (like process a packet). Also, higher clock speed = lower power consumption. It sounds counterintuitive, but getting the job done quickly so you can go back to low power mode sooner actually saves power, even if the instantaneous power draw while processing is higher.
- baybal2 5y agoNearly all cryptography on MCUs is hardware based. It would have otherwise be completely impossible to do timing sensitive crypto work like WiFi, or BT. The WiFi, or BT protocol stacks themselves are however almost always in software on MCUs simply because nobody would bother making a separate ASIC IP for that which will be outdated by the next standard errata.
- deleted 5y ago[deleted]
- Karliss 5y agoIt is a IoT thingy with wireless connection which puts it in category where certain factors combine. * Cost effective solution for lightbulb would be not having it wireless connection at all instead of having less powerful MCU. So it being IoT already means that target audience doesn't care about the price that much. * It uses of the shelf FCC certfied wireless module with embedded antenna. For product designer it makes sense using a ready module because it avoids need to do RF design and the certification.It also simplifies the design if you run your user application inside the wireless module instead of having an additional MCU communicating with wireless module. Such modules tend to have medium to high end MCUs. Why do wireless modules need such processing power? * 2.4 Ghz Antenna has certain size requirements so the size constraints for rest of the system aren't too tight. * Wireless circuitry puts the module in certain price category, it makes sense to have the MCU in similar price category. Wireless certification is a pain, so there will be less product variants for wireless modules compared to something like 8bit micro controller which come in wide variety of memory, size and IO configurations. If you have single product variant better have slightly more powerful MCU part making it suitable for wider range of applications. * The wireless communication part itself has certain amount of memory and computing requirements. Might as well split the resource budget on the same order of magnitude for wireless part and user application. N kB of memory for wireless and N kB for user application instead of N and 0.001N especially if the first part can easily vary by 10% or more due to bugfixes and compiler changes. Similarly there are basic speed requirements for digital logic buffering the bits from the analog RF part and doing the checksums. * Modern silicon manufacturing technologies allow easily running at few tens of MHz so if the SOC has memory in the range of 30-500KB and isn't targeting ultra low power category it is probably capable of running at that speed.
- nerfhammer 5y agoI bet it connects to wifi and/or bluetooth so you can control it with some smartphone app