Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 09:44 26 Nov 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : Colour Maximite 1.5? or something

     Page 4 of 13    
Author Message
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6787
Posted: 06:34pm 29 Jan 2024
Copy link to clipboard 
Print this post

OOH! Things are happening. :)
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9115
Posted: 07:56am 30 Jan 2024
Copy link to clipboard 
Print this post

Request for BigMik

With your hubs that don't work with the Pico, please could you try the following:

Add a 15K resistor from TP2 and TP3 on the bottom of the Pico to GND




This is part of the spec of a USB host.

I was having the issue that enumeration failed after a reset of the Pico but worked after a power-up. Adding the resistors solved the issue

Here is the final version of the PCB which is now in production
Changes are:

Different audio jack - apparently the original didn't have the temperature rating for their soldering process

Different CR2032 saocket to better clear the DS3231 chip

15K pulldown resistors added to the USB host port

Heartbeat led re-located to the "front"



Edited 2024-01-30 18:05 by matherp
 
Frank N. Furter
Guru

Joined: 28/05/2012
Location: Germany
Posts: 828
Posted: 10:16am 30 Jan 2024
Copy link to clipboard 
Print this post

  matherp said  With your hubs that don't work with the Pico, please could you try the following:

Add a 15K resistor from TP2 and TP3 on the bottom of the Pico to GND
That is very interesting! That could also explain my problems with the HID2CDC! I really must try this out! Thank you Peter!


...would it be possible to introduce this USB functionality to the standard PicoMite???

It would be great to build a small independent device with an SSD1963 display as a terminal and a small wireless keyboard like this one:


Frank

P.S.: Unfortunately my HID2CDC still does not work despite resistors...
Edited 2024-01-30 20:37 by Frank N. Furter
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6787
Posted: 10:52am 30 Jan 2024
Copy link to clipboard 
Print this post

It is more or less a standard PicoMite really. GP8 and GP9 become the console connection via a USB-TTL converter and the normal RP2040 USB connection, normally used for the console, becomes the USB host port. The firmware has been changed, obviously.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
Frank N. Furter
Guru

Joined: 28/05/2012
Location: Germany
Posts: 828
Posted: 11:20am 30 Jan 2024
Copy link to clipboard 
Print this post

  Mixtel90 said  It is more or less a standard PicoMite really. GP8 and GP9 become the console connection via a USB-TTL converter and the normal RP2040 USB connection, normally used for the console, becomes the USB host port. The firmware has been changed, obviously.


Can an ILI9341 or SSD1963 then be used as a console?
That would be a great enrichment!

Frank
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6787
Posted: 12:03pm 30 Jan 2024
Copy link to clipboard 
Print this post

Not at the moment, but I suspect the USB code will be put onto the standard PicoMite as well as the PicoMite VGA. The LCD display would be just that - the display.

The USB system is replacing the original PS2 keyboard.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2350
Posted: 12:37pm 30 Jan 2024
Copy link to clipboard 
Print this post

  Mixtel90 said  The USB system is replacing the original PS2 keyboard


far more than that. as a USB HOST the picomite VGA will be able to accommodate keyboard, mouse, sony PS3 and PS4 games controllers, CDC serial ports, etc. hence why Peter has used the term "Colour Maximite 1.5".

there is also the possibility of USB attached display devices. ie, a secondary pico with an LCD screen attached that acts as the console display. the USB connection can supposedly handle data rates up to 12Mbps, surpassing(?) that supported by the pico's SPI controller.

btw - Peter, you appear to be permanently dedicating two pins to a serial console. this isn't really necessary, as a serial console port can be created by just plugging a USB-to-serial adapter in place of the USB keyboard.


cheers,
rob   :-)
 
JanVolk
Senior Member

Joined: 28/01/2023
Location: Netherlands
Posts: 144
Posted: 03:43pm 30 Jan 2024
Copy link to clipboard 
Print this post

Peter

Looks good.
Some more points for improvement. The option list is still missing from the PCB.
The coding is not yet available for all components, as is the case for all ICs and various components.
Place some more information such as L, R, GND and other connectors at U10 and U11 or the soldering location.
For the 40 pin main connector, is it possible that 3V3 is better than VCC?
I see that the Vref power supply also has better interference suppression through L3 and why is this not present on the main connector?
A possibility would be to replace VCC -> Vref and a GND pair with a 3V3 pair, leaving 3x 3V3 pins and a Vref and the layout remains fairly standard and no longer a shortage of 3V3 pins?

Jan
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4233
Posted: 03:54pm 30 Jan 2024
Copy link to clipboard 
Print this post

  JanVolk said  Peter

Looks good.
Some more points for improvement. The option list is still missing from the PCB.
The coding is not yet available for all components, as is the case for all ICs and various components.
Place some more information such as L, R, GND and other connectors at U10 and U11 or the soldering location.
For the 40 pin main connector, is it possible that 3V3 is better than VCC?
I see that the Vref power supply also has better interference suppression through L3 and why is this not present on the main connector?
A possibility would be to replace VCC -> Vref and a GND pair with a 3V3 pair, leaving 3x 3V3 pins and a Vref and the layout remains fairly standard and no longer a shortage of 3V3 pins?

Jan


Next revision maybe.....


PicomiteVGA PETSCII ROBOTS
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4233
Posted: 03:59pm 30 Jan 2024
Copy link to clipboard 
Print this post

@Peter,

About the boards, what do I need to provide myself ? The 40 pin I assume ? All other TH parts ? Potmeter/VGA/vertical USB/ screw terminals ?

Volhout
PicomiteVGA PETSCII ROBOTS
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6787
Posted: 04:05pm 30 Jan 2024
Copy link to clipboard 
Print this post

