Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/henrywait/picocangauge
A CAN bus Gauge using MCP2515 and GC9A01 Round display on Raspberry Pi Pico written in CircuitPython
https://github.com/henrywait/picocangauge
can car circuitpython gc9a01 haltech mcp2515 mx5 pico
Last synced: about 1 month ago
JSON representation
A CAN bus Gauge using MCP2515 and GC9A01 Round display on Raspberry Pi Pico written in CircuitPython
- Host: GitHub
- URL: https://github.com/henrywait/picocangauge
- Owner: HenryWait
- Created: 2024-09-12T23:32:31.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-10-24T11:33:03.000Z (about 2 months ago)
- Last Synced: 2024-11-17T04:45:05.578Z (about 1 month ago)
- Topics: can, car, circuitpython, gc9a01, haltech, mcp2515, mx5, pico
- Language: Python
- Homepage:
- Size: 33.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# PicoCANGauge
Car is running a Haltech Elite 1500 ECU, [CAN protocal](https://www.ptmotorsport.com.au/wp-content/uploads/2022/09/Haltech-CAN-Broadcast-Protocol-V2.35.0-1.pdf)Hardware:
==========================================================
- Raspberry Pi Pico 2 (should work on a RP2040 Pico as well)
- Waveshare 1.28" Round Display Module with touch (GC9A01 display driver)
- Adafruit PiCowBell MCP2515 CANbus module
- 3D printed display housing that fits inside an MX5 NA/NB airventInstalling dependencies with Circup
==========================================================Make sure that you have ``circup`` installed in your Python environment.
Install it with the following command if necessary:pip3 install circup
With ``circup`` installed and your CircuitPython device connected use the
following command to install all the dependencies:circup install gc9a01 toml displayio_dial adafruit_mcp2515
Or the following command to update an existing version:
circup update
TODO:
==========================================================
- Add labels below the gauges to tell which is which
- Change the Tic marks to match the range/scale of different channels being displayed
at the moment they will only display 0-100 so I have chosen to set the tick font size to 0 for channels this doesn't make sense for.
- Do an alternate version or mode where one dial occupies the full display
- Add touch, adafruit_cst8xx should work with the waveshare display, have the touch cycle through different sets of gauges/dials.
- Implement a menu that can modify the settings.toml