Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 22:40 10 Jul 2025 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 : Proof of concept - design your own Pico system.

Author Message
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 7856
Posted: 06:28pm 26 Jan 2025
Copy link to clipboard 
Print this post

What it says really - just a proof of concept at the moment. I haven't even thought of a silly name for it yet. :) All errors, spelling mistakes etc. are copyright Mixtel 90.

This needs the RM2015M enclosure as the stacked display modules make it too high for the usual one.



1. Choose your processor

You can use either a Raspberry Pi Pico or a Pico 2. The PCB is designed for these only and is unlikely to work with any module that is not 100% compatible both electrically and mechanically.

The Pico uses the RP2040. This is the original module. It will not work with the HDMI display under MMBasic.

The Pico 2 uses the RP2350A. This will work with all the display modules.



2. Surface mount or plug-in Pico?

If surface mounting you will need the vertical USB-C programming connector.
There are no jump wires needed for the Pico.
You have the advantage of the shortest HDMI connections and most rugged construction.
The disadvantage is that it is very difficult to remove the Pico.

If making it plug-in you will need to provide the headers and sockets for the Pico.
You will need the "mini" micro-USB plug to connect the USB signals to the USB-C programming connector position (which is not fitted).
If you want the red heartbeat signal on the front panel you will need a jumper wire connected to the pad beneath the Pico.
The plug-in assembly is less rugged and you will have to remove it from the case to update MMBasic (you have to unplug the "mini" connector and plug in the PC lead but there is likely to be insufficient clearance for this).
You do have the advantage of an easily upgradable system though.



3. Choose a Display option

There are three alternative systems, each requires its own variation of MMBasic:

LCD - this is for connecting a SPI display with or without touch support. It uses the SPI (SPI0) port. The connector is a polarised 10-pin box header, suitable for connecting a ribbon cable via a IDC plug.
1 - GND 2 - MISO
3 - DC 4 - CLK
5 - RESET 6 - MOSI
7 - CS 8 - T_IRQ
9 - VCC (5V) 10 - T_CS
Example:
OPTION SYSTEM SPI, GP18, GP19, GP16
OPTION LCDPANEL ILI9341, L, GP17, GP14, GP15
OPTION TOUCH GP13, GP12

VGA - The standard MMBasic VGA display system.
Example:
OPTION VGA PINS GP14, GP16

DVI - using a standard HDMI connection. This is not supported on the original RP2040 Pico under MMBasic.
OPTION HDMI PINS 13, 14, 16, 19

The display modules plug into the same header that the Adafruit HDMI breakout board uses. The rear end is supported on two insulating pillars.



4 - Choose an Audio system

There are four alternative options here:

PWM - This uses the filter designed by Volhout.
Example:
OPTION AUDIO GP10, GP11

SPI DAC - Using the MCP48x2 chip to give 8-bit, 10-bit or 12-bit resolution.
Example:
OPTION AUDIO SPI GP7, GP10, GP11

VS1053 - This is a hardware CODEC module which also supports MIDI playback. This uses all the spare GPIO pins. If udsing this module you will need to solder wires to the rear of the SPK socket and connect them to the 3-pin header next to the front panel jack socket.
Example:
OPTION AUDIO VS1053, GP26, GP27, GP28, GP7, GP5, GP4, GP6

I2S DAC - Using a PCM5102 module. This is not supported on the original RP2040 Pico.
Example:
OPTION AUDIO I2S GP10, GP7

.
Edited 2025-01-27 04:30 by Mixtel90
Mick

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

Guru

Joined: 01/10/2023
Location: Ukraine
Posts: 458
Posted: 07:23pm 26 Jan 2025
Copy link to clipboard 
Print this post

One HDMI video connector should be made on the main board, and the other two optionally on additional boards.
Also, for the VGA video output, you can make a switching scheme for the VGA121/VGA222 palette (there are 8 lines involved anyway).There are many interesting retro emulator projects for this VGA222 circuit.

I would also think about how to drag the Pico module to the edge of the board, thereby getting rid of the USB connector for programming and at the same time the heartbeat LED nearby. If you put the Pico module on the connector, there will be space under it for the USB Hub switch
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 7856
Posted: 07:47pm 26 Jan 2025
Copy link to clipboard 
Print this post

