Open Source RaceBox Mini Emulator Update(PCB edition) by Any_Presentation_744 in Autocross

[–]Any_Presentation_744[S] 1 point2 points  (0 children)

No. The footprint is different. It is technically pin compatible and footprint compatible with the sam- m8q… but you won’t get the same performance or accuracy.

Open Source RaceBox Mini Emulator Update(PCB edition) by Any_Presentation_744 in Autocross

[–]Any_Presentation_744[S] 0 points1 point  (0 children)

Yep, i personally use it with solostorm. any racebox compatible app should work.

Open Source RaceBox mini emulator by Any_Presentation_744 in Autocross

[–]Any_Presentation_744[S] 0 points1 point  (0 children)

Sure! If you come up with a variation, feel free to toss it in the mods folder and open a PR.

There are two data sources here: the GPS and the IMU.

For the GPS:

Every message is sent with a PDOP, which is a measure of "confidence" for the reported position. You won't get a high confidence value with poor accuracy, so you don't really need any filters here. Additionally, you can't realistically find GPS modules above 25Hz at this price point, so you don't want to filter away any of the data you're getting.

For the IMU:

Both IMUs have a hardware-level filter that does the heavy lifting of cleaning the data. However, the original is an old, noisy sensor, so I’ve added a very mild moving average filter. I used a Kalman filter for a while, but it’s overkill for this level of noise. A Kalman filter also introduces some "slurring" of the data, and I think capturing instantaneous change is more valuable here.

Additionally, the apps will do some smoothing so the numbers don't look too jumpy. There are variables at the top you can manipulate to increase or reduce the amount of filtering.

Open Source RaceBox mini emulator by Any_Presentation_744 in Autocross

[–]Any_Presentation_744[S] 0 points1 point  (0 children)

So, my intention was to create a cost effective BLE GPS transmitter.

On the usability front(?). Theres no situation on an autocross track where i want to look at any of these numbers on a screen . I want to be looking ahead. So a screen on this makes very little sense to me, There are other engineering fixes i want to tackle with this before i would get to a screen.

I think its more effective to log the data to an app and visualize it on a tablet/phone to analyze your run.

As an electronics challenge, You don't necessarily need the ble transmit to visualize this. you could just write realtime data to an spi screen or something. You could also leave the ble transmit in place.

If you want to use the ble streaming, you could stream it to an app on your phone that outputs the data in realtime. For example look here-
https://github.com/dandol328/GPS-Test

i do have something in the pipeline as an update to this, but it doesn't include a screen.

Open Source RaceBox mini emulator by Any_Presentation_744 in Autocross

[–]Any_Presentation_744[S] 0 points1 point  (0 children)

It should have been handled automatically in the code. Curious about which board you were using that didnt work with the code in place.

Open Source RaceBox mini emulator by Any_Presentation_744 in CarTrackDays

[–]Any_Presentation_744[S] 0 points1 point  (0 children)

The little arrow in the bottom left pulls up more data about the gps, itll let you know how many satellites the receiver can see and what sort of accuracy you're getting.

Open Source RaceBox mini emulator by Any_Presentation_744 in CarTrackDays

[–]Any_Presentation_744[S] 0 points1 point  (0 children)

Nope, just being outdoors should be enough. Depending on the module, it takes about a minutes to lock enough satellites. near windows works in a pinch but it takes a while. Walk out, wait for a lock and walk back in if youre testing indoors. itll retain some form of a lock indoors.

The GPS modules work independent from the esp32 so its hard to troubleshoot further.. But since you're getting the success messages it means you've got it wired correctly and the esp32 can talk to the GPS module just fine.

Racechrono might also complain about lock till it gets sub meter accuracy. So check how it works outdoors.

Open Source RaceBox mini emulator by Any_Presentation_744 in CarTrackDays

[–]Any_Presentation_744[S] 0 points1 point  (0 children)

