This is nice. This is a simple, straightforward design, and a reasonably convenient form factor.
Two biggest limitations are RAM and wireless interfaces, or rather lack thereof. This thing has less RAM than my router (admittedly a $70 box), and has neither WiFi nor BT. It does not seem to have many GPIO pins, too.
With the amount of RAM installed, it's mostly a handheld terminal, and maybe a handheld console with emulators for old games.
While this is admirable as a proof of concept, I suspect that moving the price point up to, say, $30 could give a much more useful and hacker-friendly device.
I greatly appreciate the split keyboard and the replaceable NiMH batteries, though.
Well said. It's a great project and impressive execution at $15!
> While this is admirable as a proof of concept, I suspect that moving the price point up to, say, $30 could give a much more useful and hacker-friendly device.
I agree. I think this project proves that ultra low cost is viable. Now relaxing the constraints a bit to add RAM and WiFi could iterate it right into an optimal spot.
I wouldn't want to go much farther than RAM and WiFi, though. It's too easy to let these projects turn into a slippery slope.
I think we've already got a pretty powerful computer at around the 40$ price point (the raspberrypi), and I feel like it'd be impossible to beat it given the scale raspberry pi is at.
I fully agree with everything that has been said in this reply chain. It is easy to get caught up in the "well, for just a few dollars more..." loop, and forget all of the accouterments that this includes, which are cheap but add so much to convenience.
The screen alone is going to triple the price. A 3A boost/buck converter to power the Pi from a battery is not going to be cheap, either. You could probably cobble a few 500mA ones together and hope everything plays nice, but that's a large footprint.
If the pi actually is being used it'll definitely draw 2.5-3A, so a 2Ah battery won't last very long. I'm not really up to date on li-poly (the flat pack lithium style batteries), perhaps there's some that would be ok for a handheld with ~3A or more of draw, but again, it's another $20-$40 for batteries that are usable for a handheld. There is the pi arcade hAT or whatever, that's about $15+ iirc. 3d print a case, if you already have a printer that's just time and materials, otherwise you're gunna pay $20 for a case design and print that actually feels nice, again.
At a certain point, the steam handheld device might be a better bet, since it'll have a warranty (don't laugh!) and a support team (okay laugh a little).
All of this could be irrelevant because perhaps the pi zero does everything people want, and that's dirt cheap and also probably uses way less power.
> A 3A boost/buck converter to power the Pi from a battery is not going to be cheap, either.
LM2596 costs <$1 and it powers my rtl-adsb for 4 years so far (yes, this is in step-down mode, but you either want a 2S/3S battery anyway, or you use the similar step-up chip).
I am not doubting your claim, but it makes me wary since all the "cheap" wallwarts that claimed "2.5A" and now "3A" ran about $10, whereas the official RPI wallwart is double that (maybe $18), and a really awesome 5V PSU that can run two rpi at full TDP costs between $35-$120.
I have a bunch of "QC3.0/3A Buck converters" for 6-36VDC to USB-A, maybe i should try to run a pi on a SLA Gel 12V battery.
I think MEAN WELL LRS-50-5 (5V/10A) can easily run 2 or even 3 Pis at full power and costs $13 ($15.5 incl. VAT) at EU reseller. Or is it not "awesome" enough?
The RAM is embedded in the CPU - the slightly-more-expensive F1C200s doubles it to 64MB, but going beyond that would require a fairly significant redesign.
I don't disagree with you on the wireless, it would be nice to have built-in. But, all the same, there is a USB port, so it's at least possible.
I don't need wireless on something like this. Sure it will help in some cases, but if you need wifi connectivity, then you can usually use a full laptop while lounging on a couch. And you do not really need this. I am sure most people even considering something like this have a wifi enabled laptop already.
This would be great for plugging in in random places and making sure things work and initializing/configuring/troubleshooting various devices that for some reason cannot be reached over the wifi.
As far as complaints, I would go the other way -- why does it not have an Ethernet port. Yes you can use an Ethernet to usb adapter, but it would be so much more convenient if it had a port.
Enough for Tmux, busybox, SSH/Mosh, Lynx, Gopher, NNTP, IRC over bitlbee, music and video playing
over Bluetooth speakers, PDF readers (fbipdf, fbpdf2), epub readers (unzip+lynx script), on the go coding...
Would you really want to code on this tiny screen though? I guess some people would, but you'd probably be a lot more comfortable even on a 12" or 10" laptop/netbook.
Oh ofc this is not "practical", but projects like these are always fun to see, how much something can be scaled down, that it can be in some cases be viable (think washing machines) to be a full linux-powered computer.
A forth env fits in 64x16. Nethack has a patch somewhere for low resolutions, from the zipit z2, based on the 3.4.3 release. If it works on Nethack, Slashem
should be easily patchable, too.
Coding... what? Coding on other retro technologies? I guess if you enjoy working on system software sure, but if I can't even allocate enough memory to hold a large-ish JSON payload in memory, then I'm not going to be able to do much with the system. Only protocols like SMTP or NNTP are built around the ability to parse with minimal overhead (and even they can have large line lengths.)
Eh, wait a moment. I did several fun stuff with just CLI and C/tcl under the zipitz z2. Even with TLS. You understimate what we did in the 90's too with just 32 or 64MB of RAM.
Jabber uses XML and I did it fine under a system daemon like Bitlbee AND an IRC client on top of that. 48MB overall on the Zipit z2, 32MB + compressed ZRAM. The total usage was about ~16MB with a tiny MUSL build, tmux, ash, bitlbee and sic.
SMTP, NNTP, Gopher... are protocols for 16 and 8 bit architectured computers. Go figure.
A Classic Mac with System 6 could do IMAP just fine, jcs wrote a client for it.
Sure I'm not saying it's not possible. I did stuff in the 90s too. But usually you had to put a lot of effort into arena allocators and reusing pointers. Also lots of software then was pretty jank and would just segfault and errnos we're often not handled.
in the 90s i remember waiting 15-30 minutes to send an email. maybe revisiting some of these super low end devices would be worth it now that fiber is ubiquitous.
Unlike an RPi, this thing has a screen, a keyboard, a sleek case, a battery compartment. What are other devices that have these all, and cost, say, under $40?
These little game things are $40. I have one. They use an old style removable cell phone battery and have a screen that isn't great (320x240 though similar to the one described in the article). It runs linux but Lamentably I don't think its easy to install your own version.
Have one too, got it at £27 with delivery, very nice hardware (especially with the custom miyoocfw firmware installed). If a device like this, with perhaps slightly larger screen & wifi, was integrated with keyboard (like the rpi 400) one would have killer device for nerd-working/gaming on the go.
$15 is BOM cost, so ~$30 after assembly and ~$60 including margin for manufacturers and resellers. I don't know of anything that has both screen and keyboard at that price, but the $45 M5Stack has a screen and the $70 Raspberry Pi 400 has a keyboard.
USB dongles piss me off; specifically the Logitech Mouse USB dongles:
Why the heck hasnt a single manufacturer included the USB Dongle radio IN the mobo?
So with slim laptops you have few USB ports.
I currently am typing this on an HP Omen flagship gaming laptop... It has ONE USB-C port, which is under-powered (I have a USB-C Hub, that requires an external USB-C Power source... so I have to plug the uSB-C Hub into my machine's C port, then plug the power USB-C <--> USB-B port consuming TWO of my USB ports on my machine...
I plug in multiple USB-based monitors as well - and I can carry it all in my backpack...
But we need MORE USB ports than fewer... and Mice should not consume a port.
BT mice have never been subjectively responsive enough for me. For example, I can test-map-out my BT environment in my home by connecting to the BT speaker and moving around and it skips....
> Why the heck hasnt a single manufacturer included the USB Dongle radio IN the mobo?
USB radio dongles are not standardized, that's what Bluetooth is for. (There used to be a Wireless USB standard but it was never widely adopted, and it has fallen out of use altogether.)
There are USB-C power bricks that also work as hubs, so you're not wasting your only USB-C port.
Ive never purchased anything but Logitech, to ensure all of my mice work, so they are pretty standardized to me.. but again I may be a minority in this opinion...
Well yes, they may be "standardized" within one brand, but that isn't standardized. Why include a Logitech mouse/keyboard radio in a mobo when the one making the mobo isn't Logitech?
> BT mice have never been subjectively responsive enough for me.
Anecdotally, I've experienced very few issues with the Logitech MX Master (both the original and v3) on my Mac via BT - every once in awhile (often enough to be aware of it, but infrequently enough that it's not something I'd consider a problem) the original would cut out for a few seconds, but other than that it tracked perfectly, and I haven't even had the periodic cutting-out issue with the Master 3 (yet; I've only had it for a little over a month now).
Of course, this is dependent on the BT implementation of both the mouse and PC being used, which is something to take into consideration (I've had way fewer BT connection issues in general with MacBooks than with any Windows laptops).
My Logitech BT mouse works pretty well. I only notice one thing that's "special" about it and that is that it takes about 2 seconds to connect. As a result, when I first unlock my machine I'm spinning the mouse in a few circles until the cursor comes alive. Once it's alive, all is good. It's weird all these little things we learn to live with.
> BT mice have never been subjectively responsive enough for me.
I wanted to like Bluetooth mice, but they just didn't work out for me. Some of the wireless mice these days are dual mode though; can run with proprietary wireless or switch to BT to avoid the proprietary dongle (some of the proprierary dongles also can act as a standard BT dongle, if your computer doesn't already have one). I know there was a line of mice that did wifi instead of BT too, because that makes sense.
How so? (I also have to carry devices occasionally for work with stuff like nethunter (pentester)) and I can’t imagine replacing the flashed pixels/galaxies I use for that with even some 40 euro…. Thing…
idk but relying on USB in something with only 32MB RAM sounds potentially cumbersome. Besides a device like this is the intended use case for original ESP8266 so that's probably the way to go.
It only has one usb port. If you want to use the port for something other than wifi, then you would have to add a usb hub that would cost more and be dangling off.
I have the intuition that integral wifi is table stakes for a general computing device.
> neither WiFi nor BT
I understand having WiFi, it'd be great for a small device like this. But why would we need Bluetooth? It only has 32MB of RAM so I doubt you could get any music running on it.
A standard mp3 runs about 1MB per minute. You should really only have to buffer a couple seconds if you're streaming. If you try to keep a 4 second buffer your going to be somewhere between 40 and 70kb (this thing also has an SD card so you could keep a much shorter buffer if it was local.)
It really doesn't take much else, you'd need a tcp stack where most of the memory usage is buffers. Maybe 15-30 kb, and you'd need to load some player into mem as well.
There are tiny embedded devices all over that have music running on them. I've seen lightbulbs and light switches that can stream music.
Idk why everyone thinks it takes 500mb to play an MP3. Maybe because the vast majority of compute power these days seems to go to all the shit the app puls in to sell ads and native programs are all just electron apps but it really doesn't have to be like that for most functions of a computer.
I played MP3 files in realtime on my old Pentium 75 with 16MB of RAM with plenty of CPU and memory to spare. This thing is way more powerful than you need for simple music playback. Getting audio out however may be a challenge, maybe USB speakers?
This chip is clocked over 7 times higher than my old Pentium, and it's not like the Pentium was massively super scaler. I'm not sure how the IPC compares, but I can't imagine that ARM is that much worse than a mid-90s Intel chip.
> Surely an ESP32 should be able to run Linux. Then you would get Bluetooth and Wi-Fi.
Yes, but it wasn't easy, and only recently achieved. [0][1][2][3] Unfortunately, for both those examples, the WiFi module itself had to be disabled so that Linux had enough memory to function.
Though, of course, they should be able to do something like my favourite tiny Linux board, which wired in extra RAM. The 8bit Atmega [4], that only takes 4 hours to boot Ubuntu.
Interesting, so linux was ported to RISC-V architecture, and there's a RISC-V emulator that runs on ESP32. I guess this means all the virtual memory is emulated. I think the more interesting step is if the successors to ESP32 have virtual memory. In the meantime, I found playing with freertos on esp32 lots of fun.
ESP32 is a microcontroller with tiny amounts of RAM and flash storage (smaller than any 386 machine). It's not going to run anything close to a "real" OS. You'd want to do the opposite: use a machine like OP's for near bare-metal programming, where the only things it's running are a minimal kernel and a custom init binary with your actual, single-purpose app. That way you make the best use of a limited amount of RAM.
You can get similar type of modular RISC-V + Linux systems on AliExpress if you want to do something closer to what OP is doing. Lichee is one of them who seem to have a crazy number of modules (I've not tested any of them - they could well be total junk), including also ARM boards and FPGA boards.
ESP32 is a custom CPU architecture... But they recently released an ESP32 varient with a RISC-V core. Still don't think it has an MMU though, which linux requires.
Two biggest limitations are RAM and wireless interfaces, or rather lack thereof. This thing has less RAM than my router (admittedly a $70 box), and has neither WiFi nor BT. It does not seem to have many GPIO pins, too.
With the amount of RAM installed, it's mostly a handheld terminal, and maybe a handheld console with emulators for old games.
While this is admirable as a proof of concept, I suspect that moving the price point up to, say, $30 could give a much more useful and hacker-friendly device.
I greatly appreciate the split keyboard and the replaceable NiMH batteries, though.