Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.


RasPi isn't a handheld though. And AFAIK there's no off the shelf case designs as nice as this.


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.


Raspberry pi is just the motherboard. Add in a screen, power supply, keyboard and case, and that's going to inflate the total cost.


Is there a kit that adds all the stuff needed to make an rPi into a battery powered hand-held device?


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.


320x240 with a 5x8 font is 64x30 characters. You could make it work but it wouldn't be comfortable.


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.


That's because of your ISP, not the client. You could send mail by telnet in less than a minute.

If you meant early-mid 90's, that's true.


I would imagine at $30 it would have to compete with other devices already built


Which devices?

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.

https://powkiddy.com/products/powkiddy-v90-3-inch-ips-screen...


If you haven't already, please do yourself a favor and check out the Miyoo custom frimware for the v90 - https://github.com/TriForceX/MiyooCFW

It makes a fun little device that much better. Plus it's a good starting point if you want to try doing your own Linux stuff on it.


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.


Is it possible to load Pico 8 on that thing?


I haven’t though I just started doing some pico8 development. It would seem almost ideal for those kind of games.

It seems like you can. Pico8 does have a raspberry pi (ARM cpu version) Through retro-arch? I’m not sure how it all goes together.

https://retrogamecorps.com/2021/02/01/review-powkiddy-v90/am...

This is an unofficial player.

https://github.com/jtothebell/fake-08



Looks terrific for the price. Lacks an integrated keyboard though!


$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.


An old android phone with a bluetooth or USB keyboard?

The display on this thing is the biggest limitation. 320x240? Is he fucking joking?


As long as wifi over USB is supported, why overcomplicate the core hardware? Sell a dongle as an add on option and make a little profit from it.


Completely an aside:

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....

/rant


> 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?


Uhm, you know how many sub-chipsets are from different OEMs on a mobo?


> 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.


Because the point of something like this would be to be completely self contained. A shell in your pocket.


But but… you have a phone in there too… Which even on iOS has decent ssh clients.


That's not the same thing. A shell box on a phone works for some things but it's not the same as an actual client. This has a keyboard as well.


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…


A minimum viable computer w/ integrated keyboard & linux etc.. + use phone as the display.

That seems like a winning combination!


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.


> It only has 32MB of RAM so I doubt you could get any music running on it.

Get off my lawn. With 8MB of RAM you could run Win95 AND a MP3 player.


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?


MP3 already made such a PC sweat though. I doubt it could play 256 kbit AAC, and forget about HE-AAC or FLAC.


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.


FLAC would be easier, maybe. But at minimum it should be played on a MMX Pentium.


I always figured “Multi-Media eXtension” is just a marketing fluff but 20 years later here we are.


I doubt it has the memory capacity or bandwidth for a lossless format like FLAC.


Pentium 2 + 32MB of RAM should be enough.


What? I played music perfecly on 16MB and an ARMv5 musl build of Linux+Busybox and mocp.

ZRAM did magic expanding the RAM to 24MB.

And under text mode you can do lots of things. With a framebuffer, say hello to 420p videos, PDF's and some web pages with images thanks to links -g.

You must use tmux+ash as your "interface", but it works.


I'm old so I'll just say that my Amiga 500 had 512KB of RAM, and it played really cool music!


You had 512KB? I had 64KB. If the machine booted to BASIC, it had exactly 28815 bytes free.

I could play music. Not waveforms, but MIDI-level.


An MSX machine?


Bluetooth:

- Direct file transfer between devices, with simplicity not comparable to wifi.

- Easy connection to the internet using a mobile phone (likely even the cheapest feature phone).

- Connecting a mouse (and maybe an external keyboard).

- Connecting a 2FA security token (may be important in the SSH terminal capacity).


IIRC many of the cheap mass-produced WiFi chips tend to just do BT as well in the same chip.


iPod had 32MB RAM and mostly for cache...


Bluetooth should be treated as a threat at this point.

Its used in so many tracking methodologies for BT Unique IDs tied to real humans...


Surely an ESP32 should be able to run Linux. Then you would get Bluetooth and Wi-Fi.

After all Linux used to run on 486, BSD ran on 386.


> 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.

[0] https://twitter.com/xiaohui10556190/status/14163071689916047...

[1] https://whycan.com/p_66202.html

[2] https://www.cnx-software.com/2021/07/18/linux-5-0-esp32-proc...

[3] https://www.reddit.com/r/esp32/comments/dtlj7n/booting_linux...

[4] https://linux.slashdot.org/story/12/04/02/191203/gnulinux-ru...


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.


There are also ESP32 variants that are native RISC-V (but not with MMUs)


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.


I don't know about Linux, but how about a (really early) BSD? https://www.cnx-software.com/2021/01/27/mini-replica-of-dec-...

Granted, that's going through SimH; it would be interesting to see if retrobsd or litebsd could be ported to run on ESP32 natively.


Kind of: https://hackaday.com/2021/07/21/its-linux-but-on-an-esp32/

Main issue with Linux on an MC is lack of MMU, though YMMV


There have been Linux distributions that ran on machines without MMU. For instance μClinux, see https://en.wikipedia.org/wiki/%CE%9CClinux


What about this one?

https://www.96boards.org/product/orangepi-i96/

Price isn't much higher than most ESP32 modules, and it can run plain Linux.


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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: