Seeeduino (supported?)

Hi all, I'm new to microcontrollers but not to coding or general electrical wiring, general mechanics etc (I've done work on my own motorcycle). This seems like the next logical life skill to learn.

First of all, are questions about xiao rp2040 boards supported here? It's really hard to find active communities for seeed boards, but it is my assumption that it serves the same purpose as an Arduino (just a lot smaller) and knowledge between the 2 is interchangeable.
If Seeeduino projects are welcome here, let me actually describe the project, and humbly ask for feedback to see if I'm on the right track.

My use case is that I want to make a digital rev counter for my motor which will also display + log battery voltage and engine temperature. The data will be visible on an interface on a round spi display.
Much of this I have discussed with ChatGPT who helped me source the parts I need for bench testing and development, and I agree with the rules that its advise should be used with caution, and I'm excited to dive in head-first when my gear arrives.

My bench setup will consist of 2 seeeds: one to simulate rev pulses, the other to read and display them as rpm. I also bought a grove shield and an expansion card so I can plug everything I need to do into a 12v powered breadboard (400 pin layout) using grove- and Dupont cables. The microcontrollers themselves will draw power from their respective USB ports.

Once the development is complete, I'll solder the entire seeeduino to a PCB so that I can put everything in an enclosure (round spi display, the seeed/pcb sandwich, a buck converter and rtc module + battery) and put it on my bike for daily use.

Thanks for the link, can you please give me some context so I'll know how to use it?

When I have a detailed question on a SEEED board I ask in their forum;

https://forum.seeedstudio.com/c/products/xiao/91

Quite a few posts in the last day .......

It is that sort of comment that will not win you many friends here.

Yes. Depending on the question the question will fit in one of the subcategories of Projects - Arduino Forum or one of the subcategories of Other Hardware - Arduino Forum

Sorry, didn't want to get off on the wrong foot here. I agree that my tone could have been friendlier, but since I'm new here I made an effort to read the rules, and the general gist seems to be that people can only help you if you provide context. And vice versa, in order to be considered helpful, the same effort should be put into a reply.

Thanks, I might have a look there if I have specific questions about their platform. Given that this forum isn't limited to a single brand, I felt like this would be the best place to find info about everything else (the development setup, code and tools/modules in general etc). I'm looking forward to getting started and make some cool stuff happen!

have a look at the RP2040 FreqCountRP2 library ( A frequency counter library for the RP2040)
running Tools>Examples>FreqCountRP2>FreqCountTimer serial monitor output when inputting 10KHz, 1KHz and 100Hz square wavws

10KHz square wave
10000
9999
10000
9999
10000
9999
10000
9999
10000
9999
10000
9999
10000

------------------------------

1KHz square wave
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000

---------------------------------------
100
100
100
100
100
100
100
100
100
100

this generates a 500Hz square wave (GP16) and counts the pulses (GP27)

// RPi PICO RP2040 generate square wave and count pulses

// adapted from example Tools>Examples>FreqCountRP2>FreqCountTimer

#include "RPi_Pico_TimerInterrupt.h"

#define LED_BUILTIN 16  // pulse output

// Init RPI_PICO_Timer, can use any from 0-15 pseudo-hardware timers
RPI_PICO_Timer ITimer0(0);

// timer interrupt routine - invert pulse output
bool TimerHandler0(struct repeating_timer *t) {
  static bool toggle0 = false;
  //timer interrupt toggles pin LED_BUILTIN
  digitalWrite(LED_BUILTIN, toggle0);
  toggle0 = !toggle0;
  return true;
}

// setup pulse counter
#include "FreqCountRP2.h"

int inputPin = 27;   // pulse input - Must be odd-numbered pin.
int timerMs = 1000;  // period to count pulses

void setup() {
  Serial.begin(115200);
  delay(3000);
  pinMode(LED_BUILTIN, OUTPUT);
  Serial.print(F("\nStarting TimerInterruptTest on "));
  Serial.println(BOARD_NAME);
  Serial.println(RPI_PICO_TIMER_INTERRUPT_VERSION);
  Serial.print(F("CPU Frequency = "));
  Serial.print(F_CPU / 1000000);
  Serial.println(F(" MHz"));

  // Interval in microsecs - 1000 is 500Hz
  if (ITimer0.attachInterruptInterval(1000, TimerHandler0)) {
    Serial.print(F("Starting ITimer0 OK, millis() = "));
    Serial.println(millis());
  } else
    Serial.println(F("Can't set ITimer0. Select another freq. or timer"));

  Serial.println("\\nstarting pulse counter");
  FreqCountRP2.beginTimer(inputPin, timerMs);
}

void loop() {
  // if pulse requency count availabe print it
  if (FreqCountRP2.available()) {
    uint32_t frequency = FreqCountRP2.read();
    Serial.println(frequency);
  }
}

connect GP16 pulse output to GP27 pulse counter
serial monitor output

500
500
500
500
500
500
500
500
500
500
500

none too sure how the RP2040 will handle the electromagnetic interference present on a vehicle

scroll down the page

Awesome! This will be very helpful. The rpm logic seems like an easy-in for me, after this the rest should be fairly trivial.