How do you create it?
Uhm, by writing software that does what you want?
So Iâve been contemplating the Proffie Master Board again recently.
I have some small linux things board that could do the job, like a Raspberry Pi Zero 2 W for instance. Making it run linux and program proffieboards is not hard.
The harder part is communication and client protocols. Ideally, I would like the client to use a browser to do all the configuration and setup, otherwise I will need to write clients for linux, mac, windows, android and ios, and possibly more with the x86/arm split.
I know enough about network protocols to know that this is unfortunately not easy. There are zeroconf solutions, but those only work after both devices have already connected to the same network.
There are BLE solutions, but browser BLE support is spotty in browsers, and generally somewhat slow.
Most real-world solutions I know of involves having the device open up a wireless network access point and then having the phone connect to that, either automatically, or through a bunch of manual steps. Either way, doing this tends to mess with wifi connectivity, and getting it to work on all OSs is a pain in the behind.
Regular bluetooth can possibly work. Itâs not blazing fast, but probably fast enough for our needs. Some sort of client software is always going to be needed thoughâŚ
Other crazy ideas:
- PPP over SPP using slirp
- Use bluetooth tethering
- give up on wireless and use a usb cable
- punt on the problem, build the rest of the system and solve this problem last
- use ble to configure which network to connect to, then use zeroconf afterwards
- Just write one app, and ask other people to port it to other operating systems.
Ok, so why am I ranting about a bunch of network protocols?
Well, there are a thousand billion internet-connected devices out there, many of which donât even have a screen, or buttons. So how do they do it? What devices have you guys come across that just work? Most of the ones Iâve used work poorly. The one exception Iâm aware of is chromecast. Unfortunately, the model chromecast uses isnât going to work well for the PMB, because the PMB is expected to work out in the field, while a chromecast is permanently installed in your home.
Ok, so maybe I have an idea that could work.
The idea is basically to use WebBLE, similar to the ProffieOS workbench. (but without the fake serial stuff.)
However, fonts and other large things would not be transmitted over BLE, instead the PMB (Proffie Master Board) would have itâs own access to the internet through wifi. Wifi access wouldnât be required to reprogram a proffieboard, it would only be required if you wanted to add new fonts or ProffieOS versions that arenât already on the PMB. The WebApp that controls the PMB would have a tab for connecting to wireless networks. When using it out and about, you could use wifi sharing on your phone, and have the PMB connect to that to give it full access to stuff.
One potential complication is that this might not work well with captive portals. Not sure how bad of a problem that would be though.
Font managements gets a little weird this way though.
But maybe we can have the fonts stored in google drive or something and have the PMB fetch them from there?
I just got the style editor to fetch fonts from GitHubâŚ
Not sure if thatâs relevant here though.
Is that so you can hear them play while youâre working on styles? I use that in Fettâs library and it would be cool if it was in the main editor
Yeah. Itâll come with a default font loaded, or you can choose one of your own font folders and go.
This sounds like a great feature, when will this go live.
Iâve been reviewing boards that could possibly work for this.
So far, the prime candidate is the Raspberry Pi Zero 2W. A lot of the other small available boards have problems like:
- no wifi
- no ble
- mips or risc-v (not a dealbreaker, but arm is easier to find pre-compiled binaries for.)
- Only runs some off-beaten track linux distro, like OpenWRT
Unfortunately, the Pi Zero 2W wifi seems to be busted in some way, because I canât get it to connect to my wifi, which is not great⌠Googling has not been helpful so far.
Maybe this thing could work:
Itâs actually small enough to fit in a saber (31x18mm), can run linux, supports wifi and BLE.
Itâs not particularly fast, so it that might end up being a problem, but it looks interesting enough to order a couple. (They are pretty cheap.)
It could also be placed directly in a saber. Might be easy to build a carrier board for it with the motion, sound, sd card, and FETs.
And yet another contenderâŚ
The Orange PI Zero 2W.
https://www.amazon.com/Orange-Pi-Zero-2W-Allwinner/dp/B0CHM7HN8P?crid=7LC077FPH0K1&th=1
Very similar to the Raspberry PI Zero 2W. However, since I currently canât seem to get the RPI to connect to wifi, the OPI might be a better choice, and maybe for now I can keep everything fairly generic, so that either one will work.
As I keep puttering around with this, one question keeps coming up in my mind: What should this thing look like? It would be cool if it looked cool, right? Inspired by something in-universe? But what would that be? I suppose it would be somewhat amusing to make it look like a tricorder, but the cross-universe dissonance might make my head explodeâŚ
How about the fabled protosaber?
Then you could wire it to a saber as well.
That seems very suitable, at least to draw some inspiration from!
Although, building the master board will have a lot individual parts.
Maybe I can get help working on some of them⌠like case design for instance.
I think I could help with that, once a board (with dimensions) is selected.
Itâs very likely that there will be multiple designs for this, with different boards, different battery setups and so forth. Ideally the master board code will work with as many linux-capable single-board computers as possible. Basically, Iâd like to start with one (like the OPI Z2W), but as time progresses, weâll support additional setups, hopefully using smaller and smaller boards until they fit comfortable in a saber.
Right now, I think the raspberry/orange/banana pi zero * w boards is probably going to be the best option. There is lots of OS choices, lots of software available, and multiple boards with the same form factor. There are also lots of available cases for these guys already, so we donât have to make something new if we donât want toâŚ
Protosaber is a cool choice.
Holocron?
Jedi holocron | Wookieepedia | Fandom
Could prob get one off of the shelf and repurpose it.
Not a bad idea, although perhaps a bit bigger than I would prefer myself.
Ha, yes. You could out a little server room of pi zeros (looking at one now) in a holocron.
It might fit into QuiGonâs communicator, and with that thought I discovered:
Finally found an example for how to set up a BLE GATT server on a linux machine that actually works! Not only does it work, but it works on the Orange PI Zero 2W, which I think means it has all the minimums for serving as a Proffie Master Board.
Next step will be to hack up a minimal proof of concept, upload it to github, and then iterate until we have something that works. At that point it might also be possible for other people to help if they would like to do so.