-
Small tweaks
08/18/2023 at 20:25 • 0 commentsCouple small tweaks. The bare wire on top was bothering me, so I put some more velcro on there to secure it. Bonus: it kinda looks like some greenery planted in a fresh plot of dirt!
Also added a usb port and a charging status LED to the spot in the back of the case that was already there for when it was a keyboard case. Eventually I'll also wire the data from that port up to the RPi.
-
Hardware is done!
08/09/2023 at 20:41 • 0 commentsEverything is mounted, wired, and working perfectly!
Here it is, happily charging in the sun. I used some cheap phone kickstands on the sides there to prop up the lid when open, and the mustache velcro strip in the middle front is so you can move the solar panel for the best angle while open.
I was worried about getting the power boards set up, but those ended up being pretty much plug-and-play. They also don't generate any noticeable heat while charging, tho I've only tried from USB and the solar panel. The charger board can take up to 10V DC, so I'm guessing if I plugged a wall wart power adapter into it then things would probably get pretty hot, though that's not really part of it's use case.
Had to diy a couple usb cables to fit in the space. Couldn't find one from my stash that would fit without tearing all the molding off. So I did that, and wired them up to the appropriate places. (Please excuse my soldering crimes.)
I also tweaked the keyboard firmware since the last update to set a max power usage of 50ma and poll less frequently. Haven't tested the power saving, but it hasn't affected the keyboard performance to any noticeable degree.
I'd like to cut a notch out of the right side of the lid so the lid can be closed over a usb cable if charging off that. I'd also like to put an LED charge indicator somewhere on the outside, so you can see the status while it's closed. But these are both small tweaks for the future. For now, it's perfectly usable as is, so I am calling it 1.0!
-
Mounting Enthusiasm
08/02/2023 at 20:36 • 0 commentsHere's all the empty nuts. The bottom right was going to be for a small usb hub, but space was too tight, so I decided against it. Instead, this will be where the extra solar panel power cable can be coiled. Unfortunately I drilled a couple of the holes too deep, so now the case has, uh, speed holes. The velcro in the top right is for the battery.
I also attached the hinges and clasps, and then cut the part of the screws that stuck into the case with a dremel.
Finally, I redid all the wiring from the keyboard to the rasbperry pi pico controller. It looks a lot cleaner now, but unfortunately, I seem to have burnt out my pico de-soldering all the bits of stranded wire.
-
Both screens!
07/23/2023 at 20:23 • 0 commentsI have both screens working at the same time now, and I got the Sharp to be inverted (black-on-white) which I think is easier to see on that reflective display. Right now, I'm basically just using the Waveshare python epaper library directly to test the screen out, but I plan to write up a nice little CLI utility (or modify one that exists) in order to display any arbitrary thing on it, including piping std out. That might be the first thing I actually write on the device itself once it's all done.
I tried using the same SPI interface for both, but I couldn't get it working, so I enabled the second SPI interface on the Pi and am using that for the epaper.
This is the wiring I came up with use both these screens at once:
Sharp label gpio pin note vin 5v 2 3v3 not connected gnd gnd 39 slck 11 23 SPI0 SCLK di 10 19 SPI0 POCI cs 8 24 SPI0 CE0 emd 3v3 17 disp 24 18 ein 25 22 Waveshare label gpio pin note vcc 3v3 1 gnd gnd 6 din 20 38 SPI1 POCI clk 21 40 SPI1 SCLK cs 18 12 SPI1 CE0 dc 5 29 rst 27 13 busy 22 15 -
Sharp MiP Display
07/19/2023 at 14:18 • 0 comments -
Prototyping!
07/13/2023 at 15:08 • 0 commentsThe fruits of my ePaper experimenting. The RPi Zero is sitting underneath the display (you can see the header poking out at the top)
While waiting for parts, I've been looking for drivers and libraries for the two displays I have chosen. I think I've tripled the amount of bookmarks in my firefox account this week.
But now all the parts have now arrived, and I've started prototyping. So far this has just taken the form of getting to grips with the interfaces between the RPi Zero and the displays. The Sharp MiP LCD was the last to arrive, so I don't have much to show for that yet, but I have gotten the ePaper working with some python. My plan for the ePaper display is to set up a virtual framebuffer that I can swap data to and from. Wouldn't make sense for a full fbdev, due to it's slow refresh, but the linux framebuffer gives me an area to drop visual data before sending to the ePaper.
Also created an SVG in inkscape to help visualize the layout. This is def not final. It is to scale, but please don't use it for anything technical, as it's mostly just to get the silhouettes of the various components in place.
-
New Screen Setup
07/08/2023 at 15:16 • 0 commentsI've decided on a dual-screen setup of a Sharp 2.7" Memory-in-Pixel display for the active work and a Waveshare 4.2" epaper display for output/reference. Both of these have active development and libraries/drivers for the hardware I'm using.
I feel bad for buying more new tech instead of recycling like I would have with the hantronix display (which actually is a powertip display?) but I can still use that for other projects down the line. It will be fun to hack on, but it ultimately doesn't fit the goal of this project as being an actively usable field tool.
The added bonus is that both of these displays together will draw even less power than the powertronix-whatever-it-is display.
-
Hantronix GLCD
07/06/2023 at 15:47 • 0 commentsThe picture of the LCD from the ebay listing
While waiting for parts to arrive, I've been looking up data sheets and trying to wrap my head around programming the Hantronix LCD. Sadly, there is no existing solution for using one of these as an actual monitor. I have found a few libraries for interfacing with the controller board (a Toshiba T6963C) so maybe I could leverage one of those into this LCD-Linux terminal emulator/kermel module/device driver, which was written for a different LCD controller board.
Or I could just find a different display that's easier to work with. :(
-
Handwired keyboard
07/05/2023 at 18:12 • 0 commentsFirst thing I had to do was get as much space as possible, so to that end, I built a hand-wired keyboard with a raspberry pi pico as the micro controller.
I used this blog post as a guide. Everything went fairly smoothly. The biggest hurdle was that I used solid-core wire for the matrix, thinking it would make positioning the wire easier, and it did, but it also meant I broke a lot of connections as I manhandled the board later on, and had to re-solder a bunch. Also cutting the insulation with a hobby knife was tedious but worth it.
I used low profile gateron switches (which have a non-standard pin layout, but that didn't matter for hand-wiring) and low profile keycaps to get as much space as possible. The plate/keycap assembly is mounted to the board with a strip of velcro on each side, and the wires are kept in place with velcro loops.
Green wire was chosen to fit the theme of bamboo.
Despite getting the pico a little crooked, and having to use keycaps where they fit and not necessarily where the legends match the function, it turned out pretty well, I think. Still tinkering with the layout (which is done with QMK and VIA)
With the velcro mounting, plate, switches, and keycaps, the keyboard takes up about 16 mm, so I have roughly 9 mm of height left to work with in the lid. According to the data sheet, the LCD module is 11mm. Hmm. I'd like the keys to not be pushed in while the lid is on, but that might not be feasible. Also might have to re-think mounting for the main keyboard assembly as the velcro is surprisingly thick when put together (~3mm or so).