Avatar for DrAzzy

DrAzzy

Member since Feb 2014 • Last active Aug 2020

I'm Spence Konde aka Dr. Azzy

I live and work in the People's Republic of Cambridge, near Boston, MA. I test the web gateway and web development framework for a database software firm for my day job, and sell PCBs and do electronics stuff on the side. I also own pinball machines, with all the maintenance that entails, and have made modifications to them as well.

In addition to Espruino, I do a lot of work with the Arduino platform and maintain a core that supports almost all ATTiny microcontrollers for the Arduino IDE.

I'm not a real doctor (I'd be happy to write you a prescription - but it'll be on the back of a cocktail napkin, and it'll be for a cocktail);

In a past life when I played Ragnarok Online, I wrote the AzzyAI homunculus and mercenary AI, which was used by thousands of players worldwide (ie, I'm that Azzy)

Most recent activity

  • in ESP8266
    Avatar for DrAzzy

    Depending on what is on the Arduino side, I may have some specific advice (very specific if it's an AVR - I know exactly what's needed in this case.)

  • in ESP8266
    Avatar for DrAzzy

    Oh ho ho! Finally a thread on here that is really in my wheelhouse! (I joined the electronics hobby with Espruino - the ease of the live console eliminated the barriers that had kept me from the hobby previously. But then I needed the real-time processing of Arduino, and started dabbling in that, then found my niche with ATTinyCore, and have since dove headfirst into low-level AVR stuff. I love programming so close to bare metal that I can feel the silicon under my fingertips... but I just don't have sufficient mental bandwidth to handle the complexity of STM32 at that depth (besides, their datasheets, particularly the separate manual and datasheet structure, are hell to navigate compared to the AVRs.) However, I still program with Arduino IDE, not the Microchip tools (good lord, I wasted three days just trying to get their thing to read the signature of their new part, using their own programming tool, without getting anywhere, before giving up and modifying the opensource firmware of jtag2updi so I could just use AVRdude like a normal person), and I still use Espruino whenever I have to touch a modern network. The internet, with it's world of variable length strings, was just not made for the fixed length character arrays of embedded C (with 512~2k (occasionally as high as 16k) of ram, and no way to clean up ram fragmentation, dynamic allocation on classical Arduino parts should be avoided like the plague). This generally means that when I use Espruino, I usually have an ESP8266 handling the network tied to an Arduino doing the timing-critical stuff.... Which sounds like about what you're doing!

    Can you clarify what you mean by "Arduino" in this case? What hardware?

    Which Arduino board package is used to support it (github link or board manager json), if it is supported by a third party board package? Which exact Tools -> board and Tools -> bootloader (if present in that board package)

    These details matter a great deal, as the programming methods used on Arduino-supported boards differ greatly with the hardware and bootloader on the board.

    When you say "soft serial", which side do you want to be using the software serial for that upload you mentioned?

    Also, you are running Espruino on the ESP8266?

  • in JavaScript
    Avatar for DrAzzy

    it's been a problem since at least 2v00.

    Says something about how often people use do...while() loops doesn't it?

  • in Electronics
    Avatar for DrAzzy

    As an aside, that is not a crystal oscillator.

    It's a ceramic resonator. Notice the 0.5% frequency tolerance. Compare to crystals, where that is specified in tens of parts per million!

  • in Electronics
    Avatar for DrAzzy

    Well funny you should mention that ;-) I do sell beefy SMD MOSFETs on breakout boards. Including with driver chips that not only put a supplied 5~10V on the gate with a low voltage signal, they can dump a slug of current into it to slam the gate open and minimize switching losses, so you can PWM stuff at high current and insane frequencies without overheating the FETs. https://www.tindie.com/products/drazzy/4­-channel-logic-level-mosfet-driver-100a-­up-to100v/

    Even if you're willing to use SMD parts with really nasty (as in, don't even think of using them without a reflow oven nasty, because you can't solder them realistically with an iron, nor with hot air if you have enough 2 oz copper to help pull the heat away), the there just aren't that many decent power MOSFETs that can hold off more than 20V and switch at 2.5 (the numbers you want to use for 3~3.3v logic level signals). The IRFR3708 (also discontinued - was just a different package) was one of the real standouts on that list, and you could solder it with an iron! At 20V, there are a few good options in DPAK though, thankfully, but if you need to hold off 30v because you're using 24V devices, that doesn't help you. All the good 30V FETs that turned on with 2.5 on the gate and handled tens of amps are discontinued!

    Re: STP36NF06L
    How much current are you able to put through them?

    They look like pretty lousy FETs at 3v... (like, well, basically every other through-hole MOSFET). I reckon you'd see a volt across drain and source with only 2-3A flowing, at which point you almost might as well use a BJT! On an IRF3708, even with 10A, you'd see around 0.15v between drain and source.

    Quick back of envelope suggests that without heroic cooling measures, you'd at best be able to get maybe 4A through them, probably less, with a significant portion of the power being dissipated in the FET and wasted as heat.... 4A is within the capabilities of a rice-grain sized SOT-23 MOSFET, even with only 3V on the gate, top end FETs in SOT-23 are up to that, with up to 30Vds (I just so happen to sell some nice FETs in SOT-23 mounted on breakout boards too! https://www.tindie.com/products/drazzy/s­imple-sot-23-mosfet-six-pack-logic-level­/ ). SOT-23 FETs are insanely good up to a few amps, especially for the price - and that's even if you're buying my assembled boards with my margins! Also, unlike the beefier packages, they almost always spec max current at Ta (ambient temperature) not Tc (case temperature), so the datasheet numbers are actually realistic without heroic cooling measures...

    Edit: Oh, and I couldn't help myself. I bought the 381 IRF3708's in TO-220 that Rochester Electronics had on close-out special (they are weird - the moment something gets marked last time buy, it's like it turns radioactive and they feel an urgent need to get rid of it - whereas I have a desperate desire (at least when there's nothing as good available otherwise, like now) to buy a stockpile). Assuming someone else doesn't start making baller low-voltage 30V+ FETs in nice beefy throughhole packages (in which case I would be left holding the anti-static bag), I'll wait 'til they're out of stock from all the usual suspects and try to flip em :-P

  • in Electronics
    Avatar for DrAzzy

    The IRF3708PBF has long been my go-to through-hole MOSFET - a beefy TO-220 FET, good to 30Vds, and can handle tens of amps with added cooling.... but the real magic was that it was rated for Vgs = 2.8V, meaning you could comfortably control it with a 3.3v device and count on Rds(on) of 29 milliohm (max, 15 typ) (and that's at 2.8v, so it would be even better). A perfect power MOSFET for 3.3v boards like Espruino.

    Well, unfortunately, Infineon is shutting down the line they make them at, and discontinuing the product. Their recommended replacements don't switch at 3.3v, and there aren't any other beefy through-hole MOSFETs that switch at 3.3v... at all. In fact, there aren't even any easily-soldered (ex, DPAK) SMD power MOSFETs that switch at 3.3v and can handle more than 20v (though the MCC90N02, recently released, has specs to die for in DPAK, but 20Vds maximum), as the DPAK version is being discontinued too.

    So, if you think you ever might want to switch a load too heavy for a SOT-23 FET (those cap out at ~6A, manufacturer-spec-numbers, which one should never expect to push to the max) with an Espruino, and don't want to commit to the expense and complexity of a gate driver, and don't have the means to solder weird parts like Power-TDSON-8, you should order some with a sense of urgency!

    Yes, I am aware that $parkfun says that you can use an FQP30N06L with a 3.3v gate voltage. The performance curves in the datasheet say otherwise - at least for loads that couldn't be handled by the top-end, much smaller, SOT-23 fets...

    Just thought I'd let y'all know the bad news over here, since I clearly remember talking about it here - I think it's even in the MOSFET guide in the docs, assuming it hasn't been edited.

  • in Porting to new Devices
    Avatar for DrAzzy

    It looks like some functions are available - but it doesn't look like things were ever fully implemented - or if they were, they were not documented... http://www.espruino.com/Reference#ESP32

  • in Pico / Wifi / Original Espruino
    Avatar for DrAzzy

    Oh, lol - it's the guy who I worked with at the start of megaTinyCore, and who draws the pinout diagrams for me!

    I thought the style of those boards looked familiar!

  • in Pico / Wifi / Original Espruino
    Avatar for DrAzzy

    Interesting - he's using my core (though he's not associated with me).

    I should ping him though, because an upcoming change to the IDE, I think, will break the way he gets his programmer entries in (or maybe not - I didn't bother downloading it to examine it - too much else to do)

Actions