Unihiker, an $80 single-board PC with 2.8“ touchscreen, quad-core ARM Cortex-A35
unihiker.com
unihiker.com
Boards need to come with mainstream distro support or with an ecosystem (or both), otherwise it will just die. And with internet connected devices, you can't set-and-forget, so it needs to have live support.
Edit: a RockPi S (same SoC) can be had for $35 and a touch LCD for $11... Granted, it doesn't come with the same integration and headers, and doesn't have a microphone by default, and no RISC-V MCU. But the point of integration is a useful product that stays useful, and it doesn't if there is no ecosystem.
As for 'adding' mainstream support, it takes quite some effort and active ownership. Out of the many rockchip boards and add-ons this is the set that made it to some level of standard inclusion: http://ftp.debian.org/debian/dists/stable/main/installer-arm...
Rockchip notably, great hardware on paper. Try developing something that needs hardware acceleration and it's a paper weight.
It's a common cycle of broken promises to provide drivers by manufactures, rinse and repeat. The exception being raspberry pi or expressif. Depending on the application.
I think I too was drawn in by the performance claims made by those other manufacturers. I realized though that raspberry pi are very powerful computers. We just take the scale of modern computing for granted and our software is the real problem.
I was thinking how I constantly find myself using GPT and Bard to prettify source code. Surely, not the most efficient use of compute.
Like some crude Parkinson's Law joke on more proficient algorithms.
VisionFive2's GPU (from Imatech) is supposedly at least 4x as fast.
RISC-V is inevitable.
For a hobby project I'm trying to find a solution - Power budget for multiple is sub 200w. Need to run inference on a lower resolution video stream (or multiple, that be nice) to do object detection. Cost is a factor because I need to have multiple angles to determine where in relation to a mobile platform the target object is. I'm looking at the Coral.ai board because RPi like boards lack the ability to do ML tasks at reasonable FPS and NVidia seems to have abandoned the lower cost side of the market since the Jetson Nanos seem to be less and less available. (Not that Coral.ai boards are available at all...)
Going to have to dig into the sensors they use - had passable luck with non ML tasks using dirt cheap camera modules from laptops running at low resolutions right up until I started moving the cameras at all and then it became a blurry mess because they were so small their exposure times were high. (I'm trying to also avoid having to put a bunch of illumination near the cameras so it doesn't entirely look like a biblically accurate angel)
EDIT:
* https://docs.luxonis.com/projects/api/en/latest/samples/Colo...
They have a home grown AI accelerator along with free Deep learning SDK.
Also offer a pretty easy online tool (free again) to use called TI Edge AI studio. They are using extending the existing AI solutions that come from the higher performance parts like TDA4 and AM68A parts. Pretty good considering a lot of these manufactures are just buying other AI Ip that isn’t performing great and investing in their own engineering.
nVidia's platform is just a huge mess. I tried to get their SDK running and their own documentation was out-of-date, missing necessary links, and sometimes blatantly wrong. I wasn't going to dump $400+ into that ecosystem.
Google gives up on hardware consistently and has the worst support of any existing software company (effectively zero) and has bungled the AI hand every change they get.
ARM NPUs I am not going to bother with. I can't even get video encoder acceleration working on a non-Pi ARM SoC except for the Rock64 and that is like 6 years old and was missing that functionality for 4 of them.
Intel only cares about its corporate partners and doesn't give a crap about hobbyists in regards to A.I. But their VPU was (is) decent and Oak guaranteed supply for at least until 2025 or thereabouts and built a useable API so we don't have to mess with OpenVINO.
It's all a mess right now but I can't say that competition is bad. It will be nice if we dispense with all the bespoke platforms and agree on some common architecture for edge devices, but I won't hold my breath.
So if you have a thing that has all the data and all the work done on an engine elsewhere and you just need to have a SoC to turn the thing on and off and get the data in and out, that's where a potato-SoC could work. Of course, the potato would need good distro support with up-to-date kernel, drivers, python, libraries etc. and if you're connecting it to the network, best make sure it's also getting patched consistently.
So, as far as ML Potatoes go, that's about it. It is a totally valid question by the way, even if asked in jest.
It's the same situation as all the bitcoin miners from years ago. They mined on the GPU, so the CPU didn't matter as much as how many PCIe slots the motherboard had. The CPU is purely there to drive the operating system and enable the network to communicate with the GPU.
If you aren't using the CPU for anything other than the PCIe slot to enable a Nvidia card for ML, then a very cheap potato makes a lot of sense.
Because a SoC with limited CPU-core resources can't do everything in software, the chip contains many system components (hence System-on-Chip or System-on-a-Chip) that handle things the CPU cores then no longer need to do.
Think protocol handling or memory; instead of spending many clock cycles on handling the USB bus, you can leave that to the USB controller and only deal with what is actually relevant to your USB device. Same with the VOP (Video Output Processor) block, instead of spending many clock cycles on putting the right bits in the frame buffer you tell the VOP that you'd like the background to be orange and then only spend time setting the right bits for black text (for example). So instead of having to deal with many millions of bits, you only have to deal with less than 1% of them because every bit you don't set becomes orange. For other things like I2C, I2S, DMA, networking, cryptography, SD-IO, GPIO, PWM etc. the same applies. Instead of constantly spending time setting the right bit at the right time many times each second, you just tell a dedicated block on the SoC to do a thing in a certain pattern and it will do it for you, consuming on CPU core resources.
This also allows slow CPU cores that wouldn't be able to decode video in real time to offload the entire decoding to a video decoder block, and then tell the GPU part of the SoC that you're drawing a green rectangle somewhere and that's where it has to put the decoded video frames. Why would one do all of this? Because it's cheap and power-efficient, and that's how you make a big pile of money.
I have no idea how accurate or up-to-date this PDF is, but it should at least give you some idea as to what a SoC can do without bogging down the CPU cores: https://dl.radxa.com/rockpis/docs/hw/datasheets/Rockchip%20R... Check chapter 9 for example, all of those boxes are things you don't have to spend CPU cycles on. If you did use the CPU, it would be super slow.
To be totally fair to the up-and-coming boards, the Pi was pretty poorly supported on day 1 and the community did (and still does) a lot of heavy lifting. I’m still waiting for a contender, but I don’t have the time or energy to devote to another SBC.
Despite being a super prolific maintainer of Pi-stuff and related projects I haven’t had a single SBC manufacturer reach out to me and say “hey what do you need to support this?” They just don’t seem to care beyond shoving product out the door and hoping for the best.
As it turned out, I spent a couple of hours messing around a bit with some device tree configuration to make it work with the peripherals on their custom carrier and a bit of `make menuconfig`… and it booted right up on Linus’ tree.
There is no standard Arm ecosystem to boot on which is the real issue - every board needs a custom kernel and booting.
I blame Arm for never cooking up a PC like spec that defines hardware configuration, firmware and booting. This is why x86 is going to stick around for a while - its dead simple to bootstrap a random x86 machine (well, almost).
The main issue is that most SoC vendors just dump a heavily hacked up Linux kernel source intended for Android on you, along with binary blobs (firmware, android hal services, etc.). The drivers aren't in the kernel per se, just enough of a stub for the proprietary blobs to talk to the hardware.
So if the goal is to run a standard Linux distro on the board, you're pretty screwed unless you have the time and resources (or a community) to reverse engineer the android bsp into drivers for the mainline kernel.
The thing that makes the RPi great is that there's actually an entity paying for this development to happen, along with the community. It's certainly far from the fastest ARM board, but even the decade old RPi 1 still gets kernel updates.
ARM isn't to blame; it's that no one company was big enough to set the standard (and let others clone it) for ARM systems unlike what IBM did with the x86/PC, which is not surprising given how diverse ARM's cores are.
The original ARM chips, as in the Archimedes era, obviously ran in things that broadly resembled the other desktop computing platforms of the era.
They had to solve the same problems: deciding which device to boot from, how to initialize the attached grab-bag of peripherals. They also had a long series of models with varying capabilities and integration.
So they must have something comparable to a BIOS/EFI/Open Firmware-- a standardized hardware enumeration and bringup process.
Somehow that disappeared when ARM moved away from RISC OS "desktop computers" and went into the microcontroller world. Why?
I figured it probably either had to do with licensing, or an assumption that an embedded ARM core in some random device would only ever be used with a particular bag of peripherals, so there was no need to rely on conventions.
Currently available on eBay:
* $49.95 for an i5-5300U at 2.3GHz, 4GB of RAM, and 128GB of SSD storage
* $89.00 for an i3-7100U at 2.4GHz, 8GB of RAM, and 256GB of SSD storage
* $135.00 for an i7-5557U at 3.1GHz, 16GB of RAM, and 256GB of SSD storage
...all loaded with ample driver support, extensive connectivity options, and bog-standard x86-64 instructions.
Obviously, there will always be use cases that call for a tiny ARM SoC and nothing else, but plenty of the applications for which people will buy an ARM SoC (e.g., Kodi/Jellyfin/Plex/Emby media centers, RetroArch gaming machines, Minecraft servers, streaming servers, web servers, network filtering, seedboxes, etc.) are better served by a used Intel NUC.
https://www.ebay.com/itm/275777770141?epid=519034385&hash=it...
A homegrown website on re-using thin clients: https://www.parkytowers.me.uk/thin/wyse/z/zx0q/
Of course, I'm still trying to figure out exactly how to upgrade it and if it will replace my trusty RPi4, but I prefer fanless designs where possible, especially for 24/7 usage.
Search tips: look for "USFF" (ultra small form factor), or find a refurbishment vendor like EPC ( https://epcglobal.shop/collections/dell-desktops/price_-100-... ) and then track down their eBay page. Specifically, EPC Pennsylvania seemed to have some very inexpensive deals: https://www.ebay.com/str/epcpennsylvania
It can also help to search for specific business computer models on eBay, as small vendors doing electronics liquidation may just read the model number on the unit, take a picture, and fling it up on the store page in the "priced to sell" price bracket.
https://www.servethehome.com/tag/tinyminimicro/ has a list of small servers they have reviewed, so that can help with getting an idea of a computer's capabilities, upgrade paths, or gotchas (e.g. not supporting more than 8 GB of RAM or something).
[1] https://www.ebay.com/itm/364239987954
[2] https://www.ebay.com/itm/145134550658
[3] https://www.ebay.com/itm/175698509348
And here's a link to the search query I used to find those machines:
$30-150 AUD
The only concern I have is power consumption being orders of magnitude higher than modern SoCs
It didn’t take long to realize how useless the thing was with ARM Debian and absolutely no driver support…
> The UNIHIKER comes with a Linux operating system based on Debian and various built-in features, which will be upgraded from time to time.
... don't expect OS upgrades here. If you want to play with it for a while then put it away forever, go ahead and do it; but if you want to build something long-term, better find a different board.
Does LTS support usually matter, if you're using the device for a stand-alone application such as a lighting controller or front-door camera?
I was assuming that e.g. the lighting controller would only have 3 modes of access enabled:
(1) USB commections
(2) wired ethernet during admin
(3) ZWave via a USB adapter
At the point the software is released it has (hopefully) no known security vulnerabilities, which is a reasonably secure situation to be in.
However, eventually some of them will become known, and that is not safe.
We, as an industry, are bad about pushing "every device that is on the internet needs to be as up to date as possible all the time" when it reality there is a lot of unimportant stuff on the internet.
It's like locks. I wouldn't secure my house with a bike lock, but it's fine for my bike. My bike is less full of important stuff.
At best, that means you're externalizing the costs, i.e. now your device is part of a botnet and becomes a problem for other people. But of course that assumes that it doesn't become a problem for you as well; a compromised device on your network is a great launching point for local attacks and a way to send illegal traffic out through your internet connection.
I have a couple Raspberry Pi Zeroes that monitor aquarium temperature. I keep them updated.
Meanwhile in reality, no one gives a f about the rPi you use for your Guinea pig feeder.
You might get 2¢ in about 40 years mining with my IoT light bulb. Good luck with that.
A pwned IOT lightbulb can be used to help DDOS sites. It can relay DDOS traffic, eating your own bandwidth. It can be constantly probing the other devices on your network looking for vulnerabilities, until it pwns something else and is able to slurp down your passwords and credit card numbers.
Are you seriously suggesting that having an actively malicious computing device inside your home network is no big deal?
https://medium.com/@brannondorsey/attacking-private-networks...
For the kernel, it is important that it protect against dangerous programs running on the system to keep them isolated.
Will this device be able to load any web page in one or two decades? It would likely be slow, but the impossibility would be a pure software limitation.
Because there are no schematics or data sheets posted on that page. Good luck bring up anything else on it…
For something intermittently used like a game box that might not matter. For IoT-focused hardware that is connected to the internet continuously by design where, say, a malformed TCP packet could cause a buffer overflow in the network stack that wiggles it's way into root code execution by chaining through a bunch of unpatched vulnerabilities on a "never updated again" system? That's a problem.
No matter how elegant you seem to be, you'll always be running like half a dozen versions in the wild.
For any large deployment that kind of work will be on your shoulders anyways. Stuffing in security updates or whatever to that isn't crazy
Unless you're saying you want multichannel overlapping upgrade schedules where you have some NxM cadence matrix to test and support (as in ssh x+/-{1,2,3} AND your software x+/-{1,2,3} etc).
I've had to make and manage automated test rigs for those types of deployment as well.
That's an entire room full of whatever machines your deploying and a full time job.
Anyways, this stuff is hard for the out in the wild devices. Putting security updates in a monolithic release package is really the easier way to go and at that point it's on you.
Few years ago, you built a weather station. Sadly, the weather backend you had was discontinued. You found a great new one, and it even comes with SDK and sample code! Sadly, the SDK requires python 3.8 or later. Does your device support it?
Few years ago, you built the home automation server. But recently, you got the set of remotely-controllable disco balls for each room which use FOOBAR protocol. Good news: Linux kernel supports FOOBAR protocol since 5.14. Bad news: your device kernel is much older.
Few years ago, you built the smart controller. You don't want to manage your infra, so you decided to go with AWS IOT, it is super each if you only have a few devices. But AWS announced they are dropping AWS IOT.. does your OS support newer system?
There are definitely cases when you set up the device once and never have to touch it again, but there are also a lot of networked things out there, and you often want to control them..
Second, embedded systems have reliability requirements. Something will not work and will need support and updating to fix. The big advantage of normal distribution is that somebody has probably already fixed it.
Third, devices get repurposed. My five year old Raspberry Pi has had multiple jobs, and when it is done running Home Assistant, I'll find some other use. Plus, with normal distribution, I can easily install the packages I need.
But we got of TVs that are now useless because originally they just needed to "display a simple web page" but:
* no new TLS support, near-everything dropped old TLS
* sites that did not, use CA that's not on the device's list
It is presented as a viable commercial product, but it actually is an old SoC with no ecosystem. If anything, it teaches people not to use this type of thing.
The only way it would not be e-waste is if it had a future, and it doesn't and that's why it's bad. At this price point there are so many community and commercial alternatives that do have an ecosystem and support it's just pointless and most likely an attempt to dump overstocked Rockchip parts. Even an ancient i.MX 6 is a better choice.
It's 4 years out of date at release, why would you want that for "learning and prototyping", let alone start a OEM device with soon unsupported software versions.
Who the fuck would though? If there’s any value an SBC vendor should be providing it is some amount of support for a reasonable length of time.
There’s a reason the RPi is sold the way it is.
I think it depends on what you want to do with it.
If you're building something that won't access the network, or will be isolated to the LAN, then it's fine.
Not everything needs or wants to be connected to the internet.
When I looked into (now deprecated) Jetson Nano I was surprised to find out there was no straightforward and documented way to build your own system and cross-compile for it. Is that because for many people using SBCs means doing everything on the target (e.g. compiling software), or am I missing something?
I’ve also tried Yocto and Buildroot and frankly they’re not that great. Yocto’s build system is so complicated it could take months to fit all your custom layers together to get a working image. Every vendor of every layer has their own conventions and you have to manage patch sets on top of patch sets to get some things working. Buildroot works better but still has a rigid vision for what an embedded Linux system looks like and how it fits together.
The beauty of Linux is that once you get to libc the interface is identical no matter what board you’re using so there’s no reason to build everything from source. And if you want something like Yocto you’d be better off building rpm or deb packages from a basic layer and then using eg multistrap to build a root filesystem.
https://www.unihiker.com/wiki/burner
No linux/macos tool available. No thanks.
Who even develops Windows-exclusive apps these days, anyway? Even the average user these days seems to find it simply abhorrent.
It's so simple to create cross-platform applications these days, there's literally no excuse.
I can't imagine the thought process that went behind this beyond greed and profit, a little mind-numbing.
You simply assumed there is "no excuse" because you couldn't think of one, but you weren't in the room when the decision was made, and don't know the reasonings behind it. My blurb above could certainly have been one of several reasons brought up.
You can choose not to agree with the decision, that's fine, but you're attributing a whole lot of malice to what is ultimately a decision they made based on factors which you are not privy to.
So? I made a Qt-based low-level flashing utility at a previous job. Or do you consider C++ callign C functions not low-level enough?
> You simply assumed there is "no excuse" because you couldn't think of one, but you weren't in the room when the decision was made, and don't know the reasonings behind it. My blurb above could certainly have been one of several reasons brought up.
Just because you did it doesn't mean everyone knows how to do it. And that was my entire point.
Maybe you should offer your services to them.
looking or sounding sad and dismal.
"his face looked even more lugubrious than usual"
It didn't exactly spark joy, which these side project tinker tools should, in my opinion.
Lugubrious, heh.
I anticipate I’ll be using that one semi frequently
For example:
- the Camp 2023 flow3r badge https://events.ccc.de/2023/06/05/camp23-the-flow3r-badge/
- the MCH2022 badge https://wiki.mch2022.org/Badge
- the SHA2017 badge with E-Ink https://wiki.sha2017.org/w/Projects:Badge
- the Camp 2011 badge R0ket https://events.ccc.de/camp/2011/wiki/R0ket
The first three have ESP32 CPUs, not sure how it compares to the ARM Cortex-A35
What a world we live in...
Never gonna let you down....
esp32 has 520 Kb of ram, while this board has 512 Mb!
Well, slightly worse, as A35's are smaller and lower power than the A53's in something like the pi zero-2, but also slower. The devices slight clock advantage probably doesn't make up the difference.
So, its probably a great embedded system, but it should be running something lighter weight than a normal linux distro. Otherwise it becomes like all these gas station pumps, point of sale terminals that all seem to take 10+ seconds to do things that older devices didn't lag and pause with.
> they are microcontrollers optimized first and foremost for cost and power efficiency
ESP32 is only optimized for cost. Other wireless MCU are significantly lower power... they are just more expensive (and tend to have worse docs then ESP32).
Are you sure? I'm plaing around with the deep-sleep mode of an ESP32-3C and it appears to sip almost negligible current.
That reads as "comes with integrated backdoor you may not want." It may or may not be any good from a security standpoint, but it's a risk.
> This is designed as an embeddable component for learning, prototyping, and OEMs.
It's trying to be a lot of things at once. It has connectors on all four sides and no screw holes for mounting, which is a headache when you need to build it into something. That layout started with Arduino, continued into Raspberry Pi, and continues to be a headache. It's fine for desktop prototyping, not good for deployment.
Note how vague the site gets when they talk about applications.
There's three nuts soldered on the back: https://www.unihiker.com/wiki/dimension
>That layout started with Arduino, continued into Raspberry Pi
Pre-2010 Arduino boards had three 1/8 inch mounting holes, post-2010 ones had four: https://blog.adafruit.com/2011/02/28/arduino-hole-dimensions...
The Raspberry Pi 1 had two mounting holes located in stupid places, but the Pi 4 has four: https://www.robot-advance.com/userfiles/www.robot-advance.co...
>Note how vague the site gets when they talk about applications.
It's a DFRobot product. I used to work for a company that distributed DFRobot products in the US, and this is broadly consistent with their corporate philosophy. Their designers crank out thousands of products to keep ahead of other Shenzen companies who are fast-following them. (Notably Seeedstudio) You can view their full catalog here, and it's quite the sight to see: https://www.dfrobot.com/category-48.html
They generally take the OEM reference design, put it on a pcb, and add connectors. The API will be minimal. Compatibility is a joke. (For instance, they make no effort to avoid I2C address collisions-- how could they, when most of them are hard-coded by the device vendor, and they only make the PCB? You have to be careful when stacking several different Arduino shields, since they'll very often be talking on the same pins. There will be no warning of this on the product page, of course, so the end user must carefully examine the board schematic. Etc etc etc.)
When I was working with them, I had the impression there were maybe three people who spoke English at the company, and they spent most of their time writing product pages. Email support was hopeless, and their forums were the usual mess.
DFRobot products are best thought of as a convenient way to get a sensor or microprocessor without having to design and reflow your PCB. If you don't like reading manufacturer datasheets, then you won't like DFRobot. They're not legos, and they're far from the kind of integrated product family you'd expect from a US company.
The unihiker.com webpage has a California startup website aesthetic, so you might expect a small company built to support this one board, but DFRobot literally has dozens of SBCs just like this: https://www.dfrobot.com/category-184.html I would be surprised if they even have one person dedicated to this product. An easy guess is they're already moving on to the next board launch, with yet another small ARM chip from another vendor.
Oh, is that what those round things are. From the picture it looks like they're big pins.
That's a very accurate description of DFRobot. I like their products though. My philosophy for my freelance gigs is that if I have to custom-design hardware, I'm doing something wrong. Hardware development has become a sucker's game. So companies like DFRobot that basically give me "a function on a PCB" get my money. That $10 product can save me days of work!
https://www.unihiker.com/wiki/board-overview
Looks like a neat board, I could see making expansion modules that plug into the bottom and running like a IR blaster or other stuff off the SPI/UART bus.
They really bury the lede here, awesome that there is already an ecosystem that exists for the edge connector.
Edge Connectors Pin numbers are compatible with micro:bit, 19 independent I/O (Support 1 ×I2C, 1×UART, 2×SPI, 6×12-bit ADC, 5×10-bit PWM)
https://www.unihiker.com/wiki/specification
Note: The edge connector on the back has no electrical connection.
Of course, applications would respond shit slow this way, but in the case of a DB it'd be more than fine, no?
E-Waste in less than three years!
I've not gone through the other components but this probably doesn't take too much time to get to full mainline linux support.
Basically I'm looking for
1) a homeserver board with low energy consumption, m.2/sata, maybe a usb3 port and fast ethernet
2) a lightweight desktop with hdmi/dp, usb c, m.2 and good software support (media codecs anyone?)
3) something cheap for projects the "cheap" pis, esp32 and so on are my go to option
For 1) and 2) I'm looking at cheap pi4 compute module boards... but tbh is the pi4 always short of being good enough
I also wonder if they'd even know what to ask.
He's been leaning heavily on the repl.it Copilot thingy, so it's more autocomplete than code blocks. He uses ChatGPT for working out error messages.
Person A: I just used AI to make my own website, you're gonna be out of a job soon.
Person B: Oh? Let me see it.
Person A: Here it is C:\Users\Bob\Desktop\index.html
If you can already code, then GPT can ramp you up on a new project faster, or accelerate and existing project
I was raised with (80s/90s); never break the public api unless you have to and make a migration path if you do; now it is ‘let’s definitely break the public api, with any minor version change and just waste everyone’s life fixing it, we don’t care’. And gpt doesn’t know this. It usually does make up code that’s close to correct and relatively easy to fix though, but you need to know how to read the docs and not panic that actually everything is spitting errors.
If you ask it for C, Java or vanilla js it fares better but there you suffer from the memory window; now with 16k tokens, we are seeing massive improvements. The api deprecation (read; we just throw away or change without warning) issue remains and is a huge issue; I cannot even see how they would properly fix that in LLMs. They are going to have outdated versions in their search space; how do they know to ignore them? And next to that there are the hallucinations.
To me, it's like a junior developer I have to coach constantly.
The result is definitely not something you'd want to maintain and probably has built in inefficiencies and edge cases I don't know about but it did it's job, which was to do the thing I wanted it to do so I can go on with my work.
Sometimes I think “you can tell this part of my code was generated by ChatGPT because it’s actually good, unlike the rest of it”
Of course it’s likely to make subtle mistakes that are hard to debug if you ask it to do anything complicated because it can’t test its own code (well, I’ve heard something about a code interpreter in the Plus version but I don’t know how well that works)
The problem was that there were breaking API changes across versions of the library, but it was just using probabilities of method names being correct, and it didn't ask me or tell me which version of the library it was targeting, so it was just a mismash of incompatible code.
But the code LOOKED good and the AI was confident it was a good answer. Overall, it felt like wasted time sifting through confidently-wrong answers.
it works ok as a starting point of " I have no freaking clue how to approach this" to "ahh I can see how that will work" and then you go write your own code with the lead.
You will feel a world of pain when there is some bug, and it will take you 8 hours to figure out the issues so that you can turn your lights on. The simplier, the better for these kinds of applications.
I have a Star Wars clock from the 1970s that has a ton of empty space in the base. I want to put a small computer in it and replace the 3" clock face with a round screen, so it can show the time and maybe some fun Star Wars animations.
But I just don't know how to find a 3" round screen without buying 1000 of them from China.
How do I get just one 3" screen that I can attach to a Raspberry Pi or equivalent linux computer?
One of the demo applications is a clock, but it shouldn't be difficult to load a bitmap.
with the touch layer it is bigger than 2.8" but I bet that can be removed.
One comment there also links to aliexpress for a 2.8" hdmi screen but that one is more expensive
Only 512 MB RAM is a bit limiting in 2023.
If I want to program and debug real-time routines in the coprocessor, rather than using the built-in userspace drivers, how do I do that?
More like an Android tablet than a phone.
I've literally found nothing that fits the bill, they're either thick tft lcds, lack touch or have stupid peripherals. I just need to make a digital badge but I feel like I'll have to build it from scratch myself.
How is it phone screens are <1mm much of the time but the only boards with a screen I can find are >3mm thick (often like >10mm). What happened to miniaturisation...
https://www.seeedstudio.com/SenseCAP-Indicator-D1S-p-5645.ht...
If you get a old iPhone and buy a replacement battery still more than likely be cheaper than buying a Rpi + screen + lipo-hat + battery.
I don't know what home assistant is, but these will run C++ or MicroPython just fine. My application is an industrial controller and they are really nice. Dirt cheap at around $30 each shipped (arrived in just over 2 weeks) to USA.
[edit] They have very little I/O since the display is driven in parallel mode and that takes up most of the EPS32 pins. There's a SPI connector and a couple other pins that could probably be redirected for I2C. I haven't gotten around to to checking that. I did use one of the available pins for serial input to read a GPS module and that was trivial to setup though.
I do my development in VSCode using platformio with the Arduino framework and FreeRTOS. It is really convenient to have the same os and framework used for all the MCUs of a project. That's why I use the 2$ stm32 instead of a 1$ stm8.
My application was an HMI (using LGVL) for a device I'm building to order, but I've since decided that I don't need touch input and thus can use a much smaller display.
The devices however, are cheap and really nice for the $30 price tag. Having such capable, easy to use hardware at such a low price point opens up markets that couldn't feasibly be served before. There are a lot of people who need one-offs or very small quantities of devices that can't withstand a 5- or 6-figure development cost. When that cost drops to low four-figures because you can use the Arduino ecosystem, then the cash flows.
Sell the stuff you are not using. It is ok to leave one thing that you wish to tinker with in the future, but it is not advised. While we're at it, a clean up of files on your computer is also way overdue. I should not mention hundreds of opened tabs in your browser.
This is a platform, if the things you want to do are possible with the entire stack of Debian, the pre-existing touchscreen menus, the PinPong Python libraries, etc. then sure, use this...but that's a lot of wasted efficiency and a very large dependency.
The STM32F4, for example, can be configured to enter deep sleep and run for a long time on a battery. This likely cannot.
It seems like the smaller it is, the crazier people get.