Savage///Chats

Hardware Development => Member Projects => Topic started by: granz on Dec 17, 2024, 09:52 PM

Title: New DIY Handheld Computer
Post by: granz on Dec 17, 2024, 09:52 PM
Back in 1998, I purchased a gift for myself, it was a Hewlett Packard Windows CE pocket computer. At the time that I bought it, I was getting so forgetful that I would actually cry, thinking that I was losing my mind. I remember leaving the store with my new toy,and sitting in my van and starting to load it up with every contact, and every appointment, that I could think of. Suddenly (within hours) I was able to start remembering things - it was as if my mind was cleared, and I could think again.

Now, of course, like everyone else, I keep all that info (and more) on my phone. But I still miss my pocket computer. I want one that I can program myself, and call it my very own.

A few months ago, I purchased a GeeekPi breakout board with an LCD, and several other components (https://www.amazon.com/gp/product/B0C98G37PW/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1 (https://www.amazon.com/gp/product/B0C98G37PW/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1)).
(https://m.media-amazon.com/images/S/aplus-media-library-service-media/77dc539b-9ba7-4335-9df7-d7297096e405.__CR0,0,970,600_PT0_SX970_V1___.jpg)

This device was a really great toy, and I had fun playing with it. Unfortunately, I was unable to get the LCD to work with PicoMite BASIC (my current favorite.) It may have been just that I didn't play enough, but I started looking for something else, and closer to my handheld computer. I also started putting an LCD module on one of my breadboard systems, and wiring up some stuff to my Pico (actually a PicoW, with WebMite BASIC, which includes WiFi connectivity.)

While working on these things, I found another PicoMite device (CrowPanel 3.5"-480*320 HMI Pico RP2040 Touchscreen.) This one (when you keep the acrylic case - $2.60) comes in a really nice format. It has the touch display, a speaker, a TF reader, two UARTs (one USB) several GPIO pins and best of all (for me) an external battery connector. It even breaks out the Boot, and Reset lines to external buttons so that it can be more easily set up, and reset.
(https://cdn.tindiemedia.com/images/resize/tj6IT-g8wXDZ7MpgPDrquffM58A=/p/fit-in/994x664/filters:fill(fff)/i/05682/products/2024-08-05T02%3A48%3A01.119Z-3.5inch%20Pico%20Display%20with%20acrylic%20case1600.png?1722800909)
It took the PicoMite BASIC firmware just fine, and I was able connect through the "screen" terminal emulator. The LCD module was not listed as anything for which I could find info, but after playing with the different OPTION configuration commands, I was able to find one LCD option which works. It did take a while studying the schematics, and matching them up to the setup commands in WebMite BASIC, but I am getting there.

It is pretty cool to see stuff on the display responding to my commands. The SD (actually TF) card reader connected up quick and easy after setting the SPI interface. I am able to bit-bang some simple audio out, but the BASIC sound commands require two matching PWM pins (they are in pairs on the RP2040 chip.) Unfortunately, the board uses one pin of a PWM pair for the speaker, but the other matching pin is tied to the reset pin of the LCD panel. This is a kind of disappointing design, but I do have a little program which makes tones/beeps, and will be turning that into a general purpose sound subroutine.

Unfortunately, the IIC connection for the touch pad do not seem to be correct to the schematic. I have searched the schematic, and have set up my OPTIONs to match that, but when I run the touch pad test program, every time that I touch the screen the system reboots. It appears that the IRQ from the touch pad is incorrect, and the Pico is responding to an interupt going to the wrong place in the firmware.

I intend to continue working on this, but this may push me to return to designing my own PCB for my handheld computer. At least with this, I will be able to have my system the way that I want it. In addition, I will be able to breadboard the system myself, thus ensuring that the PicoMite BASIC OPTIONS are already set up so that the BASIC will work correctly.

More to come...
Title: Re: New DIY Handheld Computer
Post by: granz on Dec 17, 2024, 10:50 PM
Well, I was able to confirm that the touch controller on my CrowPanel system (https://www.elecrow.com/download/product/DIS01135P/CrowPanel_Pico_Display-3.5_V1.0-SCH.pdf - bottom of schematic towards right of center) is the same controller that PicoMite BASIC is set to use (https://geoffg.net/Downloads/picomite/PicoMite_User_Manual.pdf bottom of page 49). Now, I just need to figure out why my system keeps rebooting when I test the touch pad.
Title: Re: New DIY Handheld Computer
Post by: JKnightandKARR on Dec 18, 2024, 09:02 AM
Nice
Title: Re: New DIY Handheld Computer
Post by: Chris Savage on Dec 18, 2024, 09:39 AM
I can't wait to see where you go with all of this.  :)
Title: Re: New DIY Handheld Computer
Post by: granz on Dec 19, 2024, 07:33 AM
Quote from: Chris Savage on Dec 18, 2024, 09:39 AMI can't wait to see where you go with all of this.  :)
Yeah, me too.

Unfortunately, my CrowPanel system has started spontaneously rebooting. It's not the hardware, because it can sit for hours (days?) and never reboot. It seems that there is something about the interrupts, and only happens while I'm playing around, trying to get the thing working the way I want (which, of course, is in PicoMite BASIC.  ;) ) So, it is appearing that this is going where I design the PCB myself, according to my own specs - which is where I should have gone to begin with. ::)

Plus, with Christmas approaching, there is less time to play right now.
Title: Re: New DIY Handheld Computer
Post by: granz on Dec 19, 2024, 11:59 AM
OK, time to refocus.  What this project really should be is two different projects. At this time, both will probably be based upon the PicoMite system. The PicoMite is not perfect, but it is awfully darned good. This thing is well above the specs of the 1970s, and early 1980s systems. While not the "perfect OS" (MS-DOS) it is pretty good for the pre-MS-DOS system types. The two projects that I am considering are, first, a handheld system, kind of similar to the old Palm, and Windows-CE, systems, but with my own software, based on PicoMite BASIC (which has file management built-in.) Secondly, I want a "tablet-padd" computer (kind of like the TRS-80 Model 100/102,) or maybe a clam-shell laptop system - if I can get it to fold up, properly.

So, I will be continuing this thread with discussion about the "Handheld" system that started this thread, and will begin another thread on the tablet-padd system as soon as I get the new keyboard that Chris kindly pointed me to in another thread https://savagechats.com/index.php?msg=1049 (https://savagechats.com/index.php?msg=1049).

Both of these systems will probably be completely designed, and manufactured, by me. I'm tired of spending money on stuff that is close to what I want, but not close enough.
Title: Re: New DIY Handheld Computer
Post by: granz on Dec 21, 2024, 11:09 AM
So, in thinking about where I want this to go, I had to ask myself why I want a handheld computer (I mean other than "because it would be sooooo cool."  ;) )

So, thinking back, several years ago I was on the old The Survival Podcast Forum (shut down now,) and posted a few threads about tech after the collapse. The idea was to start thinking about what kind of technology would be useful in a grid down situation (think EMP, or solar flare or even a hurricane I.E. Helene.) Pretty much any bad disaster (even local) could leave us without electricity, comms or Internet. In those situations, what technology would we need (or like)?

I came up with three areas of tech, that I wanted to address:

In the third category, I was thinking about a small, possibly handheld, control system for helping with repetitive tasks, safety and security. These are the design considerations that I came up with:

Design considerations:
Several years ago I started on a simple Arduino-based handheld computer with an LCD and a hex keypad. Going back to my design files, this looks like it will be pretty easy to upgrade to a PicoMite system. I posted about this on ZappBots forum (https://zappbots.altervista.org/forum/viewtopic.php?f=41&t=216 (https://zappbots.altervista.org/forum/viewtopic.php?f=41&t=216),) and recently rediscovered it.

(https://savagechats.com/proxy.php?request=http%3A%2F%2Ffiles.granzeier.com%2FDownloads%2FSimduino-001.jpg&hash=f88ac0c14ce3ba61b3419a980606be35af11d333)
Clearly, it was not completed, even for the Arduino, but I still have the CADD files, and am going to play around with it to create something similar for the PicoMite.

So, this looks like a good, useful, goal for my next handheld computer. Any thoughts, ideas or suggestions?
Title: Re: New DIY Handheld Computer
Post by: Jason D. on Dec 23, 2024, 11:47 AM
Looks like all those things require electricity, I wasn't sure if a steady supply of power was available to you after such an event. I think a drone would be important also, not everyone would have wireless communication knowledge but you could fly a note to their doorstep up to several miles away. I think micro communities, good neighbors,would be a person strongest alley to survive such an event.
Title: Re: New DIY Handheld Computer
Post by: granz on Dec 23, 2024, 02:34 PM
Quote from: Jason D. on Dec 23, 2024, 11:47 AMLooks like all those things require electricity, I wasn't sure if a steady supply of power was available to you after such an event. I think a drone would be important also, not everyone would have wireless communication knowledge but you could fly a note to their doorstep up to several miles away. I think micro communities, good neighbors,would be a person strongest alley to survive such an event.
Jason, are you the "ElectronsRfun" from the ZappBots forum? I haven't heard from that Jason for quite a while.
Title: Re: New DIY Handheld Computer
Post by: Chris Savage on Dec 23, 2024, 11:05 PM
Drone Discussion Moved Here (https://savagechats.com/index.php?topic=305.0)
Title: Re: New DIY Handheld Computer
Post by: granz on Dec 25, 2024, 11:39 AM
Quote from: Jason D. on Dec 23, 2024, 11:47 AMLooks like all those things require electricity, I wasn't sure if a steady supply of power was available to you after such an event. ...
Yes, electricity would be important, but I was thinking that, even in a disaster, you could still have the batteries in cars, and other things. Some solar panels (maybe EMP protected) could be available, some generators (wind, hydro, pedal - again maybe EMP protected) could be available. This would be run/recharged from these sources.
Title: Re: New DIY Handheld Computer
Post by: granz on Dec 25, 2024, 03:17 PM
Some input requested, please:

The display that I was using in my (still not completed) handheld, shown in the earlier post, used a Nokia 5110 display. That is still fairly cheap, requires low power and is pretty easy to interface and use. And, PicoMite BASIC has built-in drivers for that display.

However, that does not automatically make it the best. The 5110 is pretty low-resolution, and black and white only. Do any of you have a preferred display? Remember, that this is supposed to be low cost enough that you can build a few (or many) and wrap them up in EMP protection and store them for emergencies (keeping one to play with study.  :D ) Also, I am trying to fit this on the upper half of a 2"X4" (5cm X 10cm) board, so it needs to be about the same size as the 5110 (and, did I mention that it needs to be cheap?) So, any ideas?
Title: Re: New DIY Handheld Computer
Post by: Chris Savage on Dec 26, 2024, 10:13 AM
Quote from: granz on Dec 25, 2024, 03:17 PMI am trying to fit this on the upper half of a 2"X4" (5cm X 10cm) board, so it needs to be about the same size as the 5110 (and, did I mention that it needs to be cheap?) So, any ideas?

Well, for starters, the 5110 appears to be an 84x84 LCD with an SPI interface (https://www.adafruit.com/product/338#description), whereas the more commonly used displays are 128x64 OLED. The caveat is these displays are usually monochrome as well and use I2C for the interface.

There are several higher resolution color displays with an SPI interface. I have purchased (but not yet used) a few of these myself. Here's one example (https://a.co/d/5Dl92lW). This one is 96x64. For higher resolution, the cost goes up, but here is another example (https://a.co/d/1f1RUsX). This one is 1.5" with a resolution of 128x128.

Ironically, you can get a 3.5" 480x320 Touch Screen TFT Display Panel (https://a.co/d/a2RzTkl) for $17.99, however it's designed for Raspberry Pi.
Title: Re: New DIY Handheld Computer
Post by: granz on Dec 26, 2024, 06:59 PM
Quote from: Chris Savage on Dec 26, 2024, 10:13 AM
Quote from: granz on Dec 25, 2024, 03:17 PMI am trying to fit this on the upper half of a 2"X4" (5cm X 10cm) board, so it needs to be about the same size as the 5110 (and, did I mention that it needs to be cheap?) So, any ideas?

Well, for starters, the 5110 appears to be an 84x84 LCD with an SPI interface (https://www.adafruit.com/product/338#description), whereas the more commonly used displays are 128x64 OLED. The caveat is these displays are usually monochrome as well and use I2C for the interface.
The 5110 is actually 84x48, but that would not be an issue with the small amount that should be displayed on it in my handheld. And at ~$8 each, it would fit the budget (especially if I could get several of them for lower individual prices, and pay shipping for the batch - one on Amazon is $2.80 with $4.40 shipping, if I could find a deal like that but a single shipping price for several displays, it could be even cheaper.
Quote from: Chris Savage on Dec 26, 2024, 10:13 AMThere are several higher resolution color displays with an SPI interface. I have purchased (but not yet used) a few of these myself. Here's one example (https://a.co/d/5Dl92lW). This one is 96x64. For higher resolution, the cost goes up, but here is another example (https://a.co/d/1f1RUsX). This one is 1.5" with a resolution of 128x128.

Ironically, you can get a 3.5" 480x320 Touch Screen TFT Display Panel (https://a.co/d/a2RzTkl) for $17.99, however it's designed for Raspberry Pi.
Yeah, that would probably not be any trouble. That display is controlled by an ILI9486, and while PicoMite BASIC does not have that one, it is probably close enough to the ILI9488 (that PicoMite does support) that it could probably be fudged to work. No, the two troubles with that 3.5" display is the size, and the price. I still want the handheld to be under about $20-$25 per unit, and the $18 that Amazon wants for that display will blow that away.

While looking at the links you gave, I did find one color-ish (yellow on top and blue on the bottom) display for $5.99 with prime shipping. Looking closer at the options, I see that I can order six displays, fully blue, for $15.99 ($16.95 with tax, for $2.83 each.) One of those sets of six are now ordered, they should be here by Tuesday.

These cheapie displays are also covered by PicoMite BASIC built-in commands. It looks like this is the way to go, for now. Any other thoughts?
Title: Re: New DIY Handheld Computer
Post by: Chris Savage on Dec 26, 2024, 09:28 PM
Quote from: granz on Dec 26, 2024, 06:59 PMThe 5110 is actually 84x48, but that would not be an issue with the small amount that should be displayed on it in my handheld.t's designed for Raspberry Pi.

Yeah, that's why I turned that into a link. I knew I would mistype something while I was at work (too many distractions).

Quote from: granz on Dec 26, 2024, 06:59 PMWhile looking at the links you gave, I did find one color-ish (yellow on top and blue on the bottom) display for $5.99 with prime shipping. Looking closer at the options, I see that I can order six displays, fully blue, for $15.99 ($16.95 with tax, for $2.83 each.) One of those sets of six are now ordered, they should be here by Tuesday.
These cheapie displays are also covered by PicoMite BASIC built-in commands. It looks like this is the way to go, for now. Any other thoughts?

These are the same displays I have been using in projects...you can see one used in this project (https://savagecircuits.com/arduino-blaster/). I usually buy them 3 or 5 at a time for cheap. They are OLED and use I2C interface. On I2C you can also change the address of one unit so two can be on the same I2C bus.

No other thoughts at the moment. It's been a long day and I am burned out...
Title: Re: New DIY Handheld Computer
Post by: granz on Dec 26, 2024, 10:08 PM
Wow, that's a LOT smaller than I thought.

We shall see, hopefully it will be big enough to use.
Title: Re: New DIY Handheld Computer
Post by: Chris Savage on Dec 27, 2024, 08:01 AM
Quote from: granz on Dec 26, 2024, 10:08 PMWow, that's a LOT smaller than I thought.
We shall see, hopefully it will be big enough to use.

Have a look at this tutorial (https://savagecircuits.com/dual-i2c-displays-arduino/) (not done yet) on Savage///Circuits (http://savagecircuits.com). You can see a larger font being used on the one display. It's quite readable, IMHO.
Title: Re: New DIY Handheld Computer
Post by: granz on Dec 27, 2024, 11:42 AM
OK, in your tutorial, the LCD is more like what I was expecting. The one from your Arduino Blaster article shows a blogger's video (first video on that page) where the LCD is about 1/4 the size of the one in your tutorial. That smaller one, from the video, is the one that I was worried about being too small - the bigger one in your tutorial is what I think that I ordered.

I checked my Amazon order, and they look to be about 1.25" X 1.25" (or there abouts.) I think that this size will go well on my handheld. For now, though, I will continue design for both that LCD as well as the Nokia 5110 display.
Title: Re: New DIY Handheld Computer
Post by: Chris Savage on Dec 27, 2024, 09:54 PM
Quote from: granz on Dec 27, 2024, 11:42 AMOK, in your tutorial, the LCD is more like what I was expecting. The one from your Arduino Blaster article shows a blogger's video (first video on that page) where the LCD is about 1/4 the size of the one in your tutorial. That smaller one, from the video, is the one that I was worried about being too small - the bigger one in your tutorial is what I think that I ordered.

In the Arduino Blaster (https://savagecircuits.com/arduino-blaster/) article there are photos of the original parts as well as the ones I used. As for the tutorial (https://savagecircuits.com/dual-i2c-displays-arduino/), I completed it tonight so that you could see some examples of text on these displays in different fonts. You can see more as well as graphics in the Arduino Blaster article. Let me know if you have more questions about these displays for use in your project.
Title: Re: New DIY Handheld Computer
Post by: Jason D. on Dec 30, 2024, 12:22 PM
Quote from: granz on Dec 23, 2024, 02:34 PM
Quote from: Jason D. on Dec 23, 2024, 11:47 AMLooks like all those things require electricity, I wasn't sure if a steady supply of power was available to you after such an event. I think a drone would be important also, not everyone would have wireless communication knowledge but you could fly a note to their doorstep up to several miles away. I think micro communities, good neighbors,would be a person strongest alley to survive such an event.
Jason, are you the "ElectronsRfun" from the ZappBots forum? I haven't heard from that Jason for quite a while.

Yes Granz it is I, Jason, Electrons R Fun. Lisa is still alive and I still take care of her. Lisa's illness is beyond my ability to help her with electronics anymore so I concentrate on building things so I can take her places in our Jeep. I can post a few projects because they do have electronics on them but not sure if those projects fit Chris's website model.
Title: Re: New DIY Handheld Computer
Post by: Chris Savage on Dec 30, 2024, 01:41 PM
Quote from: Jason D. on Dec 30, 2024, 12:22 PMI can post a few projects because they do have electronics on them but not sure if those projects fit Chris's website model.

I'll answer with this...the old website (at its peak) had nearly 1500 members. I had moderators, and there was an attempt to keep things "on topic". Most of those people are long gone. Not even on the Parallax Forums anymore. This forums is much more relaxed. If you have projects you want to share, that's what this forum is for.  ;)
Title: Re: New DIY Handheld Computer
Post by: JKnightandKARR on Dec 30, 2024, 10:22 PM
This giving me ideas for my PipBoy 2000 (https://www.thewandcompany.com/pip-boy-kit/) kit I got off Ebay years ago.  Wanna make a functional one.
Title: Re: New DIY Handheld Computer
Post by: granz on Dec 31, 2024, 07:49 AM
Quote from: Jason D. on Dec 30, 2024, 12:22 PMYes Granz it is I, Jason, Electrons R Fun. Lisa is still alive and I still take care of her. Lisa's illness is beyond my ability to help her with electronics anymore so I concentrate on building things so I can take her places in our Jeep. I can post a few projects because they do have electronics on them but not sure if those projects fit Chris's website model.
Glad to hear from you, it has been quite a while. Also, glad to hear that Lisa is with us (rather you,) how far did you get with L.I.S.A.? Was Lisa able to use it?
Title: Re: New DIY Handheld Computer
Post by: Jason D. on Dec 31, 2024, 12:36 PM
Lisa used the L.I.S.A alarm for a long time, the device was about 90 percent reliable for us, but Lisa also used it to wake me up several times a night which became unsustainable. I also made a switch for Lisa, which use's infra red light on some old safety glass's. I let Chris see that device work through a video I keep on my Drive account. In the video Lisa shows how she can ask for coffee, which I call the elixir of productivity. I do think a device can still be built to help Lisa, but it is my belief, the device would have have to use a camera that monitors her eye, she is down to only one theses days, but also would need to determine if she is asking for help or doing something else, like just looking at you as you speak to her. I have simply found that a human being is far superior over a machine because we can apply intuition.

Finding time to learn and build all this just seems insurmountable, so I became a cello student and play for Lisa, it's free music therapy. I also take her on Jeep trips, such as the image I use for my profile picture, Lisa is in the Jeep with me in that snow picture. And now I'm going to get things ready to take Lisa to the Grand Canyon on the first of January. 

Happy New Year to eve to Everyone.

Jason
Title: Re: New DIY Handheld Computer
Post by: granz on Apr 02, 2025, 02:49 PM
Quote from: granz on Dec 26, 2024, 06:59 PMThese cheapie displays are also covered by PicoMite BASIC built-in commands. It looks like this is the way to go, for now. Any other thoughts?

OK, I (finally) set up the beginning of a prototype of my handheld control system. It uses a Pico (of course   ;) ) W, and the LCD that I ordered (https://www.amazon.com/Hosyond-Display-Self-Luminous-Compatible-Raspberry/dp/B0BFD4X6YV?th=1). It does not have the hex keypad, nor any external connectors, yet.

(https://files.granzeier.com/Downloads/SavageCircuits/Prototype%20With%20LCD.jpg)

The LCD is IIC, and the System Clock (SCL) is connected to GP2 (pin 4,) while the System Data (SDA) is connected to GP3 (pin 5.) So, from scratch (fresh Pico) we would use:

OPTION SYSTEM I2C GP2, GP3
OPTION LCDPANEL SSD1306, L
FONT 1
text 1,1,"Hello"
text 1,12,"There"
text 1,24,"Savage Circuits"

Of course, this would work with a plain Pico, as well as the Pico W. Also, I have seen (I'll have to hunt down where) a way to place text on the screen without regard for the font (except for the size of each text character.) This would allow the programmer to use a larger font, if necessary.

The display with FONT 1, looks like it will give about 5 lines of about 16 characters each. That should be good enough for a simple control language (maybe based upon the CardIAC language mentioned earlier.) There are other font sizes, and I could use one of them, if language development deems it necessary/preferable.

Next up, let's add the keypad.
Title: Re: New DIY Handheld Computer
Post by: JKnightandKARR on Apr 03, 2025, 12:07 AM
Nice.