News:

The Savage///Circuits website has been upgraded to a more efficient theme.

Main Menu

GimmieGPIO

Started by JKnightandKARR, Feb 02, 2026, 05:13 PM

Previous topic - Next topic

granz

Quote from: JKnightandKARR on Feb 02, 2026, 05:13 PMNot sure where to put this, so here's where I am putting it. Saw on FB n could be usefull.
Interesting, not sure how/why they (comments in the Element 14 article) would say that it is cheaper than a Pi Zero 2W, it looks more expensive to me - especially if you can get to a MicroCenter, or some other place that sells Pis.

It seems to me that this is just a rewrite (re-imagining?) of Firmata (https://github.com/firmata/protocol.) We were using Firmata in the last job that I had, but I found it too awkward - especially  in getting a simple analog value. PiFirmata (and as far as I can see, all versions of Firmata) cannot/do not get a single analog value - the protocol has the microcontroller send a continuous stream of analog values. There is no standard way of getting a single value (that we were able to find.)

Personally, I prefer SB-Bus (https://www.sbprojects.net/sbbus/index.php & https://www.sbprojects.net/projects/sbdriver/index.php) and even that is more than I normally need. I have kind of implemented a subset of SB-Bus for some of my projects. Now that I think of it, I should port it over to the PicoMite (although assembly would be faster, I don't normally need anything that quick - PicoMite running at 250MHz is pretty darned fast.)

Chris Savage

Quote from: JKnightandKARR on Feb 02, 2026, 05:13 PMNot sure where to put this, so here's where I am putting it. Saw on FB n could be usefull.

Since they're using the R-Pi, this forum would seem to be appropriate, however, I wanted to point out that computers have always had interfaces for GPIO. My first such endeavor was to use the 44-pin edge connector on the C= VIC-20 to control a bank of relays. At the time I was just using the eight data lines with one of the decoded address outputs to latch a byte to a relay board. Later I learned I could also read data.

I did something similar on the Commodore 64. When I got into PCs, I used the printer port. Later, when PCs didn't have serial and printer ports, I used the USB interface, using the FT232 to create a serial port to a controller. That's the basis of the QuickStart Communicator, which allowed a Visual BASIC application to communicate with a QuickStart board, giving it inputs, outputs, etc.

                    Bringing concepts to life through engineering.

JKnightandKARR

Quote from: granz on Feb 02, 2026, 08:27 PM
Quote from: JKnightandKARR on Feb 02, 2026, 05:13 PMNot sure where to put this, so here's where I am putting it. Saw on FB n could be usefull.
Interesting, not sure how/why they (comments in the Element 14 article) would say that it is cheaper than a Pi Zero 2W, it looks more expensive to me - especially if you can get to a MicroCenter, or some other place that sells Pis.

It seems to me that this is just a rewrite (re-imagining?) of Firmata (https://github.com/firmata/protocol.) We were using Firmata in the last job that I had, but I found it too awkward - especially  in getting a simple analog value. PiFirmata (and as far as I can see, all versions of Firmata) cannot/do not get a single analog value - the protocol has the microcontroller send a continuous stream of analog values. There is no standard way of getting a single value (that we were able to find.)

Personally, I prefer SB-Bus (https://www.sbprojects.net/sbbus/index.php & https://www.sbprojects.net/projects/sbdriver/index.php) and even that is more than I normally need. I have kind of implemented a subset of SB-Bus for some of my projects. Now that I think of it, I should port it over to the PicoMite (although assembly would be faster, I don't normally need anything that quick - PicoMite running at 250MHz is pretty darned fast.)
No idea on that one. I've never seen this kinda thing before, USB hubs not included, but it looked interesting, and says can add GPIO to any computer, bet could add a 2nd set to Raspberry Pi too. Those links look interesting, will have to check them out. Thanks.

Quote from: Chris Savage on Feb 02, 2026, 09:24 PM
Quote from: JKnightandKARR on Feb 02, 2026, 05:13 PMNot sure where to put this, so here's where I am putting it. Saw on FB n could be usefull.

Since they're using the R-Pi, this forum would seem to be appropriate, however, I wanted to point out that computers have always had interfaces for GPIO. My first such endeavor was to use the 44-pin edge connector on the C= VIC-20 to control a bank of relays. At the time I was just using the eight data lines with one of the decoded address outputs to latch a byte to a relay board. Later I learned I could also read data.

I did something similar on the Commodore 64. When I got into PCs, I used the printer port. Later, when PCs didn't have serial and printer ports, I used the USB interface, using the FT232 to create a serial port to a controller. That's the basis of the QuickStart Communicator, which allowed a Visual BASIC application to communicate with a QuickStart board, giving it inputs, outputs, etc.

Looks like it uses a microcontroller that's Arduino compatible. This is a subject new to me, not including the obvious USB hubs.  I just thought might be insteresting, esp since I concidering 2 sets of GPIO pins on Project Gizmo, this actually would gave me the option to add RGB leds into the internat lights for the logos, without me having to give up GPIO pins, but rather a USB port instead.

Chris Savage

Quote from: JKnightandKARR on Feb 02, 2026, 10:16 PMLooks like it uses a microcontroller that's Arduino compatible. This is a subject new to me, not including the obvious USB hubs.  I just thought might be insteresting, esp since I concidering 2 sets of GPIO pins on Project Gizmo, this actually would gave me the option to add RGB leds into the internat lights for the logos, without me having to give up GPIO pins, but rather a USB port instead.

You could create a GPIO pod for a PC using almost ANY microcontroller, including a BASIC Stamp 2. You would just need software on the PC to communicate serially over the USB serial port with the controller and you could send commands to turn I/O on / off and read inputs into the PC. The I/O could run at 3.3V / 5V / 12V / 24V or even 120VAC, just depending on what you're trying to do.

I still need to finish it, but that's what Visual BASIC Communicator was about; how to control things via an MCU, in this case, the Propeller chip. But you could do it with other MCUs as well.

P.S. - I know I still need to finish restoring this tutorial.

                    Bringing concepts to life through engineering.

granz

Yes, your link to the communicator project (in reply # 2) got me interested in this. Do you still have the Prop code, and the VB code? I will be looking forward to seeing these pages (the project, and the tutorial) restored.

Chris Savage

Quote from: granz on Feb 02, 2026, 11:00 PMYes, your link to the communicator project (in reply # 2) got me interested in this. Do you still have the Prop code, and the VB code? I will be looking forward to seeing these pages (the project, and the tutorial) restored.

When I first thought about putting Savage///Circuits back up, my first thought was the realization that I lost EVERYTHING! My backup hard drives were long gone. However, one day I discovered a thumb drive in the bottom of my laptop bag. When I plugged it in, it was labeled, "ENGINEERING". It was an OLD backup of my engineering folder and there inside were the early copies of projects from my website.

Being an early backup, I hadn't yet migrated everything into that folder and some of the stuff was early copies. The early VB project folder was literally copied into the project folder, so it's not finished in there. But I do have the Propeller source. Easy enough to finish it. It was a tutorial on how to accomplish this, so in a sense, somewhat obsolete after completing the QuickStart Communicator. The reason I want to restore it is that I had servo control in the VB Communicator, which wasn't part of the QuickStart project.

Ken knew about my VB Communicator project running on the PPDB and asked me if I could migrate it to the QuickStart board for marketing and extra projects for it, so I did. But I had bigger plans prior to that. In a way, I had to downsize the project to the QuickStart board since it doesn't have any built-in hardware, other than the touch switches and LEDs.

                    Bringing concepts to life through engineering.

granz

Well, let us know what you find, and when you can get the article restored. I would also be interested in what you had come up with for the PPDB.

JKnightandKARR

Quote from: Chris Savage on Feb 02, 2026, 10:49 PM
Quote from: JKnightandKARR on Feb 02, 2026, 10:16 PMLooks like it uses a microcontroller that's Arduino compatible. This is a subject new to me, not including the obvious USB hubs.  I just thought might be insteresting, esp since I concidering 2 sets of GPIO pins on Project Gizmo, this actually would gave me the option to add RGB leds into the internat lights for the logos, without me having to give up GPIO pins, but rather a USB port instead.

You could create a GPIO pod for a PC using almost ANY microcontroller, including a BASIC Stamp 2. You would just need software on the PC to communicate serially over the USB serial port with the controller and you could send commands to turn I/O on / off and read inputs into the PC. The I/O could run at 3.3V / 5V / 12V / 24V or even 120VAC, just depending on what you're trying to do.

I still need to finish it, but that's what Visual BASIC Communicator was about; how to control things via an MCU, in this case, the Propeller chip. But you could do it with other MCUs as well.

P.S. - I know I still need to finish restoring this tutorial.
No, doubt there alot of ways todo this, i wasn't aware this was even a thing, so just thought it was interesting.


Chris Savage

Quote from: granz on Today at 09:13 AMWell, let us know what you find, and when you can get the article restored. I would also be interested in what you had come up with for the PPDB.

As I update the various articles, I post in the threads in the Savage///Circuits forum. Interestingly, I used the PPCB because of the amount of hardware available to integrate and demonstrate for control / input. Perhaps I should have created a PPDB Communicator. I would be possible to read ALL the inputs on the board, as well as control ALL the outputs (LEDs, 16-segment displays, Stepper Motor, servos, etc.

Quote from: JKnightandKARR on Today at 10:30 AMNo, doubt there alot of ways todo this, i wasn't aware this was even a thing, so just thought it was interesting.

Oh, yeah! Though I was into electronics first, my end goal was to eventually integrate with computers when useful. When I first learned to write code on the PC, the first thing I did was experiment with accessing the ports on the computer. Fun times!

                    Bringing concepts to life through engineering.

granz

Quote from: Chris Savage on Today at 11:06 AMAs I update the various articles, I post in the threads in the Savage///Circuits forum. Interestingly, I used the PPCB because of the amount of hardware available to integrate and demonstrate for control / input. Perhaps I should have created a PPDB Communicator. I would be possible to read ALL the inputs on the board, as well as control ALL the outputs (LEDs, 16-segment displays, Stepper Motor, servos, etc.
Yeah, that is what I thought you had when I read that Ken asked you to downsize your communicator program. That would be really cool.

Quote from: JKnightandKARR on Today at 10:30 AMNo, doubt there alot of ways todo this, i wasn't aware this was even a thing, so just thought it was interesting.
Absolutely, you are right that it is interesting. Thanks for the link, and for reminding us of this kind of stuff.