About a year ago I bought an used Palm IIIc and I felt in love with that small device. It was quick, simple, reliable and worked for at least a week on one charge. It can't do much, but what it does, it does well, also it's not connected to the internet, so you can do stuff in distraction free environment. It was a really new and fresh user experience in the world of smartphones. But using a fifteen year old device have few shortcomings:
- software is hard to get
- hardware is hard to get
- it is closed-source, the platform is dead and it's hard to develop new apps fot it
- (also my first language is a one with some funny letters in its alphabet and Palm don't support those)
Solution for these problems is obviously to throw this old PDA in a bin and use a modern smartphone, but this is hackaday, and l decided to build myself a fully custom PDA.
About the device
I aimed for easy way to create new applications for my PDA and also better compatibility with new tech than the Palm could provide. After more than two years of development (described bellow) I ended up with a reasonable replacement of my old Palm. Well, it doesn't do everything the Palm can do, but fixing something on Palm is nearly to impossible. With my own PDA I can fix its shortcomings easily.
Do you want to try the SDA_OS yourself? Check out the new in-browser simulator!
A bit of history
I started with a nucleo board with STM32f103 MCU and a cheap Chinese resistive touch display.
On this crude prototype I developed simple library for user interface with buttons, text input and software keyboard. I wanted to be able to update my applications without re-flashing the firmware, so I developed small interpreter of simple script language and used FatFs library from ChaN to read scripts from the SD card. From here it was just a little step to move the graphics library and script interpreter from STM32 to x86 and make emulator for pc to test and debug the applications before moving them on the real hardware.
This worked reasonably well and I used it for a few school projects, but it was not portable at all, which leaded to the second prototype.
I had plans to make a PCB and make it all nice and shiny and small and fit it in some small case, so I draw the schematics and ordered most of the parts. Then life happened and I did'n have enough time to finish the layout (also I hate designing PCB's).
Later I realised that I don't really need a PCB that much, I had all the parts and I also had an universal QFP PCB so I could just cobble it together. So I did exactly that. MCU got upgraded to STM32F405RGT6 and I also used some LDO regulator and old USB powerbank to power the thing. And the SDA was born. Buttons and soft power switch was added later, the device also includes small speaker.
Then I fitted it in a small cardboard box and here it was, didn't looked much, but I was able to fit it in my pocket and use it.
I didn't know if the device would be of any use, but I ended up with a few simple applications like calculator, calendar, alarm clock, to-do list, notepad, "e-book" reader (it just reads really long text files) and minesweeper. The SDA was a nice toy to carry around and I decided to make it more aesthetically pleasing and more durable.
I was again hoping to design PCB and again didn't do it. So it is basically the second prototype, but made more tightly so it fits the new printed case, inside it's still mess of loose wires and hot-glue. But on the outside it looks much better. I did not have to disassemble the previous one, because I bought...Read more »