Search results

  1. brtaylor

    ICM-20948 Magnetometer Rate Issues

    That's a good idea, I'll have to read through their library. The commit mentioned with the two different read methods for the mag is eb4b930 on the icm-dev branch.
  2. brtaylor

    ICM-20948 Magnetometer Rate Issues

    Updated the icm-dev branch to include a driver for the AK09916. Two read methods are defined: 1. Read1 - starting from AK09916 register ST1, does a block read up to and including ST2. After the bulk read, check the ST1 register to see if the data ready flag was set, and if it was, update the mag...
  3. brtaylor

    ICM-20948 Magnetometer Rate Issues

    I've been working on updating my InvenSense IMU library to include support for the ICM-20948. It is located here in the "icm-dev" branch: https://github.com/bolderflight/invensense-imu/tree/icm-dev The sensor has a 6 DOF IMU and a 3 DOF mag all on the same die. You can access the magnetometer...
  4. brtaylor

    New Madgwick Fusion Filter

    Looks like setting I2C_IF_DIS right after boot enables SPI Mode 3 to work with Teensy.
  5. brtaylor

    New Madgwick Fusion Filter

    Seems to work on SPI Mode 0 instead of Mode 3. Noticed a note about setting I2C_IF_DIS immediately on power up, going to see what that does. Still need to test the DRDY.
  6. brtaylor

    New Madgwick Fusion Filter

    @mjs513, thanks! I created a branch of my library here to work on integrating the ICM-20649: https://github.com/bolderflight/invensense-imu/tree/icm-dev It seems to work with STM32, but I can't communicate with the sensor using SPI and Teensy 3.2. Working on trying to figure that out now.
  7. brtaylor

    New Madgwick Fusion Filter

    @mjs513, were you ever able to get the data ready interrupt to work on the ICM-20649?
  8. brtaylor

    GPS Module and Library Recommendations

    I meant no drops of RTK, but I understand what you're saying now. I'd have to go back and sift through the data. We were feeding the GPS data through an EKF with IMU data to get a state estimate at a higher rate, so an occasional frame drop from the GPS wouldn't have been a big deal. I'll update...
  9. brtaylor

    GPS Module and Library Recommendations

    Agree with Andy, most of the time we setup the module using u-center and then just parse the messages. UBX-NAV-PVT is good for most situations. If you use the ZED-F9P, you would probably also want UBX-NAV-HPPOSLLH in addition to the UBX-NAV-PVT packet to get better accuracy in the results. If...
  10. brtaylor

    GPS Module and Library Recommendations

    I use uBlox modules and the UBX binary format. I like the SAM modules if I'm looking for something low cost and the ZED-F9P modules if I need accuracy or am planning on using CORS or RTK. Parsing the binary data is much more efficient than parsing NMEA. I have a library that parses the UBX...
  11. brtaylor

    SPI and Serial communication not working on teensy 4.x

    SPI absolutely works on Teensy. That looks a lot like reading / writing registers for InvenSense sensors as well (i.e. masking with 0x80 to read). 1. Recommend using digitalWriteFast instead of digitalWrite for toggling the CS line. 2. Also recommend using beginTransaction and endTransaction in...
  12. brtaylor

    Future Teensy features & pinout

    Hi Paul, thanks! That's super helpful to have a better understanding of what that flow might look like. I'll certainly post here or reach out via email if / when we get to a more detailed design stage. Likely early next year.
  13. brtaylor

    Future Teensy features & pinout

    Paul, would you be ok with another manufacturer going that route? I really wanted MMOD to be successful, but I'm hesitant using them in our products since it's our name on the box and our customers would (correctly) blame us for unreliability if it fails in the field. So far, we've only used...
  14. brtaylor

    Need Advice On BolderFlight Sbus Sketch

    You can't change the number of channels, that is defined as a constant: https://github.com/bolderflight/sbus/blob/main/src/sbus.h#L43 It's needed to be constant, an SBUS packet is consists of a header and then all of the channel data, so every component receiving an SBUS packet receives all of...
  15. brtaylor

    Need Advice On BolderFlight Sbus Sketch

    Nothing is standing out to me - maybe it's something as silly as not having the serial port open so it's sitting in the while loop waiting for that.
  16. brtaylor

    Need Advice On BolderFlight Sbus Sketch

    This is what I was thinking for step 1. It's the same setup as the passthrough, which worked, just overwriting the value with the POT value. I avoid using the map function, since I'm not sure how well that works, but mapping a 10 bit read, which IIRC is what is default without using...
  17. brtaylor

    Need Advice On BolderFlight Sbus Sketch

    1. Leaving the Teensy set up as in the passthrough test, I would comment out the part of the code that sets the data struct to the read data struct and replace it with your potentiometer values. You're still using the receiver for timing, but the pot for everything else. Verify that you can now...
  18. brtaylor

    Need Advice On BolderFlight Sbus Sketch

    Couple other things to check is: 1. that the servo has some high current power source, 2. the servo power ground is shared with the Teensy ground.
  19. brtaylor

    Need Advice On BolderFlight Sbus Sketch

    Hi Matt, Nothing is standing out to me and correct, the signal should already be inverted. If I were in this position, I would probably use the SBUS library in a passthrough configuration: SBUS Receiver --> Teensy --> Gimbal I'm assuming that this will work given that you've already tested...
  20. brtaylor

    Need Advice On BolderFlight Sbus Sketch

    I would try setting the command for all 16 SBUS channels in case there is an issue with the channel numbering. Obviously the library is 0 based, but some of the programmers are 1 based, so there could be some confusion about what channel you're trying to control. I would also try keeping the...
  21. brtaylor

    Simulink Embedded Coder Target for Teensy

    That's really cool and I look forward to testing it. My only initial request would be to use a more permissive license, such as MIT.
  22. brtaylor

    Getting temp from MPU6050 that is returned in 2's compliment

    That actually looks correct to me. Look at the register map and the formula is: Temperature in degrees C = (TEMP_OUT Register Value as a signed quantity)/340 + 36.53 For your example, I get 28 C, about 83 F. Considering it's die temperature, I would expect it to read a little higher than room...
  23. brtaylor

    Going from Teensy to "Real Product"?

    That does sound really nice!
  24. brtaylor

    Going from Teensy to "Real Product"?

    1. My company bought a ton of MKL26Z64VFT4 chips that are still sitting sealed in the bag from Digikey / mouser - let me know if you need some, I'd be willing to sell at cost. Yes, you can basically mimic the design as long as you understand the reasoning behind the schematic (i.e. placing...
  25. brtaylor

    In Search of Teensy 3.6

    Hello, I'm in search of 3 Teensy 3.6 and willing to pay silly prices for them. Please message me if you have any available.
  26. brtaylor

    Future Teensy features & pinout

    Maybe two pins (I have to push two buttons when uploading code to the ESP32). But, yeah, super simple. Would be really cool if it was integrated with the Teensy bootloader so you could flash teensy code over wifi, either on a local network or an image hosted on a server.
  27. brtaylor

    Future Teensy features & pinout

    We're doing something similar with a product that we're developing (STM32 for processing and an ESP32 for wifi). We use one USB port and set the STM32 to act like a USB to UART bridge when we want to program the ESP32. Works fairly well, if not time consuming to have to load the bridge software...
  28. brtaylor

    New Madgwick Fusion Filter

    Sweet! No need for WOM. My goal is to just have basic functionality working across the line of devices. I'll try it out.
  29. brtaylor

    New Madgwick Fusion Filter

    Neat and the yaw makes sense. If anyone else comes along to use this, all my stuff here is MIT licensed.
  30. brtaylor

    Next step after successful prototyping?

    I do have some MMOD boards if you or anyone needs some.
  31. brtaylor

    New Madgwick Fusion Filter

    Thanks! Downloaded the thesis.
  32. brtaylor

    New Madgwick Fusion Filter

    You're right, just had to set NED in the filter settings and it worked well with a standard aeronautics coordinate system for the sensor data. I had to adjust the filter gain, but otherwise the performance seems good on first glance. I could probably also tune the accelerometer rejection...
  33. brtaylor

    New Madgwick Fusion Filter

    Hey Mike, getting around to playing with this filter and seeing if you recall offhand what the axis orientation is? X forward, Y right, and Z down?
  34. brtaylor

    Teensy 4.1 - NXP MIMXRT1062DVJ6B

    I've been running the 528 MHz clock just to keep the temperatures lower. Don't notice a difference in performance for my applications. Would be interesting to know if all the components could hit those temperature ranges with the packages used on Teensy 4.1, otherwise, I suspect new packages...
  35. brtaylor

    Teensy 4.1 - NXP MIMXRT1062DVJ6B

    My opinion - Teensy 4.1 with ethernet, that's all we use these days.
  36. brtaylor

    Self Contained (i.e. Atomic) Sketch

    @Ed, seems like I should learn PlatformIO then. The issue is I would then need to plop all of my library source files directly into the sketch and hope those libraries also use the same scheme. I was hoping that I could just make a local lib folder as a sub-directory in my sketch and "just...
  37. brtaylor

    Self Contained (i.e. Atomic) Sketch

    I have a sketch that depends on several libraries. Instead of using the libraries in my "Arduino/libraries" folder, I would like to use local copies instead. The purpose is to enable me to freeze the library versions for this project, along with any necessary modifications, and keep the latest...
  38. brtaylor

    Interface manually Simulink Teensy

    Note that CMake isn't required, it just automates some steps in the process. You use Simulink to generate header and source files and copy those into the Arduino directory. I like to configure a processor in embedded coder so that my types are correct (i.e. the size of pointer, etc).
  39. brtaylor

    Interface manually Simulink Teensy

    Simulink will not directly interface with any of the Teensy boards. Big picture, I use embedded coder to generate a header and source file from Simulink and then include those files as part of a larger compilation. For Arduino, that would mean copying the header and source generated by embedded...
  40. brtaylor

    Best way to organize eeprom locations

    If I'm being lazy and know I won't be near the EEPROM size, I define a struct that gets written to and read from EEPROM. As an example: struct Config { float p; float i; fload d; }; uint8_t buf[sizeof(Config)]; /* Write to EEPROM */ void Write(uint8_t *buffer, std::size_t len) { if...
  41. brtaylor

    SPI Bus only first declared chip select board reads properly.

    Sometimes helps to de-select all of the SPI devices before initializing them. Try adding this to the beginning of setup: pinMode(8, OUTPUT); pinMode(9, OUTPUT); pinMode(10, OUTPUT); digitalWriteFast(8, HIGH); digitalWriteFast(9, HIGH); digitalWriteFast(10, HIGH); Otherwise, agree that maybe...
  42. brtaylor

    New Madgwick Fusion Filter

    I think that must have been the breakout board that you saw, the raw chips are still around $350 - $400: https://www.digikey.com/en/products/detail/ADIS16505-3BMLZ/505-ADIS16505-3BMLZ-ND/11483286?curr=usd&utm_campaign=buynow&utm_medium=aggregator&utm_source=octopart I've been doing a lot of RTK...
  43. brtaylor

    New Madgwick Fusion Filter

    I haven't seen much in the low cost space. Most of my projects have been using the MPU-6500 since I was able to purchase a lot of them. I honestly really like that sensor - it's easy to integrate from both a hardware and software standpoint. Looks like the BMI-088 / BMI-090 is finally available...
  44. brtaylor

    New Madgwick Fusion Filter

    Neat, that seems to be working really well! I'm excited to try it out on a couple of upcoming projects.
  45. brtaylor

    New Madgwick Fusion Filter

    Neat! Any idea what the license would be?
  46. brtaylor

    Browser-based device configuration over USB

    That would be pretty cool and is one of the features I really liked about the BeagleBone Black. I use a web-based configuration tool for a data acquisition system I developed, but it does require the user to plug in the ethernet cable, set a static IP, and then navigate to a specific IP address...
  47. brtaylor

    A useful statistics class

    Cool! I implemented something similar in the past, also using Welford: https://github.com/bolderflight/statistics Does single pass and moving window stats.
  48. brtaylor

    I need help with the PCB board development process

    You'll want to read the reference manual. Then you'll want to use the same pins as on a Teensy, unless you want to edit the pin definitions. Not much. You can avoid connecting the bus voltage on the USB connector. You'll still need ground and the data pins. I think you still need to supply...
  49. brtaylor

    All my eggs in one basket

    All of our high performance products are on the 1062 processor now and we're not really having any issues with those. I try to maintain inventory in-house to ride out any unexpected supply chain disruptions and put in orders or backorders with Mouser when I do production runs. They have been...
  50. brtaylor

    Processor-in-the-loop (PIL) with Teensy?

    Seriously, take a look at our SPAARO project in the simulation folder: https://github.com/bolderflight/spaaro/tree/main/simulation There's a pretty generic vehicle dynamics model and the option to load some defaults for a fixed-wing drone. It requires MATLAB Simulink and Aerospace Toolbox. If...
Back
Top