esphome / esphome/feature-requests

Support for Pimoroni Badger 2040 W

Open
#2,961 15 comments 1 reaction 0 assignees View on GitHub
Dominant language
No language data
Stars
450
Forks
29
PR merge metrics
No merged PRs in 30d

Description

**Describe the problem you have/What new integration you would like**
Full support for [Pimoroni Badger 2040 W](https://shop.pimoroni.com/products/badger-2040-w?variant=40514062188627), including driving the e-paper display and using the onboard PCF85063A RTC chip for time keeping and sleep wake.

Ideally, the documentation would feature examples on how to use all onboard components (e-paper, LED, buttons, RTC chip).

**Please describe your use case for this integration and alternatives you've tried:**
Alternatives are custom code in Arduino/C or MicroPython, but nothing as integrated to HomeAssistant.

Pimoroni provides libraries in MicroPython and C++:
https://github.com/pimoroni/pimoroni-pico
https://github.com/pimoroni/badger2040

Looks like there's a driver for UC8151, which matches a chipset from adafruit used in a e-paper screen. Not sure it's the same though.
https://github.com/pimoroni/pimoroni-pico/tree/main/drivers/uc8151
https://www.adafruit.com/product/4262

**Additional context**
I tried the following config:
```yaml
esphome:
name: badger2040-test
friendly_name: badger2040-test

rp2040:
board: rpipicow

spi:
clk_pin: GPIO18
mosi_pin: GPIO19
miso_pin: GPIO16

display:
- platform: waveshare_epaper
cs_pin: GPIO17
dc_pin: GPIO20
busy_pin: GPIO26
reset_pin: GPIO21
model: 2.90in-b
update_interval: 1s
lambda: |-
it.line(0, 0, 50, 50);
```

The screen blinks continuously and shows the expected line, sometimes. When increasing the update_interval, like setting it to 10s, the line never appears but the screen blinks on every refresh.
I tried showing the test card but the screen doesn't change.

Models `2.90in-b` and `2.90in-bV3` are the only ones where the screen does something. For all other 2.90 variants, the screen remains in its original state when booting.

Please let me know if I can help test things. I have several Badgers at home, I can easily spare one.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by comparing the linked Pimoroni Badger 2040 and UC8151 drivers with ESPHome's existing waveshare_epaper configuration shown in the issue. Determine the hardware requirements for the e-paper display, RTC, LED, and buttons; done means integrated support works and documentation includes examples for each onboard component.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, yaml
Domain
embedded-iot
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.