[FRC BLOG] SystemCore Alpha Testing - First Wave

Hopefully this “hack” is carried forward, it’s very convenient for those accidental e-stops in the build space. I wouldn’t consider a redeploy to clear the e-stop to be unsafe given its effectively the same as a power cycle.

2 Likes

IMO, the more challenging and time consuming is to resolve an e-stop, the more reluctant teams will be to use it. Estop is doing it’s job if it stops the robot, and requires any intentional interaction beyond simply re-enabling. If it requires a full power cycle, radio included, plus a re-connection, then teams are going to simply avoid it entirely, which is a knock to safety.

On our team we’re very stringent about safety policies, and anytime we’re running untested control code that might misbehave or hit hard stops, we have someone on the enter button. But notably not the space bar, because e-stops are already too much friction to fix for the amount of “when in doubt hit the button” we want to encourage.
But, as a consequence we have sometimes seen in actual emergencies our our team’s muscle memory in surprises is aiming for the smaller, less obvious key.

17 Likes

Thank you - I remembered one of the two worked to reset it. I just click both in sequence :grinning:

1 Like

I don’t know, but don’t get that twisted for Team 4011 Bananabots. Some people might or might not know that.

1 Like

Yeah… I’m very curious to hear about what sort of Vision performance teams start to get out of systemcore. The weight/space/time/complexity savings of no additional processors would be so cool. Running a typical command based robot program at 200hz should be light work for the CM5.

Were working on some solutions to put a mini pc onboard, and although I’d expect higher FPS vision solutions, I’d trade that for 1 system that can run at decent FPS.

5 Likes

I may have missed it…what is the internal storage? Is it 4Gb? 8? 32? Is it upgradable? Why wasn’t OrangePi an option? Not challenging this version…just asking questions.

1 Like

(1) They’re using the Raspberry Pi Compute module – I don’t think OrangePi has an equivalent product
(2) IIRC, they’re getting support from the Raspberry Pi Foundation
(3) I don’t think OrangePi is as reliable of a supplier, and their software support infrastructure is practically non-existent.

9 Likes

I know that with Photonvision they recommend it (OrangePi)…and it is cheaper. Of course LL uses RasPi for there systems…potentially they want to use it more dominantly for this application.

I am not mad about it…just asking. I know that the vast majority of Pi versions have microSD slots…do these? or is it not upgradable?

1 Like

It’s currently using the 16 GB CM5 variant. Technically is possible to put a CM5 with a bigger emmc on it in the device, but if the rules allow that won’t be known until 2027.

3 Likes

Thanks. I was just curious as I could find the documentation anywhere…or I was just blind when looking for it.

1 Like

I don’t know if its been explicitly documented. But 16 GB is the smallest CM5 Pi makes, unless you choose the no emmc variant. Which is not what was chosen.

3 Likes

OPi does make a similar product based on the Rockchip RK3588S. I believe the Rockchip RK3588 has readily available documentation online hence its use in the OPi, and projects like the anyon_e laptop. The RPi CM5 is based on the Broadcom BCM2712, which has very similar specs to the RK3588.

In this case, the OrangePi CM5 (4gb RAM, 32gb storage variant) is $9 more expensive than the 4/32 RPi CM5. However, if you take into account that SystemCore is using the 4/16 variant of the CM5 (of which OPi has no comparable product), the difference jumps to $14.5

4 Likes

Yay I2C! This is an LSM6DSOX gyro on the SystemCore I2C bus with a simple Java interface.

i2c

You can see in the GIF that it does a very small amount of clock stretching, not a stress test. Still working on longer stretching examples.

16 Likes

TBF, the Raspberry Pi 5 and the official CM5 carrier doesn’t have a reset button.

1 Like

ras pi 5 is because it uses an SD card, I’m not sure about the official carrier but I’m guessing it’s similar. With those, you can pull out the card and reflash it.

1 Like

I believe carrier has the choice between usb, ethernet, m.2, ssd, microsd, and emmc booting (I’m not 100% sure as I didn’t have time to look at the entire datasheet, so someone correct me if I’m wrong). However, I’m a bit confused on how having a reset button has anything to do with the SD card, as you don’t normally pull out the SD card to restart the Pi because it corrupts the operating system.

2 Likes

Oh sorry, I was thinking of the reset button as a flash mode button. Generally when you hold the reset button and then power on, the device enters flash mode.

1 Like

CM4/CM5 carrier boards (basically the same) usually have a specially marked button or switch that needs to be pressed/switched for flash mode when plugged in, as there is no reset button. If the switch/button is not activated, the CM4/5 boots up the OS normally.


image

5 Likes

Here’s the “long I2C clock stretch” example. This is the BNO086 IMU without using the “interrupt” (data ready) pin. In this mode, the chip reacts to early reads by holding the clock down for a long time, 0.7 ms in this pic. This sort of thing famously doesn’t work with the RoboRIO (or any Raspberry Pi prior to the 5), but it seems not to harm the SystemCore at all – read requests are aborted repeatedly until data is ready.

If anyone has any other difficult I2C devices they’d like me to experiment with, let me know. I’ve tried most of the things we have lying around, they all work fine.

14 Likes

Good. FTC uses I2C a lot, so robust I2C is very important to us.

3 Likes