CrazyRobMiles / PICO-Chord-keyboard

Chord Keyboard using a PICO and the Microwriter Cykey chords
45 stars 3 forks source link

HT16K33 power issue #2

Open codepope opened 2 years ago

codepope commented 2 years ago

Built out the pico and display as per the schematic and loaded a test app up on it with latest release CP. Reported no device at 0x70. After a long tear down and comparison with a Feather based config I'd put together, I eventually found the Adafruit CP docs for the HT16K33 breakout and they don't have the VDD(schematic)/VCC(on board) running to the Pico VBus. Instead, VDD/VCC and Vi2C are both wired to the 3.3v pin on the Pico. I repeated the process on my rig and the display turned up on 0x70 and worked at full brightness (only connecting VDD/VCC gives half brightness). Don't know if its a variation in the break out boards, bit with this being a fresh bits build, thought you might want to know. (Now onwards to keyswitches)

CrazyRobMiles commented 2 years ago

Thanks for the info. I've not seen this problem before. I wanted to power the keys and their lights directly from the usb power input and not put any load on the 3.3 regulator on the PICO (which I think is current limited). It might be that your usb connection is slightly current limited (some of the ones on my PC are very bad for this) or you have a thin usb cable (I've found some cables are very bad for this). Powering the keys from the 3.3 supply would reduce the total load on the input a bit and make a marginal power supply work. I'd say if it works, go for it. FYI, according to my little usb current monitor the device takes 135ma or so.

CrazyRobMiles commented 2 years ago

I've had a proper think about this and I think I was wrong about the cause of the problem. It is much more likely to be an issue with the way that NeoPixels need a signal level of at least 60% of the power voltage for the signal to be detected.

A PCIO is a 3.3 volt device and so the high level of the control signal going into the NeoPixel will be 3.3 volts. If the supply voltage gets close to or slightly above 5 volts the NeoPixel will not see any signal values coming in because 3.3 is less than 60% of the supply voltage. However, if you drop the supply voltage to 3.3 volts (which you are doing) the signal voltage is now well over 60% and it all works. I've found that while some pixels can handle less than 60% of signal voltage some (notably Adafruit branded ones) don't. I'm presently running a 64 pixel panel (at 0.3 brightness) of the 3.3v supply on a PICO and it seems to be working fine at the moment.

codepope commented 2 years ago

That makes sense - and deffo something for new builds to keep an eye open for. (Goes and gets a 4.9v psu :) )