This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Custom board not seen by IOS device but it is seen by NRF-Connect Desktop

Hi There,

I've been developing a product using the NRF52DK.  I had some custom PCB's made after I had my circuit designed, and I programmed them with the NRF52DK.  Now my boards and the NRF52832 on the DK are running the exact same firmware.

With the NRF52DK, I can connect to my service on NRF Connect for IOS and Desktop (with an NRF51 dongle). 

With my boards, I can't see them with IOS (using NRF Connect or LightBlue) but I can see them using NRF Connect Desktop.  

When I scan with NRF Connect Desktop, my boards' RSSI indicates a fairly strong signal (~ -55dBm) and I can connect and view/control all the characteristics fine.  

I'm going to continue poking around to try to understand what's different but I'm quite stumped as to why IOS will only see the NRF52832 on the DK, but NRF Connect Desktop will see either the DK or the custom board.  I've tried an iPhone and an iPad and got the same result.

Any suggestions would be greatly appreciated!

Thanks,

Roger

Parents
  • Make sure you don't broadcast with an Apple manufacturer ID (ie, 0x004c).  iOS segregates all 0x004c broadcasts to the CoreLocation API's, only non 0x004c show up in the CoreBluetooth API's. 

    Or, if you are using CoreLocation in iOS then you can only broadcast with an Apple ID. 

  • Thank you for the suggestion, but I am fairly sure it's not an addressing issue since I can connect just fine using the same firmware on the PCA10040 DK.   

  • Yes the SN74 makes a good buffer.  Prob not necessary to use its inverting cousin in the design, you can easily use two gpio out of phase of each other to make your bi-phase arrangement.

    Though I understand the prudence in using the SN74, a MuRata spec on a 40kHz transducer shows it as 2,500pF. Assuming 5mA gpio you can easily switch this thing rail to rail at 200kHz. For more margin, you could lash two gpio onto each phase for 10mA total sink/source capability. GPIO state changes for all gpio on the same clock edge, so they will always stay in phase as long as you write the register correctly. But as you stated, more assurance with a buffer.

    On the boost then, assuming you have something like a 1amp 12vdc solenoid on the door latch, then I would still use a packaged converter.  Just use the chip enable on the converter to turn it on and off. Then you can lose Q1, D1, Q6 and the sn74 is just replaced with the boost chip.  There are many out there, but here is an example of one from Diodes that give 12vdc at up to 5amps from a 2.5-5.5vdc source. Assuming 1amp out and 3vdc in that means switch current of around 4amps. You will need to buy a good inductor.  But there are plenty of smt devices that will handle that kind of current. Something with a saturation current of around 8amps or so should do it. Boost chip example: www.diodes.com/.../PAM2421_22_23.pdf

    I agree with you LDO's are easy, but on something with a LiPo you are going to want a complete solution with charge, protection, buck switcher.  Then you end up with a user friendly device that you plug into a wall wart once in a while to charge it up.

    You didn't specify what frequency the ultrasonic is running at, buy you may want higher than 40kHz.  The web  says cats can hear to 64kHz. I know our cats get freaked out by high frequency noises. Though it is possible a feral cat might wonder what the noisy cage is all about and be inquisitive.

  • I made a mistake.  You will still need your turn off fet for the solenoid due to the boost topology.

    Sorry, I missed that. 

    Though, I would still use a packaged device instead of the way you have it in the schematic.

  • The solenoid current is pretty substantial (~2A @12V) and the prepackaged boost drivers aren't an option here.  The 5A rating is for the internal FET, and if I'm looking at say 3.5V Vbatt boosting up to 12V @ 2A, the internal FET is going to get fried.  Those solutions are great for a regulated supply at a moderate load, but my discreet boost is sacrificing simplicity, size and regulation for pure beefiness.  I'm planning to run this off of a 26650 battery which will supply more than enough current, provided I have a decent efficiency (and make sure that the power LED is turned off as part of the solenoid fire function!).  One thing that my current rev doesn't have, but is needed, is a 'solenoid sense' circuit so I don't fire up an unregulated boost designed to provide that kind of power when there's no load.  I have a simple circuit in mind that I think will work nicely. 

    I've used little battery managers (Microchip 73831) with smaller lipos.   I'm not sure if I'll go that route here...I haven't looked into compatibility with the big batteries and had just assumed on using an external charger, but an on-board charger with a micro USB connector might be a good option here.  That is what I used for the battery on the remote of the first revision of OpenTrap.

    Again, I'm sure you're a busy man and I appreciate you taking the time to provide feedback on my design.  If by any slim chance you're planning to be at the SF Maker Faire this weekend, I would like to offer to buy you a frosty beverage!

    Cheers,

    Roger

  • Sorry, my company HQ is out of Florida and currently I'm working out of Massachusetts.  I get out to SF once in a while, sometimes for Arm Tech Con or ESC Silicon Valley.

    If I can work it into my schedule, I will spin a design for your live trap.  The ultrasonic stuff looks interesting and I'm thinking about doing a PCB artwork based output match for the RF and antenna that Nordic might like.

    I'll pass along the design info if it happens.

  • Thanks for even mentioning that, but in the end I will end up respinning this myself....it's the best way to learn!  That said, if you had any more robust antenna layouts from previous builds that you may be willing to share, I would definitely appreciate that.

    Ultrasonic is really interesting.  The first spin of the 8-bit trap used a PIR sensor, but it was too prone to false positives when set outside on a sunny day.  You're correct that the ultrasonic is driven at 40KHz, but I've never seen any critters hesitate to go in there any more than they do with a standard live trap.  Obviously 40k is too high for human hearing, but I fire the ultrasonic every 100mS and there's a faintly audible 10Hz 'ticking' when the transmitter is firing.

