Giter Club home page Giter Club logo

neotron-pico's People

Contributors

9names avatar detegr avatar erkinalp avatar jonathanpallant avatar nollkolltroll avatar pferreir avatar thejpster avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

neotron-pico's Issues

DIR pin on 74HC245 is pulled the wrong way

The line should be tied high. It is tied low. This means the buffer is driving back into the CS outputs of the MCP23S17.

The workaround is to lift Pin 1 and bridge it across to the Vcc pin on the opposite side.

Fix slot numberings

The slot numbers on the schematic don't match the slot numbers on the silkscreen.

Both should match the 3-bit A[2..0] number.

Swap standby reg for HT7533-1

The MAX1615 is hard to get and costs £2.00. The Holtek HT7533-1 is a JLCPCB basic part and costs $0.15. Max input voltage is 30V, max current is 100mA.

Pull-up resistors for PS/2 are confusing

I designed the damned board and I still managed to fit the four resistors side by side, perpendicular to the rear of the PS/2 connector.

|   |   |   |

This is wrong. They should be

--   --
--   --

We need better silkscreen, and maybe to spread them out a bit so you can't fit them wrong.

HDD Power

There should be somewhere you can power a hard drive, optical drive, or other big storage device.

We could fit a Molex socket, or SATA power socket or a Berg if we're current limited.

How much current does an HDD use at 12V? We only have a 2A fuse. Maybe HDD power should be unfused, or have a higher rated fuse? How much does a FDD need?

Note 5V PSU takes 15W maximum.

Delete Slot 6 - add separate expansion header

Slot 6 is kind of out by itself. We should just put some 0.1" holes at the board edge with all the slot 6/7 signals.

You could use this to add a side-car to take it up to full ATX if you wanted. Or any other kind of add-on that is best to sit flat, rather than be on an expansion card.

Alternative Parts

Where parts have both a DIP and SOIC footprint, we should offer both on the PCB (one under the other). This gives flexibility when ordering parts.

We should also add a pull-up pack to allow the use of the open-drain MCP23S18 in place of the MCP23S17, as that has better availability right now.

Fit TPD7S019 bypass pins

The TPD7S019 is hard to obtain. If we fit bypass links for HSYNC, VSYNC, DDC_SCL and DDC_SDA, the system will work without it fitted (but with 3.3V sync signals instead of 5V, no ESD protection on the VGA pins, and with 5V DDC signals).

SPI Chip-Select pins need pull-ups

When the buffer is disabled, all the CS pins will float instead of being pulled high.

(Except the SD card CS pin, as that has a pull-up. And the STM32 can enable its internal pull-up. But slots 2 through 7 will float).

Reverse polarity protection

It's very easy to connect a DC jack in reverse. We should at least fit a 2A Schottky diode to prevent the board being damaged if the polarity is wrong. Ideally we'd have a bridge so that either would work.

Take 5V input

By taking 12V-18V in, we give ourselves flexibility, but we require a ~£7 PSU module that's not currently in stock.

If we took 5V DC in, we'd skip that problem completely. That would drive a 3.3V standby LDO for the BMC, the power/standby LEDs (solving #46), and a high-side power switch like the MIC2544 (costs about 75 pence). The power switch then supplies the rest of the board. It also acts as a fuse.

Stack Up and Vias

Signal/Power
Ground
Ground
Signal/Power

Fit transfer vias between Ground Layers right next to signal vias between L1 and L4.

Codec CS pin needs pulling

In I²C mode the CS pin on the codec sets the bottom but of the 7-bit I²C address.

It seems to default high (giving 0x1B) but we should pull it high to avoid problems.

Lower DAC resistors

Drop the DAC resistors from 12k / 24k to 1k / 2k. Hopefully a bit more current through the DAC will help reduce the noise.

Check what is available at 1% accuracy from JLCPCB.

Add headers for CS and IRQ

You can sniff SPI from an expansion slot, but maybe bring all CS and IRQ lines to a header for sniffing.

Ground stitching

Can we get a script to pepper the board with vias? If not, do it by hand.

Use CPL

Octopart has a "common parts library", which part numbers for generic items (like resistors, capacitors, etc). In the Octopart BOM tool these will then map to a manufacturer specific equivalent.

https://octopart.com/common-parts-library

We should use parts from the CPL in this repo.

12bit VGA DAC non linear

One of the reasons the VGA DACs might be non linear going from 0111 to 1000 is that the digital outputs going into the R-2R networks are not perfect sources either because they do not go fully to 0V and 3.3V and also because they may have output impedance. Can be checked by measuring the voltages on the 12 outputs when set to 0111 0111 0111 and then 1000 1000 1000 and seeing how imperfect they are.

Increase LED current

The LED current for the external case LEDs is a little low. On the Checkmate A1500 Plus case, the orange HDD light is OK, but the green power light is a bit dim.

If the LED forward drop is 2V, with a 1 kΩ current limiting resistor, that's 1.3mA. With a 1.7V LED it's 1.6mA. With a green or blue LED at 3.2V, we'll only pass 100 µA!

PCs will typically provide 5V for the case LEDs. Maybe we need to generate 5V stand-by (e.g. TPS7A2450DBVR 5V 200mA LDO), as well as 3.3V. We can switch LEDs powered from 5V by setting the STM32 pins to be open drain (i.e. GND or High-Z).

This also has the advantage that:

a) We can power the keyboard from the 5V SB, for keyboard power-on.
b) It moves the LED current off the 30mA MAX1615 (or we could just make this LDO more powerful...)
c) It makes moving to an ATX power connector easier, because they provide 5VSB.

We would control an ATX PSU with a nPS_ON signal - pulling that line to ground to start the PSU.

Test Audio

  • Line In
  • Headphone Out
  • Line Out
  • Microphone In
  • Volume/register control

Check trace widths

Ensure they meet current handling requirements - more than fuse can handle so fuse blows first! Also check widths for 50 ohm impedance.

On board switches

We should add pads for SMT or THT push switches for power and reset. Flat, vertical ones, not the horizontal ones the N32 used.

Move the Pico

It's confusing having the Pico on the edge of the PCB. If you plug power in, it drives the IO lines and can back power stuff, which is bad.

Maybe move it inboard. Also means you can internally wire the microAB to an internal USB hub on an expansion card.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.