I've come up with an idea for a device that will enable the TI-84+ CE to have internet capabilities using a Raspberry Pi Pico W. The device will consist of a male USB Type B breakout board, four wires, and a Raspberry Pi Pico W. The module will connect to the calculator via the Mini B USB "Link Cable" port. Communication between the calculator and the module will be handled using the srldrvce library. I also plan to create a C/C++ library that apps can use to interface with the device.
Some apps I plan to make include:
- A basic IRC client
- An FTP server for wireless file transfer
- A marketplace to download apps and games (similar to the 3DS homebrew app "Universal-Updater")
However, the possibilities are endless, as I intend to keep the project and library entirely open source!
I won't be able to make much progress on this project for a while since I don't have a TI-84+ CE yet, and the TI-84+ CE emulator “CEmu” does not support serial I/O. But, I'd love to know what you all think about this!
I think this could also work with a zero w. There is a python library (and a c I believe) for handling web requests on pico, but you would need to setup a wifi/network config app. This would require queries on the pico for available networks, and sending data back and forth. Every startup for the pico would require running said app on calc.
CoolModder wrote:
I think this could also work with a zero w. There is a python library (and a c I believe) for handling web requests on pico, but you would need to setup a wifi/network config app. This would require queries on the pico for available networks, and sending data back and forth. Every startup for the pico would require running said app on calc.
Yes, my plan is to make a basic config app that will allow you to sign into networks on the calculator, which will probably just write to a config.txt file on the Pico's flash. Also, a reason why I think the zero won't work is because of power consumption. I think I read somewhere that the TI-84+ CE can't output more than 100 mA through its mini B data link port.
The day I can cheat on a test by using Wikipedia on my a calculator is the day my quality of life skyrockets
what hardware would be required for this as I want wifi on my ti 84 plus ce at all costs.
Welcome to Cemetech, synthium! Are you familiar with
globalCALCnet (which has an IRC client, web browser, and file transfer utility for ticalc.org and Cemetech, matching the apps you mentioned), or especially the
WiFi version using the Spark Core? It sounds like that's along the lines that you're thinking. To avoid needing to reinvent the wheel, you should also take a look at ACagliano's
lwIP library for the TI-84 Plus CE, which allows use of USB network adapters without needing to faff about with an external SoC.
KermMartian wrote:
Welcome to Cemetech, synthium! Are you familiar with
globalCALCnet (which has an IRC client, web browser, and file transfer utility for ticalc.org and Cemetech, matching the apps you mentioned), or especially the
WiFi version using the Spark Core? It sounds like that's along the lines that you're thinking. To avoid needing to reinvent the wheel, you should also take a look at ACagliano's
lwIP library for the TI-84 Plus CE, which allows use of USB network adapters without needing to faff about with an external SoC.
The WiFi spark core is definitely really similar to what I have in mind, just in a more compact form that looks something like a USB flash drive. I think i'll definitely use the lwIP library when I get into more complex stuff like a browser. One thing I noticed about the spark core is that it requires a battery? I assume this is due to the power limitations from the link cable with the TI-84 Plus, because my plan is to just use the TI-84 Plus CE's link cable as a power source. Anyway, thanks for the links!
1qschool1 wrote:
what hardware would be required for this as I want wifi on my ti 84 plus ce at all costs.
The goal is to keep it as simple as possible, so the plan is that you'll just need a Raspberry Pi Pico W, Mini B USB Male Breakout board, some wires, solder, and maybe a 3d printed case. A Mini B USB board won't necessarily be required, I plan to also make it possible to just use the Pico W's micro usb port to connect it to the TI-84+ CE as well, which requires zero soldering.
Recently, I tried the same thing. I tried connecting the two using a USB OTG cable but have had no luck so far. Due to the almost nonexistent documentation of the SRLDRVCE library, and my little experience with C programming for the CE, I couldn't get it to work. If you make any progress please share it!
Edit: Sorry, I know about the written documentation. I just wish there were more example programs that used it.
What do you mean, no documentation, it's all right here:
https://ce-programming.github.io/toolchain/libraries/srldrvce.html
There's even examples, what more do you want
AcHamYT wrote:
Yep, I saw this. It was literally posted hours after my post. I still don't think it makes this project obsolete, as this device only works on the TI-84 Plus. I think the fact that the TI-84 Plus CE has a color screen and overall higher resolution leads to more interesting possibilities for app development.
I want to make this, too, but I've noticed that all of the existing projects that achieve something similar are made for the serial interface. My idea for it is that the Pico imitates another calculator or maybe an innovator hub so you can just send stuff in TI-BASIC etc. but I can't find one that uses USB. Have there been any leads yet?
This looks awesome! Converting the code from an esp32 shouldn't be too hard, but would the USB connection still work with a Pico? It seems unclear. Also, is this open source? I look forward to trying to make this!
Shinypot8o wrote:
This looks awesome! Converting the code from an esp32 shouldn't be too hard, but would the USB connection still work with a Pico? It seems unclear. Also, is this open source? I look forward to trying to make this!
Yes, both the PCB files and software will become open source when it's complete, which I hope will be soon. I'm using the TinyUSB stack for USB communication which is also usable from a Pico (https://github.com/raspberrypi/tinyusb/blob/pico/docs/getting_started.md) so yes, the USB stuff will work from a Pico. Regarding everything else, most of the code is dependent on esp idf specific APIs (wifi, flash, http client, timers, gpios) so porting it to a Pico would take a considerable amount of work. I think you should stick to an esp32(s3/c3) for this.
I don't have an esp32, but I'll probably just get one. I will still try to port it (when I can), and if I get it to work well, I'll put a link or something so others can use it. What model of esp32 would you recommend?
Shinypot8o wrote:
I don't have an esp32, but I'll probably just get one. I will still try to port it (when I can), and if I get it to work well, I'll put a link or something so others can use it. What model of esp32 would you recommend?
I recommend the S3 because it’s the chip I’ve been using during the development of the firmware. It’s also what my custom PCB was designed for. It has a powerful dual core processor which can speed up specific tasks (like the ability for concurrent network requests) and supports the ability to use external RAM which becomes useful for things that requires large buffers (like image processing or just caching).