Reply
  • Thanks for even mentioning that, but in the end I will end up respinning this myself....it's the best way to learn!  That said, if you had any more robust antenna layouts from previous builds that you may be willing to share, I would definitely appreciate that.

    Ultrasonic is really interesting.  The first spin of the 8-bit trap used a PIR sensor, but it was too prone to false positives when set outside on a sunny day.  You're correct that the ultrasonic is driven at 40KHz, but I've never seen any critters hesitate to go in there any more than they do with a standard live trap.  Obviously 40k is too high for human hearing, but I fire the ultrasonic every 100mS and there's a faintly audible 10Hz 'ticking' when the transmitter is firing.

Children
  • Attached is the next spin on this.  In the zip are gerbers, Eagle files and a schematic pdf.  Taking a bit of your advice, I've gone to a 2-layer board and implemented bucks for VCC and onboard for the NRF.  After messing around with the first board powered off of a single 3.7V battery, I think that I'm running too close to the limits of what that can do when running the boost converter, especially once it gets down <3.7V.  Things work great at 4.2V, but I want a bit more headroom for comfort, so I'll run this off of 2x smaller 3.7V liPos in series.

    I have to clean up some reference designators on the board, and I've not yet gone over the schematic with a fine-tooth comb for errors, but any thoughts/pointers on this would be well received.  I'm looking around for access to some RF gear, hopefully I can get some eyes on what's happening with the radio...

    Thanks!

    RogerRev2Files.zip

  • Sorry for the late reply.  I've been traveling.

    I will review more thoroughly later today. But, first thing I noticed is there are no stitching vias and no ground flood on the first layer.  The ground pour on the top layer will help with your hot led also it serves to unify the top and bottom into one big ground plane and can help fix ground loop issues.  There probably won't be any pour near the nRF, due to the congestion, but there is a lot of room elsewhere.

    On your boost since it is a one shot event, I would keep it on the single LiPo and just put a big electrolytic on the output.  You will have to figure out how long the latch opening takes.  But I would guess it isn't over 200msec and a fat electrolytic would fit easily on the transducer side of the board. Then you don't care what the current output of the boost converter is since the power will come from the cap. Just keep the cap charged up and fire it when needed.

  • Please don't apologize, I'm willing to wait for free advice!  I hope your travels were pleasant.

    I added the upper layer ground pour and some stitching vias.  One change here compared to the first board was that I ensured that C25 only returned to the ground pad of the NRF as suggested in the product spec, which I'd neglected to do on V1.  

    When I started looking into buck converters with plans to use a single 3.7V battery, most of the ones I found suggest at least 500mV of headroom between source and output.  That means that if I wanted to use the entire range of the battery, my VCC would be well below 3V...I'm concerned about driving the Boost FET with that low of a gate drive, since the current FET's upper limit for VGSth is 3V.  Stacking two batteries gives me loads of headroom, allows for use of a proper gate driver on the boost and will let me drop the DC on the boost drive.  It's a bit of a tradeoff on cost to include two batteries, but I think it's worth it for the points mentioned above.

    If I continue to run into RF issues with this board, I am considering moving this to a Rigado module, leaving the RF stuff to people who know what they're doing while maintaining a small footprint.  The additional benefit of that route is a relatively easy transition to an NRF52840 in the future if I determine that I need the additional range offered by BLE 5, which is a serious concern of mine.

    Files2V2.zip

  • Vias should always flood over vias (ie, no thermals) especially when they are used to get rid of heat as in your LED.  The only time thermals should be applied to a via is when it is a thru-hole part then it is done to aid soldering.

    Actually thru-holes and vias are normally treated as two different model types in most cad packages since in addition to thermals, the annular ring will be different.

    Similarly you should not thermal the heat relieving pads on your led for the same reason.  The only reason thermals get used on SMT is to help prevent tombstoning.  This won't be an issue for your led as the ground pads are massive compared to the signal pads.

  • I don't know what the purpose of SOL_SNS is but even with D2, I would be concerned about the back emf from the solenoid being large enough that you could damage the nRF. It will take a few nsec for D6 to turn on and in that time the reverse voltage could easily be over 20 volts, maybe more.

    For similar reasons you should use something other than the DMP1045U. The spec shows a max Vds of 12V.  This should be a 50-100v part.  That back emf will be massive from the solenoid.  Also, to reduce the back emf, D6 should be a schottky and there should be a 100 volt chip cap across D6.  Maybe a 1206 package so you can get the value right later. It doesn't need to be a big cap it just picks up the slack until the schottky turns on.

    If you want to have some math fun you can find the inductance and Rdc for the solenoid and then calculate the peak voltage when you turn it off for your cap/schottky combo.

    If SOL_SNS is to figure out when the solenoid has reach steady state, then you should do it another way.  The boost converter will just increase the duty cycle as the current builds in the solenoid.  Ideally at D2 you will just see a steady Vsolenoid nothing more. A safe easy approach would be a fat resistor on the ground return for the solenoid and monitor the voltage build with the nRF. There are plenty of cheap small ohm value resistors like that since they get used for the feedback in DC/DC converters. If you don't want to use the SAADC to monitor then choose a resistor value that will trip the CMOS to logic high.

Related