urish / ng-beacon

ng-beacon - Smart JavaScript Beacon shaped after the Angular logo
https://ngbeacon.io
24 stars 6 forks source link

Add a prototype area with PO.26, 27, SDA, and SCL. #1

Closed heathkit closed 7 years ago

heathkit commented 7 years ago

Fair warning, I haven't used Eagle in forever, so this probably needs some cleanup. Here's what I did:

  1. Moved the programming header to the other side of the board, so SWDIO and SWCLK have a shorter run.
  2. Pulled out SDA, SCL, VCC, and GND to a header next to a small prototyping area, so people can add their own parts. Note that the pinout is the Grove I2C standard, so people could theoretically solder on the header and plug in Grove I2C parts.
  3. Also pulled out P0.27 and P0.26 to the header. In addition to being GPIOs, these are also analog inputs, so it seemed useful to have them available.

For the prototyping area, I created a new part and exported as a library. I haven't done much with Eagle libraries, so I might be missing something. Also, there's an airwire between the GND pins on the PTR5518 - I think maybe because I don't have the right part definition, so Eagle thinks those pads aren't connected?

Let me know what you think! I can look at some more Eagle tutorials and work on this a bit more next week if it needs cleanup.

urish commented 7 years ago

Looks good, thanks!

I love the fact that it is compatible with Grove 👍

Actually, I switched to PTR5618, in favor of running Espruino (an embedded JavaScript engine) on the board, I haven't had a chance to update the part. It has the same footprint to the PTR5518, with some pins changed. That's why I left the second GND pin floating in my latest commit. I hope to update the eagle part soon, but if you have an opportunity to do so it will be awesome :)

heathkit commented 7 years ago

Cool, an nrf52 part! I've been wanting to play with one of those.

I exported the parts to a separate library, and replaced all the parts in the schematic with their equivalent from the library. So it should be easy to edit footprints if needed. I also created a new part for the PTR5618 using the same footprint.

It looks like you can actually select the SDA and SCL pins on the nrf52 - I don't know where Espruino puts them by default, but I left them unchanged. Also, I'm not familiar with the nrf52, but it looks like you need to pull P0.04 low to enter DFU mode, and that doesn't seem to be pulled out on the PTR5618. I left it connected to the same pad though, just in case.

urish commented 7 years ago

Awesome! I will have a look at that today.

Regarding DFU mode - this is actually configurable, right now I am using pin number 17 for this purpose:

https://github.com/urish/Espruino/blob/4126b845fa9259fa41fd665a3d3c219de287e292/boards/NGBEACON.py#L58

urish commented 7 years ago

Good news! Some PCBs for with the prototype area have arrived! 🎉

I also added an LED and a DFU button:

image

kaminskypavel commented 7 years ago

Yay that looks awesome!

roboflank commented 7 years ago

Awesome. I like it.