

CanPressure
NMEA2000 Sensor based on ATTiny3224 for Pressure, Temperature, Humidity
- Size
- 66.4 × 28.1 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 18
- Nets
- 20
- Pads
- 79
- Tracks, vias
- 185, 14
- Pours
- 6
- Routed
- Yes
- KiCad
- KiCad 4
- Created
- 10 Jul 2022
- Updated
- 13 Jul 2026
Overview
CanPressure is an open-source printed circuit board by ieb, from the ieb/CanPressure repository on GitHub. It is a 2-layer board of 66.4 × 28.1 mm with 18 parts on 20 nets, routed with 185 tracks and 14 vias.
It is built around the ATTINY3224-SSU, BMP280 and MCP2515-I, with the TJA1050 among its other parts. Its parts include 8 capacitors, 5 ICs, 2 resistors, 2 connectors and 1 crystal. It belongs with the AVR (ATmega, ATtiny) boards of this library.
Main components
4ATTINY3224-SSU
SOIC-14-40℃~+85℃ 1.8V~5.5V 12 12bit 20MHz 256Byte 32KB 3KB 8 Bit AVR Built-in FLASH SOIC-14 Microcontrollers (MCU/MPU/SOC) ROHSMicrochip TechnologyMicrocontrollers (MCU/MPU/SOC)BMP280
LGA-8(2x2.5)-40℃~+85℃ 0.12hpa 1.5pa/K 1.71V~3.6V 1hpa 300nA 30Kpa~1.1bar I2C、SPI Integrated ADC and digital interface、On-chip calibration and non-volatile storage、Standby mode、On-chip temperature output LGA-8(2x2.5) Pressure Sensors ROHSBoschPressure SensorsMCP2515-I
TSSOP-20-40℃~+85℃ 1Mbps 1uA 2.7V~5.5V 5mA CAN Controller SPI TSSOP-20 CAN Controllers ROHSTokmasCAN ControllersTJA1050
SOIC-8SOIC-8 New Arrivals ROHSPhilips SemiconsUncategorised
README
README.mdCan Pressure sender
- Emits PGN 130310L Outside Environmental parameters and 130311L Environmental parameters with temperature, pressure, humidity from a BME280 sensor.
- Draws about 10-15mA. Uses a Attiny3224, MCP2551 CAN using an 8MHz crystal, and TJ1050.
- Attiny runs at 16MHz, but could almost certainly run slower for lower power consumption.
- PCB in pcb/ measures 66mmx27mm and is powered by 12v from NMEA2000 bus, 5V via a AMS1117, BMP280 module has its own 622K 3v regulator and level shifters.
- Needs a UDPI Programmer (I am using a UNO based programmer)
- Header for TTL Serial debugging using single character command line input.
Note, if the MCP Crystal does not match the code, when the device is plugged in it will address claim at the wrong bus frequency causing all other devices on the bus to start to fail. Check before programming that the device is running with an 8MHz MCP crystal. Change the code if using a 16MHz crystal.
Pins and Layout
-------------------------------------------
| a b c d e |
| A AMS1117 |
| B TJ1050 |
| C ATTiny |
| D MCP2551 3224 BME280 |
| |
-------------------------------------------
Debug and Programming Header
a GND
b 5V
c UDPI
d RX
e TX
NMEA2000 Interface
A 12V
B GND
C CanL
D CanHCommand line on TTL
Battery Monitor - key presses
- 'h' or '?' to show this message
- 's' show status
- 'd' toggle diagnostics
- 'r' read sensor
- 'S' setup
- 'R' reset
- 'F' factory reset- R will cause the Attiny to reboot.
- S enters setup allowing some EEPROM parameters to be set
- F resets the EEPROM to the Factory settings
- r reads the sensors and dumps to serial.
- d toggles disagnostic output which includes CAN Frame data
- s reports current status including packet counts, MCP Voltage and temperature.
Developing
- Uses PlatformIO in VSCode
- Before flashing for the first time set the fuses to ensure that the chip has the correct clock.
pio run -t fuses - To build
pio run -t upload
Parts
18| Qty | Value | Footprint | References |
|---|---|---|---|
| 3 | 100nF | Capacitors_SMD:C_0805 | C104, C105, C201 |
| 3 | 10uF | Capacitors_SMD:C_0805 | C103, C106, C206 |
| 2 | 22pF | Resistors_SMD:R_0603_HandSoldering | C101, C102 |
| 1 | 10K | Resistors_SMD:R_0805_HandSoldering | R101 |
| 1 | 270R | Resistors_SMD:R_0805_HandSoldering | R102 |
| 1 | 8MHz | Crystals:Resonator-2pin_w10.0mm_h5.0mm | X101 |
| 1 | ATTINY3224-SS | Housings_SOIC:SOIC-14_3.9x8.7mm_Pitch1.27mm | IC101 |
| 1 | BMP280 | Divers:BMP280 | U105 |
| 1 | CAN | Connect:bornier4 | P103 |
| 1 | CONN_5 | Pin_Headers:Pin_Header_Straight_1x05 | P102 |
| 1 | MCP2515 | Housings_SOIC:SOIC-18W_7.5x11.6mm_Pitch1.27mm | U101 |
| 1 | NCP1117ST50T3G | TO_SOT_Packages_SMD:SOT-223-3Lead_TabPin2 | U103 |
| 1 | TJA1050 | Housings_SOIC:SOIC-8_3.9x4.9mm_Pitch1.27mm | U102 |
Questions
How big is the CanPressure PCB?
It measures 66.4 × 28.1 mm and has 2 copper layers, 1.6 mm thick.
What parts does the CanPressure use?
18 parts, built around the ATTINY3224-SSU, BMP280, MCP2515-I and TJA1050. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the CanPressure KiCad files?
From the ieb/CanPressure repository on GitHub, at the commit this page was made from: the board is pcb/CanPressure.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the CanPressure design in my own project?
Its repository states no licence, so its author keeps all rights: ask ieb before reusing the design.
Similar boards
- 2 layers89.2 × 38.3 mm

- 2 layers87.3 × 28.3 mm

NMEA2000Shunt
ieb/NMEA2000Shunt
NMEA2000 Shunt for measuring current, voltage, temperature based on a INA219.
26 parts - 2 layers106.7 × 61.6 mm

PiCanBoard
ieb/EngineManagement
Replacement engine electronics for a Volvo Penta D2-40 and other MDI based engines.
48 parts1 - 2 layers80.5 × 84.5 mm

- 2 layers56.7 × 25.4 mm

BatteryMonitorATTiny3224
ieb/BatterySensor
A Modbus RTU Battery Current and Voltage sensor board based Attiny3224, MAX485, MAX9918 chips.
24 parts1 - 2 layers64.6 × 47.9 mm

- 2 layers21.1 × 19.6 mm

Soic14-bb
jaco-pixeldump/attiny-soic-14-barebone-breakout-board
A compact, breadboard-friendly breakout adapter PCB for 14-pin SOIC Microchip ATtiny microcontrollers (such as ATtiny3224, ATtiny1624, ATtiny824, ATtiny424, as well as 1-series and 0-series parts like ATtiny1614…
5 parts1MIT - 2 layers79 × 80 mm
