PicoCalc + Raspberry Pi CM4

I’ve been doing some initial tinkering with a Raspberry Pi CM4 and the PicoCalc, in the hopes of figuring out a proper schematic to get the PicoCalc peropherals working correctly before spinning a board that would plug in to the Pico slot.

I used the Waveshare CM4 Nano carrier board, and worked on getting the SPI display working using the following instructions:

These almost worked (with rotated, inverted color display, that had an offset issue) – a handful of changes to the library worked to get it rotated, normal color, and set to 320x320.

Hoping to work on the keyboard/etc next.

I haven’t been able to figure out exactly how much current the Pico slot can source on the 3.3V rail from the schematic – hopefully it’s a fair amount (and enough for a boost to 5V near 2A), or this may be a non-starter. :slight_smile:

8 Likes

An additional picture:

6 Likes

A little like taking a hemi and putting it in a fiat but I dig it!

1 Like

Hello, can this keyboard be set up to work properly

Not really when you consider how powerful a 5 year old android phone is and how small physically that is.

I’m having some success with a ported version of the Pico keyboard driver in userland, but it’ll take me a bit more tinkering to get it working as a proper kernel driver – that’s a little outside my past experience. But, forward progress is being made!

2 Likes

Should have included a screenshot:

1 Like

You could have systemd load the keyboard script for you until you work out a driver.

1 Like

Thanks @Rex , I’ve been attempting that, but for some reason it only appears to work when I run it from the console. There must be an order issue, or the i2c driver not available yet, or something, that I need to figure out. It’s just slow to debug when the system requires a full power down / reboot on most changes. :slight_smile:

2 Likes

Could you port some of the stuff which was developed by hisptoot for the Lyra? GitHub - hisptoot/picocalc_luckfox_lyra

1 Like

I was (thankfully) able to get an initial keyboard driver working, and compiled as a kernel module. Progress!

5 Likes

One of my main questions has been whether powering the CM4 would be a challenge, given that the Picocalc power circuitry looks complex, and I can’t entirely figure out how much supply current the Picocalc socket has from the schematic.

I made an attempt to power the Picocalc through a 3.3V → 5V buck/boost power supply from Pololu tonight ( Pololu 5V Step-Up Voltage Regulator U1V11F5 ), without success. For some reason, powering the Pololu buck/boost from the 3.3V on the Picocalc socket caused a very low voltage on that line, and zero output. I tried powering the Pololu buck/boost through an external supply at 3.3V, as well as just powering the CM4 directly from the bench supply, and both worked. So I’m not entirely sure what the issue is, and it’ll take a bit more research to figure out why the internal 3.3V is not working as a supply for the buck/boost.

1 Like

it’s probably hitting overcurrent protection for the 3.3v line. You need to get your voltage from the vsys line, but I’m still not sure if it’ll provide the needed current after passing through the axp and switch chip.

Also, that polulu board is way undersized for your load…

Quick update: It definitely looks like the buck/boost is undersized – it doesn’t power X windows for longer than a few seconds, even when provided input from a bench supply instead of the PicoCalc regulators. I’ve ordered one that’s supposed to be good for up to 4 amps ( Pololu - 5V Step-Up Voltage Regulator U3V40F5 ), but it looks like at least 2 amps in the regime this is likely to operate in, so hopefully there will be a bit more success with that.

I am a little bit worried about the PicoCalc’s ability to source current. I haven’t been able to find a datasheet for the WAS4603 (U102) that supplies PICO_VSYS, but I located it on the board and it’s quite small, so I suspect it’s likely not good for more than 250-500mA at the maximum. The MCU_3V3 line on Channel 1 of the AXP2101 is supposed to be good for only 2A (@3.3V), which is likely only in the neighbourhood of 1.3A (@5V) with 100% efficiency – so likely closer to 1A with realistic expectations.

If that’s the case it’d likely mean that the CM4 would have to be directly powered from the batteries, though I’m not sure how fantastic that’d be while they’re charging. The maximum charge current is 1A (less than the CM4 would take, so a net loss to the charge), and I’m assuming that’d make it a bit challenging for the charge circuitry to monitor the charge level.

1 Like