Close

There are two cores, funny enough...

A project log for ATLAS

Built the tricorder I actually wanted in the field: one that warns, not just measures.

apollo-timbersApollo Timbers 07/28/2025 at 22:290 Comments

So here’s the thing. I went through the painstaking process of converting the entire codebase to C++. All of it. Beautifully brutal. (10,000 lines yep...) Then I noticed it was running slower than CircuitPython. Which, for the record, is like being outpaced by a kid on a tricycle while you're driving a sports car with the parking brake on.

Turns out Python, bless its interpreted little heart, automatically spreads the workload across both cores. Meanwhile, my glorious C++ code was partying hard on just one core like it was 2002.

And yes, in case you're wondering, the RP2350 in the Pico 2 has two cores. Two whole floating point capable cores just sitting there, sipping coffee, waiting to be asked to do literally anything. Moral of the story: delegate. Core 1 now handles sensor polling and weather logic, which includes some wonderfully blocking sensor reads. Core 0 sticks to the main loop and display manager like it’s got a purpose again.

Bonus update. I added my favorite feature yet: a working compass using the BNO085 IMU. It’s ridiculously accurate. I compared it to a real compass and was honestly insulted by how well it performed. So yeah, navigation just got a serious upgrade.

Next on the roadmap is breadcrumb mode. Mark your path using sensor fusion, then retrace your steps like a tiny digital Hansel, minus the birds.

Anyway, if you want to see the thing, here’s the teaser site:

https://realatlas.carrd.co

Go ahead. Click it. Your browser probably won’t catch fire.

Discussions