If there is trouble with the USB stack for some reason the Pico's only USB port, and hence anything connected to it, is disabled. I suspect that's why a console via GP8/GP9 was considered desirable. The only way out of a mess like that otherwise is to reload MMBasic and possibly lose everything in flash. Only guessing.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9115
Posted: 04:39pm 30 Jan 2024
Copy link to clipboard 
Print this post

  Quote  About the boards, what do I need to provide myself ?


Nothing except a battery, they come ready to run
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9115
Posted: 04:59pm 30 Jan 2024
Copy link to clipboard 
Print this post

Another update

I bought the cheapest USB gamepad on Amazon UK

and it is working perfectly over USB on the CMM1.5
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6787
Posted: 05:22pm 30 Jan 2024
Copy link to clipboard 
Print this post

Excellent! I got two of those from AE for roughly half that price. One didn't work on arrival - it needed me to fiddle with it before it did (broken track at one of the button pads). They both work fine under Windows now.

I bought them to see if they were suitable for conversion from USB to SNES or I2C. No need to continue with that now. :)
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
JanVolk
Senior Member

Joined: 28/01/2023
Location: Netherlands
Posts: 144
Posted: 06:03pm 30 Jan 2024
Copy link to clipboard 
Print this post

I also have this game pad.
Then it will soon be universal and plug a USB keyboard into the USB slot of the PicoMiteVGA 1.5 to write and adjust a program and you are done, then insert the USB game pad into the USB slot and start gaming.
I'm looking forward to the latest firmware version to try it out.

Jan
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9115
Posted: 06:32pm 30 Jan 2024
Copy link to clipboard 
Print this post

I need some inspiration - Tom where are you?

The firmware will support a 4-port hub so up to 4 gamepads + a Wii Classic in a worst (best?) case.
I will modify the DEV WII function to be DEV(GAMEPAD n,function) where n is 0 (Wii classic) to 4 (1-4 represent the 4 slots on the USB hub). This is basically the same as the CMM2 approach.

The issue is that I can't see an automated way for the Basic program to know which channel is connected to which USB controller. AFAIK TinyUSB doesn't give any information on which port on a hub a device is plugged into.

For convenience in the firmware I would like the channel to be just the order in which USB devices are enumerated. So if I plug in a keyboard and then a controller. The controller would be on channel 2 so DEV(GAMEPAD 2,B) would return the state of all the buttons as per the Wii Classic.

I can easily add a MM.INFO function
MM.INFO(USB n)
which returns what is on which channel KBD, MOUSE, PS4, PS3, Generic

or
MM.INFO(GAMEPAD n) which returns the channel of the nth Gamepad

but you still can't distinguish between two connected generic gamepads.

Maybe, this is something the Basic program has to do?

"Player 1, Please press your Select button"

MM.INFO(SELECT PRESSED) ' returns 1 to 4 if USB

Thoughts
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4039
Posted: 07:17pm 30 Jan 2024
Copy link to clipboard 
Print this post

  matherp said  I need some inspiration - Tom where are you?


I didn't realise I was your muse Peter, I'm not sure I can handle that sort of responsibility .

  matherp said  Maybe, this is something the Basic program has to do?


Definitely.

1. Press START to play
2. Poll USB/Gamepads
3. First one to read START is player 1
4. And if necessary second one to press START is player 2, etc.

There is no imposition by the firmware of channel 1 <=> player 1, channel 2 <=> player 2.

Don't add any special function to read START/SELECT.

Ensure DEV(GAMEPAD n, function) returns something useful (not an ERROR) if n is not a gamepad.

Best wishes,

Tom.
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
vegipete

Guru

Joined: 29/01/2013
Location: Canada
Posts: 1109
Posted: 08:26pm 30 Jan 2024
Copy link to clipboard 
Print this post

  Quote  I will modify the DEV WII function to be DEV(GAMEPAD n,function) where n is 0 (Wii classic) to 4


Can you specify more closely yet what n actually means?
The Wii Classic is connected to (one of the) I2C channels. Is it out of the question to connect 2 Wii Classics, each on a different I2C channel? Then n would refer to I2C channel.

Then the USB controllers could be numbered with, say, negative addresses.
Visit Vegipete's *Mite Library for cool programs.
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9306
Posted: 11:22pm 30 Jan 2024
Copy link to clipboard 
Print this post

  matherp said  Once I receive the boards and test everything out I will of course make all the design files available - perhaps Grogster might be persuaded to list them?


Grogster might.  

In fact, I will.
I'm watching the thread with interest, but as soon as Peter and the other testers have tested the prototypes and are happy with things, I will certainly add them as a product on my website.  Fully assembled/programmed/tested board only.  No case at this stage.
Smoke makes things work. When the smoke gets out, it stops!
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9306
Posted: 11:38pm 30 Jan 2024
Copy link to clipboard 
Print this post

Oh, and on the CR1220 button cells - over here in NZ, they are dead-easy to find, and not expensive.  I expect that is a situation that Peter is also familiar with, where-ever he is in the UK.

I HAVE had plenty of people - mostly from America - who have bought CMM2's who say that the 1220 cell is very hard to find, and they have to go to specialist jeweler shops to get one, and the mark-up makes them fantastically expensive purchased that way.

As batteries like this are a prohibited item, I cannot ship the CMM2's anywhere with the button cell included.  Technically I COULD, but if customs did a check and found a cell in there, I would be the one who would get in trouble for it, so......

Having said that, the move to the 2032 cell is a good move.  Those cells are easy to get anywhere as far as I know.  It was only via CMM2 sales, that I even was made aware that the 1220 cell is hard and expensive to find in some countries.

Live and learn.
Smoke makes things work. When the smoke gets out, it stops!
 
     Page 4 of 13    
Print this page
© JAQ Software 2024