No.  :)

To do things like that needs a bigger board. Bigger boards cost appreciably more even if they are only slightly bigger than 100x100.

There's no point in having both a VGA or LCD on the board as well as HDMI. You can never use HDMI with anything else so it's pointless to make the design more complicated. All three versions need different firmware anyway.

There will be no VGA switching unless MMBasic supports it - there's no point as I couldn't support it. I'm not going to learn another language. :)

At the moment there is barely 5mm between the "mini" plug and the front panel. If you *do* make the switch accessible as well as the Pico's USB then you have no choice but to connect the usb by wire links to the pads under the Pico - and someone *will* screw things up by plugging something into the USB when they shouldn't i.e. most of the time.

It also means a non-standard case and I'm not going that way. I start with an available case and work round that.

-----------------
Edit:
I just realized. If you wanted 222 VGA all you need is a VGA display module with a different resistor network. You might need to go SMD though, but it's possible. The other 2 pins are there, just not used.
Edited 2025-01-27 06:43 by Mixtel90
Mick

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

Joined: 05/03/2018
Location: Netherlands
Posts: 5053
Posted: 08:18am 27 Jan 2025
Copy link to clipboard 
Print this post

Hi Mick,

This would be a good modular board to test out all the varieties of PicoMite, without having to own 12 different designs. It only lacks the PS2 connectors (mouse and keyboard). But honestly, I fail to see the PS2 mouse advantage since large majority of these are ball mice (not optical) and I wonder if you still can find mice that are in good working order.

It may also be a good idea remove the linear regulator (jumper disable). The switcher is more efficient, is present, and for non-PWM audio it may not matter. DAC's all have their own internal reference.

Regards,

Volhout
PicomiteVGA PETSCII ROBOTS
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 7856
Posted: 09:47am 27 Jan 2025
Copy link to clipboard 
Print this post

Strangely enough, the regulator was a fairly late addition. :) I'm with you though, I'm not sure that it's necessary. The only thing it's used for is to reduce noise on a PWM audio output. I might just get rid of it, it's only something else to go wrong.

Of course, if you aren't using the VS1053 it might be possible for someone to connect PS2 stuff to the GPIO pins in some way. You just can't have GP8 and GP9.

-------------------------

EDIT

I'd just like to point out that I can't develop this to a build yet. It's totally dependent on getting the fixing hole dimensions and positions of the Adafruit DVI breakout module and seeing if they happen to line up with (or be close enough to) those of the VGA socket. They appear to be very close, but until I can get a module I can't tell. They are in pretty short supply in the UK, only Pi Hut appears to have any at all and they only had 17 when I last looked. I have one on order now anyway.
Edited 2025-01-27 20:30 by Mixtel90
Mick

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

Joined: 05/03/2018
Location: Netherlands
Posts: 5053
Posted: 11:16am 27 Jan 2025
Copy link to clipboard 
Print this post

Hi Mick,

Might not be a major issue, but on the USB  hub that I have here, the distance between USB2 and USB3 is wider than the distance between USB1 and USB4. Something like 1.5mm different.

Volhout
PicomiteVGA PETSCII ROBOTS
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 7856
Posted: 11:42am 27 Jan 2025
Copy link to clipboard 
Print this post

Yeah, they are funny sizes. Don't pay too much attention to the accuracy at this stage - I seem to have picked up the wrong Makro in SL6. I've deleted that one now. :)


Fixed. The original makro was a guesstimate as I couldn't find a dimensioned drawing anywhere. The second was produced by putting the module on a piece of paper and using a pin to prick holes in a piece of paper then measuring it!
Edited 2025-01-27 21:53 by Mixtel90
Mick

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

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 7856
Posted: 11:22am 29 Jan 2025
Copy link to clipboard 
Print this post

I've just got my DVI breakout board and it looks like things will fit nicely. :)  The fixing centres are identical but I have to use M2.5 spacers rather than M3. The VS1053 spacer really needs M3 as M2,5 is rather "sloppy".

Incidentally, there is a dimensioned drawing of the DVI board but some essential dimensions are missing. The Eagle file is available but I haven't got that.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
Print this page


To reply to this topic, you need to log in.

The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025