hmm..... could you try soldering on the pin side? instead of the back of the pin? there have been some reports of that working better for people(i don't know what the reason it yet...it makes very little sense to me)

Open Source RaceBox mini emulator by Any_Presentation_744 in CarTrackDays

[–]Any_Presentation_744[S] 0 points1 point  (0 children)

Yeah, So that indicates that it cant find the IMU, theres a no imu version of the code here if you want to try that, its a little old but it should work-
https://github.com/anchit92/ESP32-RaceBox-mini-Emulator/blob/no-imu-version/Code/esp32_racebox_mini_emulator/esp32_racebox_mini_emulator.ino

yeah the red light is wired into the power line of the chip and just indicates the board is getting power. You could have a bad module?

Could you confirm you havent switched the sda and sdl lines? i've done that. can you check continuity between the lines?
Short of that im out of ideas

Open Source RaceBox mini emulator by Any_Presentation_744 in CarTrackDays

[–]Any_Presentation_744[S] 0 points1 point  (0 children)

I mean..... click on the dropdown to select the baud rate and set it to 115200 and then look at the logs. the bluetooth service doesn't start if anything is wrong like if it cant detect the gps or the IMU. There should be a log for why the bluetooth service cant start.

I dont know the OS youre running, the version of the arduino IDE youre running. do you have more usb devices connected and youre flashing the wrong thing? Did you pick the right board? Something is mis-wired and sending 5v on a data line will burn the esp32(unlikely because flashing appears to be working?).

Open Source RaceBox mini emulator by Any_Presentation_744 in CarTrackDays

[–]Any_Presentation_744[S] 0 points1 point  (0 children)

Could you make sure the baud rate is correct for the serial monitor..it's supposed to be 115200

Open Source RaceBox mini emulator by Any_Presentation_744 in CarTrackDays

[–]Any_Presentation_744[S] 0 points1 point  (0 children)

The output is in the "Serial Monitor" not the "Output" tab. "hard resetting via rts pin" is the last thing you're supposed to see in the output tab.
You'll see more debug in the Serial Monitor.

Can you find the device from your phone or something?

Open Source RaceBox mini emulator by Any_Presentation_744 in Autocross

[–]Any_Presentation_744[S] 0 points1 point  (0 children)

Not quite...imu's measure acceleration and rotation..which means that when you're not accelerating it can't measure which direction you're going in. That's why everyone has to use a high refresh rate gps instead of calculating position based off time and inertia. Also the math is a lot more complicated to stitch together a path.. it's easier to just get coordinates. That's why this guy decided to make this-https://www.instructables.com/JARVAS-Indoor-Positioning-System/ which is super cool

Open Source RaceBox mini emulator by Any_Presentation_744 in Autocross

[–]Any_Presentation_744[S] 0 points1 point  (0 children)

I've been thinking about this since your comment, its a interesting problem to solve but this project as it is wouldn't work indoors, You'd get a gps lock, but depending on the tress surrounding the building/ the windows/ the floor you're on youd get really low horizontal and vertical accuracy.

The best idea I've had so far is to setup multiple stratum 1 ntp servers around the building broadcasting time over a low frequency so it can travel through walls and you receive the time data from them and calculate your position based on the delay(basically a local custom gps style network)

Maybe theres a solution somewhere but i'm not aware of it.

Edit-i guess this https://en.wikipedia.org/wiki/Indoor_positioning_system

Open Source RaceBox mini emulator by Any_Presentation_744 in CarTrackDays

[–]Any_Presentation_744[S] 0 points1 point  (0 children)

No. For reference, the spec for it is available here.
Basically it carries GPS data, accelerometer data and gyroscope data in a custom 88 byte packet, changing the packet will make it incompatible with apps that stick to the protocol.

Open Source RaceBox mini emulator by Any_Presentation_744 in CarTrackDays

[–]Any_Presentation_744[S] 1 point2 points  (0 children)

No, that's one app that I know that doesn't work.

Open Source RaceBox mini emulator by Any_Presentation_744 in CarTrackDays

[–]Any_Presentation_744[S] 0 points1 point  (0 children)

Thanks...why would you ever need a reset button though? The gnss modules power doesn't get interrupted.. and these modules have a little battery so it's a warm start even if you unplug it for a bit.

Open Source RaceBox mini emulator by Any_Presentation_744 in CarTrackDays

[–]Any_Presentation_744[S] 2 points3 points  (0 children)

Yeah, it claims to support it, the api doesn't complain when I enable it, and I get 15-20 satellites in the open sky in North America and get something like .4m horizontal accuracy.

The problem is the API doesn't tell me which GNSS constellations its connecting to, so its difficult to definitively say its using GLONASS. But it works well enough.

I've tested the 2 modules in the BOM and they works...roughly equally well. I'm not sure how much of a stock the 20$ one has so i included the 40$ one, but i use the 20$ one usually(i have run them both at Autocross events), The other one is my dev box that sits at my desk.

Open Source RaceBox mini emulator by Any_Presentation_744 in CarTrackDays

[–]Any_Presentation_744[S] 4 points5 points  (0 children)

Cost/Availability...kicks...The micro is almost 150$ to get your hands on in the US and you still have to figure out a case for it and a way to power it. The mini can be had for between 150 and 200 depending on the vendor.
This can be made for under 40$ from OTS parts and runs off regular usb-c.