That day appears to have arrived.
Selling consumer devices with Li-Ion batteries that are designed to not be rechargeable, should be banned altogether.
https://groups.google.com/g/comp.arch/c/Y4C_Zjkb9VM/m/scDk_0...
> Killer micros of today are a lot like flourescent lights -- cheap to operate, prevalent, and expensive to turn off. To see a machine standing idle, when you were raised as a child to "use cycles efficiently" is a gut-wrenching experience. Just remember Alan Kay's prediction: In the future, computers will come in cereal boxes and we will throw them away.
March 20, 1990. I haven't found a source for Alan Kay's prediction.
"In the future, you're going to get computers as prizes in breakfast cereals. You'll throw them out because your house will be littered with them. -- Robert Lucky"
Another friend will give me a 180 gigabyte RAM device next week, cause it would go to the container otherwise...
I never ended up buying one, because it'd consume way more power than made sense, and they're kinda shitty for gaming/workstation use due to low single-core performance and NUMA issues.
Does anyone remember this?
The logical extreme end of Moore's law was that you could put a CPU into a very, very small amount of silicon and that meant they were essentially free. (Chips cost by die area & layers). Another article like this is Bunnie Huang's discussion of the ARM CPU in flash chips[2].
There have always been jokes that it is cheaper/easier to use an 8 pin uController than it is to use a 555 timer, and the argument has often come down to the current and voltage ranges that a 555 can work under are different, but at some point I expect to finally see the "blending" of analog/digital chips that allow for a wide range of voltages (on board switching PMIC), and analog pins that have few if any compromises for being either digital or analog.
[1] The Chip Letter -- https://thechipletter.substack.com/p/tiny-computers-from-tex...
[2] On Hacking MicroSD Cards -- https://www.bunniestudios.com/blog/?p=3554
The irony is that the developments which made dirt-cheap MCUs possible have at the same time basically ruled this out.
Digital logic is almost trivial to scale down. With Moore's Law the compute core itself is indeed becoming basically free. However, IO does not scale down: modern chips have far fewer analog pins, far lower current limits, lower voltages, and are increasingly sensitive to ESD & over-voltage events.
An ATmega32u4 from 2008 is designed to operate on 5V, can handle 40mA per pin, and has 13 analog pins. It's rather sturdy and can take quite a beating. On the other hand, the RP2040 from 2022 runs on 1.1V, although IO is 3.3V. It can only handle 12mA per pin, which a chip total of 50mA. It has only 4 analog pins, which lack a lot of protection present on the digital pins. Basically, you'll damage it if you look at it funny.
I think it's best summarized by a somewhat-recent change in the USB 2.0 specification: originally the data pins were supposed to handle a 24-hour short to 5V without any issues. This requirement was dropped because such a short is incredibly rare in practice, and dropping that single requirement led to 16% reduction in silicon area for the transceiver and a 3x standby power reduction.
In today's world of ever-shrinking transistors, dealing with (relatively) high voltages and analog voltages is getting more and more expensive.
There was a talk at either Hot Chips or ISSC in 2011? about a mixed mode chip where the die was 2/3rds analog parts and 1/3 digital part. Xilinx, the FPGA maker, came out with the "RF SOC" which has a "huge" analog section with multiple high speed ADCs and DACs and analog reference logic, plus and FPGA fabric, plus a quad-core AARch64 CPU. As I recall Cypress had something similar but the part family is escaping me at the moment.
But I am still looking for chip that integrates an SMPS so that they can run on a very wide range of voltages like the CD4000 series did (and still does). Combined with the ability to source 10's of milliamps like the ATMega and PIC chips did (and still do).
If teeny computers are free, and if I want to re-program them for my own use cases and personal applications, then why do I have to still spend nearly a thousand dollars or two on embedded systems development equipment like microcontroller development boards, JTAGs, ICEs, ROM flashers, UART-based bootloading solutions, and other delicate programming interfaces for small microchips, microcontrollers, and tiny computers? And don't forget microscopes to do power analysis for reverse engineering some old toy that was made to emulate or fake a real life candle's intractable flame properties.[1]
If you can't write code, then what's the point? How would no code be an agent of freedom and expression?
Reprogramming a microcontroller unit with a USB cable connected between it and a laptop computer is convenient. But too bad that's not really the standard for old technology and resources laying around the planet, isn't it? You have to basically be uncanny like MacGyver or inhumanly intelligent like Tony Stark to reprogram the apparently free teeny computers laying around the world.
[1]: https://cpldcpu.wordpress.com/2024/01/14/revisiting-candle-f...
It has been a pleasant side effect of competition in the embedded space that proprietary (and expensive) tooling has become a problem for getting a chip adopted and so there is more pressure to support open source solutions.
[1] Blackmagic Probe -- https://black-magic.org/
Second: you don't need most of that stuff. Dev boards that are a few bucks and debug probes for under $20 are credible and usable; fairly good compilers are free.
> But too bad that's not really the standard for old technology and resources laying around the planet, isn't it? You have to basically be uncanny like MacGyver or inhumanly intelligent like Tony Stark to reprogram the apparently free teeny computers laying around the world.
USB DFU is pretty dang common. It's not the absolutely lowest end stuff, but still pretty dang close to free.
Compare to doing all of this ages ago, where you'd have an 8051 with an expensive, crummy compiler and need a lot more tooling to do anything.
I understand why everything uses custom designed stuff for cost, but I don't get why people think it's somehow the better or more "professional" approach to do everything yourself.
Modular stuff with common high level modules is just so much easier to repair, modify, and recycle.
We need an ISO standard for these little modules so we can get back to vacuum tube era level of repairability.
Nearly all modern gadgets(General purpose computers and phones aside) could be made from a common set of 30 or so modules plus minimal custom stuff.
wat
> JTAGs, ICEs, ROM flashers, UART-based bootloading solutions
Dude, all the popular chips these days are ARM MCUs with SWD. They can be programmed with a $3 ST-Link V2. The most you'd spend on the stuff you listed is $75 for a Black Magic Probe, but of course you can build your own for 1/10th the price.
$0.03 MCUs are the exception to the rule since they use proprietary protocols and OTP memory, but their programmers are still in the $100 range
Very small controllers in a high-power device, like on a motor or a LED, don't have this limitations.
the intersil im6100 was a pdp-8 cpu in 4000 cmos transistors, and the 6502 was comparable, but that's with no memory other than the cpu registers. for a useful microcontroller you probably need about 8192 bits of instruction memory and a few bytes of ram, so let's round up to 16384 transistors for a whole computer. an 8051, with built-in instruction eprom and 128 bytes of ram, was 50k. the arm2 without ram was 27k. an avr, with built-in ram and flash, is 140k. https://en.wikipedia.org/wiki/Transistor_count
at that price, counts of 16384 to 131072 transistors work out to 0.016¢ to 0.13¢. but the cheapest computer you can buy today is a padauk pms150c https://www.lcsc.com/product-detail/Microcontroller-Units-MC... which is 4.2¢ in onesies (and 2.43¢ in quantity) with 64 bytes of ram and 1024 13-bit words of one-time-programmable prom for the program https://free-pdk.github.io/chips/PMS150C. that's 150× more; in the day of moore's law doublings every two years that would have been 14 years, but now it's probably longer. (incidentally this same blog looked at them a few years ago https://cpldcpu.wordpress.com/2019/08/12/the-terrible-3-cent...)
ergo we've been at the stage where the packaging of the chip costs more than the computer inside it since about 02009
(obviously the ryzen 7 cpu costs a great deal more than its packaging, though, because that's what you have to do when you're competing on computrons per dollar rather than gpios per dollar. in theory for 2.43¢ you should be able to get 2.4 million transistors, enough for about 300 kilobytes of rom or a 50 kilobytes of sram, or half that together with a 486 or a quad-core arm3. presumably padauk is not doing this because they're using long-obsolete semiconductor process nodes, which is also why their chips are so power-hungry)
Will be interesting when chiplet technology gets to the point where multiple chips are installed in a plastic package (there are thermal expansion/contraction issues that make this a hard problem but still ...)
The difference between “polling” and “busy wait” is whether or not the CPU is doing other unrelated things between samples.
The difference between polling and interrupts is that with interrupts the CPU can halt entirely while waiting rather than having to take those samples in the first place.
I don't like those small LED candles using disposable watch/button batteries. I use ones using standard AA batteries, which means I can use NiMH rechargeables.
We have about a dozen of these things throughout the house, running everyday. Some on tables, some on counters, some on the wall in sconces.
They turn on and off on their own. Don’t have to worry about a cat knocking one over. We replace the batteries I think every 3 months or so. (Pair of AAAs.)
Yea, easy, safe way to add atmosphere and ad hoc nightlights throughout the house. Modern marvel.
She then drilled out parts of the core of some large candles using a hole saw, and put these LED candles in there.
So now she enjoys candles every evening without the fire risk, poor indoor air quality during winter season and the expense of new candles.
Seems to be that just about no-one are annoyed by continuous lights. And they can be cosy too. Moreover, with fancy new LED technology (sorry for the slight sarcasm) you can even have it in paper lamp shades, or whatever nicely done Art Nouveau creation you like.
Also bought smoke alarms for every room of the house after that (the hard-wired fire alarm in the apartment was heat activated only I guess)
That can't possibly be true - unless of them all died in the same accident?
And here is someone who recorded audio samples (no idea of the year): https://www.instructables.com/How-to-Listen-to-Light/
Edit: and here is maybe the video you were remembering: a video from June 2011 of someone hooking a speaker to listen to the flickering led: https://youtu.be/753-lkao8l0?si=-WqRRuBH644oKTXG But they don't realize this may be an audio chip as the tune isn't really nice or recognizable.
But I'd be interested what OTP tech uC from the article uses. Mask programmed? Fuse-based? Flash? (and if so: erasable?). Something else?
Hey, I got paid to do this a few years back! Here's the result: https://evietealight.com/
They're the sort of thing it's not really possible to show off in a photo or even video. What really gets you (or at least gets me) is seeing these things out of the corner of your eye, flickering, just like flames flicker....
This was a pretty uncertain research project. We didn't know if we'd be able to make really convincing flameless flames. The day I knew we'd got it was the day I brought a prototype home to tune and A/B test against a real candle. I went upstairs to put the kid to bed, then came downstairs and panicked because I thought I'd left the real candle burning. I hadn't! I got fooled by my own product. It was all downhill from there.
These guys are patented (somehow... the language is pretty impenetrable, and it's my own patent...) so I don't mind sharing a little of how it's done: there's an array of LEDs plus optically-active element, which shapes the light in a way that makes it look good. Nothing about this is too complicated (the optical surfaces aren't all that special, but are not trivial to prototype in your garage, at least if you've never done optics before), but there was a lot of R&D to settle in on what looks "right", and the final product has a lot of "premium" touches that really drove up the manufacturing cost. Hence the high final cost -- they really do cost a lot to make.
But they look awesome!
(And thanks Tim for your original article -- I definitely remember reading it during the early research phase!)
Maybe a video wouldn’t convey all the benefits of the design, but lack of video does not inspire confidence either.
Here is a pre-release writeup from Product Creation Studios in Seattle about the development of Evie lights.
https://www.productcreationstudio.com/product-creation-glass...
And, here is a short video clip of Evies “burning.”
https://www.facebook.com/glassybaby/videos/2723369747740357/
https://github.com/ToyKeeper/anduril
I loved this feature on my flashlight and used it exclusively on candle mode. There's a lot of thought that goes into it like PWM speed or direct drive for LEDs that may or may not cause flickering and a tradeoff between battery life and the electronics available.
Edit: The site only exists on the wayback machine now, but there was a hate page [1] for the PicKit3 posted on Dave Jones' twitter some time ago
[1] https://web.archive.org/web/20180423225612/http://www.fuckit...
It'd be a bit comparable to the test and assembly process of the WS2812B, see [0] @ 2:30 or 6:10.
I really, really, REALLY, did I say, "Really" miss the twinkle of old school incandescent blinking Christmas lights.
Each light has a metal spring that heats as the light glows. Eventually, the spring warms enough to move and break the circuit, thus turning the lamp off.
As the spring cools, eventually the circuit is made again, turning the lamp back on, and the cycle continues.
And there is more!
At first, the whole tree is illuminated. Then, one by one, the lights begin to blink.
Soon many are blinking.
Then all of them do it.
Because those springs are coarse and made as quickly as possible, there is considerable range in the cycle times of all the lamps.
Finally, the sustained, faster cycle time happens 5 to 10 minutes in. The lamp reaches a steady state, on, off, on, off, that is very regular.
Please, someone model this, drop it in a little MCU and sell us lights that twinkle, not just blink in some pattern.
If I were to guess, there is about 10 bits of variation needed to really capture what the old bulbs do. 8 bits may be enough, if one ignore outliers, those bulbs with either very short or very long cycle times. Those are rare, but do add to the magic of it all.
Thanks, I am waiting.
It's just a panel of self-blinking LEDs. But they're cheap and low quality, so they start off all-on, sort of in sync, then after a while they're blinking "randomly".
So I think you want an LED string built out of lights like these?
I left something out of my description above. It is complete regarding the blinking behavior. But, there is a pattern of tree limb shadows on the ceiling! And light colored walls which really makes for the best experience.
Notice how the panels Big Clive showed us have a steady rolling pattern? The incandescent lights are not that way.
Because each one works off an imprecise thermal spring, the blinking can range from a mostly on, going off for a short while, with short while being a couple seconds, to almost the opposite! That would be mostly off, illuminated for a short while.
Because the variation is so broad, the blinking pattern tends to jump around. One might see 5 lights change in close proximity, then half the tree, with parts coming back on in chunks, to another couple regions blinking off then on rapidly before the whole thing seems lit for a brief time.
The big Clive units have all LED's blinking close to the same cycle.
His varies mostly in the phase. What I describe varies mostly in the period. Some bulbs blink fast while others are much slower.
Years ago, before animated LED christmas lights were readily available, I hand-made such a string out of ATtiny85 controllers, soldered onto bicolor red/green LEDs, one controller per light. A little bit of C and an evolving animation algorithm recycled from a previous project yielded a pleasing quasi-rhythmic effect. It was absurdly non-economical, but felt like a glimpse of the future.
The flicker effect is based on a linear feedback shift register function to provide a pseudo random effect.
“Reverse engineering” a real candle
https://cpldcpu.wordpress.com/2016/01/05/reverse-engineering...
Unfortunately the original post and code all got taken down due to copyright claims, but archive has a copy:
https://web.archive.org/web/20210615035229/https://next-hack...
Doesn’t seem to be anything to corroborate the PIC12 besides a pinout the author has seen before.
Just mention because there are likely a zillion eight pin MCUs with this pinout/ballout pattern.
I believe it's more like a tenth or hundredth of that, if you're talking about USD.
For a Java applet, it would have just continued on forever with random fuel being added. However, a different application of the 'fuel' for the flame would have had it loop over some period.
The other part is that with animated gifs and a 256 color pallet, one could index the flame color. Roughly for RGB this is step 3 through 0,0,0 -> 255,0,0 -> 255,255,0 -> 255,255,255 (not perfect, but it kind of works for a proof of concept).
And then, the value of a cell is a function of the cells below it in the previous time iteration.
With the fuel rows at some point looping (if written that way), so too would the overall frame loop at some point... and you could have a perfectly looping flame gif.
While that's all well and good, flame gifs are kind of a 90s thing... but my interest in reviving that old code coincides with me occasionally wondering "what could I do if I made a volumetric display?"