Search results

  1. W

    Teensy 4.1 PoE carrier

    Sorry it's taken me this long to get things in git. It's still not exactly in a presentable state, but you can find the design files here: https://github.com/wramsdell/Teensy-4.1-PoE It's in Altium, so unless you're running that package you'll probably need to download the free viewer. The...
  2. W

    Teensy 4.1 PoE carrier

    I'll go you one better. It's been running QNEthernet for a few months now, sitting on my lawn running a pixel Christmas tree. Aside from a couple of incidental power cycles due to grid outages, it's been translating Art-Net (UDP) to pixel format 24/7 without visibly missing a beat or crashing...
  3. W

    Teensy 4.1 PoE carrier

    Thanks, @shawn, and of course, I'd be happy to! I'll let you know what I find out. So far NativeEthernet has worked just fine, so I'd imagine QNEthernet will as well, the hardware is dead simple and seems to be solid.
  4. W

    Teensy 4.1 PoE carrier

    I just finished a design that may be of general interest. It's a Teensy 4.1 carrier with built-in 802.3bt 72W PoE negotiation, and the Teensy side fully electrically isolated from the Ethernet connection. There's a small regulator on board to power the Teensy and any additional small...
  5. W

    Teensy 4.1 Beta Test

    No, there were no SMT components populated...I added them. It's good practice to terminate the center tap on both sides of the Ethernet magnetics. The line side is typically shunted to ground through a 50- or 75-ohm resistor and a high-voltage cap. The device side is typically shunted to...
  6. W

    Teensy 4.1 Beta Test

    Okay, I take back the "1kV" comment. Looking at the datasheet in the link defragster posted, there's a 2kV 1000pF cap in the package already.
  7. W

    Teensy 4.1 Beta Test

    Can confirm. No ballast resistor needed for the LED. There are pads for tying the Ethernet connector shield (and by extension the wire side of the magnetics) to ground, as well as the circuit side center taps of the magnetics. I populated those with 0.1uF 100V caps, 1kV would be better for...
  8. W

    Teensy 4.1 Beta Test

    @manitou Thanks for that! Well heck, looks like everything's done then. Is there anything useful I can add at this point or should I move on to something else? Maybe work on getting the existing Arduino Ethernet library integrated with the T4.1 hardware, or is the plan to just move to lwip...
  9. W

    Teensy 4.1 Beta Test

    Also, before I totally reinvent the wheel, are there any existing functions/macros for things like setting the pin mux or pin configuration registers? What would be the most recent low-level library with good examples of canonical approaches to hardware manipulation?
  10. W

    Teensy 4.1 Beta Test

    So I'm starting work on the Ethernet interface now. In the past (for FlexIO and clock tree generation), my approach has been to start with known working code in MCUXpresso and then move that over to Arduino-land. For the clock configuration in particular, this has saved me considerable time...
  11. W

    [queued] TriantaduoWS2811, a 32-channel WS* library for Teensy 4.0 using FlexIO & DMA

    Nope, I've never investigated FastLED. Is it a front-end/back-end sort of thing where I could easily swap in my drive code and leverage the existing value manipulation functions?
  12. W

    [queued] TriantaduoWS2811, a 32-channel WS* library for Teensy 4.0 using FlexIO & DMA

    Thank you! In thinking about this some more, I'm tempted to do some more work with FlexIO and shift registers because it's just such a powerful combination. I *think* one could do 96 channels of PWM with 200ns resolution using 8 IOs: two clocks and 6 data lines. That would be an interesting feat.
  13. W

    [queued] TriantaduoWS2811, a 32-channel WS* library for Teensy 4.0 using FlexIO & DMA

    [queued] TriantaduoWS2811, a 32-channel WS* library for Teensy 4.0 using FlexIO & DMA Here's a project I've been working on to generate 32 WS* channels of up to 1000 LEDs each, with zero processor overhead through the use of FlexIO and DMA and external shift registers. Some features: 1000...
  14. W

    Teensy 3.6 Ethernet Shield

    NB: you'll probably want to use series termination on the RMII lines in the future. I've had EMI compliance issues with the LAN8720 with an unterminated clock line; 100 ohms of series resistance cleared it right up. I'd also strongly recommend a 4-layer design, at 50 MHz a solid groundplane is...
  15. W

    Teensy 3.6 Ethernet Shield

    Not only that, we're gonna solder a bunch of those audio codecs too! And 0402 resistors!! It's gonna be a party.
  16. W

    Arduinoesque overriding of core functionality

    Hi All, Sorry to have been absent from this thread...honestly, it was a bit of a fire-and-forget. I'm glad (and more than a little humbled) that folks have taken this on, and I'm fine with the repackaging and licensing. I am far from a software guy, more like a hardware guy who got frustrated...
  17. W

    PyMite (Python subset interpreter/VM) for Teensy3

    So now there's Micro Python in the mix too: http://www.kickstarter.com/projects/214379695/micro-python-python-for-microcontrollers The author says he'll be open-sourcing under the MIT license, so there's hope there, but my guess is that it may take a backseat to filling Kickstarter orders. I...
  18. W

    Arduinoesque overriding of core functionality

    An excellent point. It's actually pretty rare to need all 512 channels' information, so keeping tying up 1k of memory for it is pretty wasteful. If I get a chance at some point I'll add another constructor that allows a subset range of channels.
  19. W

    Arduinoesque overriding of core functionality

    All done. It's a shame DorkBot's not tomorrow night, or I'd haul my lighting console down and use it to flash some LEDs using the DMX library and OctoWS2811. To answer your question about breaks, yes, the UART core code registers the break as 0x00. The implementation details: I did pretty...
  20. W

    Arduinoesque overriding of core functionality

    I should also add that it's possible to do all of this within the existing structure, just by reading bytes out of the ring buffer and putting them in the DMX buffer. Maintaining two buffers and touching the bytes twice is a bit more expensive but a lot less intrusive. I could certainly be...
  21. W

    Arduinoesque overriding of core functionality

    Thanks for the quick response...on a Sunday morning, no less! The break detection's actually using the UART's frame error detection to trigger on the missing stop bit. It's a hack, but if you're seeing frame errors that aren't due to the break then you've got bigger problems. At any rate...
  22. W

    Arduinoesque overriding of core functionality

    I suppose one option would be to distribute new files with a bunch of #ifdefs or similar. That would prevent breaking the default functionality, but would still require touching the core code.
  23. W

    Arduinoesque overriding of core functionality

    I'm working on a project that uses UART0 for reception of DMX512 serial data and have everything working at this point, but in order to do that I had to significantly modify a few core files: mk20dx128.h, serial1.c, and hardwareserial.h in order to change the uart status ISR and serial buffer...
  24. W

    Serial line break detection

    I'm trying to use UART0 for reception of DMX512, a standard widely used in the entertainment industry for lighting control. Briefly, it's an RS-485 protocol, 250 kBaud. The structure is straightforward: 8 data bits, one start bit, two stop bits, 0-10 ms between bytes. Start of frame is...
Back
Top