Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

operating details #2

Closed
icon-oclast opened this issue Oct 8, 2023 · 3 comments
Closed

operating details #2

icon-oclast opened this issue Oct 8, 2023 · 3 comments

Comments

@icon-oclast
Copy link

This keyboard has some very unique features not found in any other keyboard.
Unfortunately there appears to be little information regarding these beyond the build instructions. Some of these may benefit from some additional detail. For example:

  • What are the dip switches used for? Is there a recommended default setting for these?
  • Presumably the switch/jumper labeled "pi power" controls pass-through power from the Pico to the Zero? Is there a minimum USB current needed when powering both boards? Is there a maximum safe current to pass-through (when using the optional display hat for example)? Is it safe to power the zero independently by setting the pi power switch/jumper to off?
  • What about the two connectors at the bottom of the board, either 4-pin jst sockets as in the build instructions, or possibly 5-pin headers on some revisions of the pcb, how are they intended to be used?
  • What cool things can we do if we include the optional 90 degree pin header(s)?

Any details or suggestions are greatly appreciated!

@zli117
Copy link
Owner

zli117 commented Oct 8, 2023

Hello icon-oclast, thanks for the questions. Here are the responses:

What are the dip switches used for? Is there a recommended default setting for these?

The 4 positions are for each line of the SPI connection between the pi pico and pi zero. This allows cutting the connections between pi pico and pi zero without cutting the power connections. I initially designed it for the (paranoid) scenario where I can't kill the pi zero, but doesn't want it to do autotype or receiving the key strokes, but I found such scenario increasing unlikely. So, if you don't want to solder the DIP switches, feel free to just short the corresponding pins

Presumably the switch/jumper labeled "pi power" controls pass-through power from the Pico to the Zero?

Yes

Is there a minimum USB current needed when powering both boards

I don't have the empirical measurements, but here's the estimate:
Pico: <20mA. Data source: https://mjoldfield.com/atelier/2021/11/pico-power.html
SSD1306: <7mA. Data source: https://hsel.co.uk/2018/12/04/ssd1306-power-consumption/
Pi Zero W: <400mA under stress. Data source: https://www.tomshardware.com/reviews/raspberry-pi-zero-2-w-review
Pi Zero 2 W: <600mA under stress.

So let's say it's 700mA if you want to stress the pi zero. I did run the stressberry on pi zero 2 w, with the display hat, and a wireless mouse receiver. The board is connected to the USB3.0 port and there's no under voltage warning, and no visible heat up on the cable or the connectors. However, due to differences on the motherboards, YMMY. I currently don't have a USB power meter to measure the actual current drawn.

Is there a maximum safe current to pass-through (when using the optional display hat for example)?

The trace between pico and pi zero has width of 1mm, and length around 300mm. Assuming you're using 1oz copper thickness, it should result in a maximum current of 1.2 A for temperature rise of 10 degree C.

Is it safe to power the zero independently by setting the pi power switch/jumper to off?

Yes.

What about the two connectors at the bottom of the board, either 4-pin jst sockets as in the build instructions, or possibly 5-pin headers on some revisions of the pcb, how are they intended to be used?

They are for my future plans :) Essentially, they expose three buttons from the key scan matrix, and pin 26 and 27. Pin 26 and 27 are analog input pins as well as I2C 1. I'm planning to create a plugin module for the joystick mouse pad similar to the one I have on the Pico-Keyboard, and an I2C expansion board for more modules like a num pad. However, I'm currently busy preparing the kits as requested by many folks on reddit so it'll have to wait

What cool things can we do if we include the optional 90 degree pin header(s)?

The pin header under the small screen has been removed, because I figured it'll be difficult to use it for anything without creating a giant mess in the firmware. The other header exposes the addressable LEDs. Only WS2812 is supported and tested because it's used in the Pico-Keyboard. However, you might be able to use for other things as it's essentially a GPIO pin with ground and 5V, and a 330 ohm resister on the GPIO pin.

@icon-oclast
Copy link
Author

This is great information, Thank you!
I hope this info will make it into a future revision of the readme or other documentation file (or at the very least a github project wiki page or whatever).

I do really like the idea of having a data connection cutoff switch(es) separate from the board pass-through power. I'm sure there are a few use cases where that might come in handy.

I'm looking forward to whatever expansion modules you come up with. There's a lot of cool potential here.

@zli117
Copy link
Owner

zli117 commented Nov 19, 2023

Thank you for the great questions! I've added them to the README, as you suggested. Close the issue for now.

@zli117 zli117 closed this as completed Nov 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants