element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Raspberry Pi
  • Products
  • More
Raspberry Pi
Raspberry Pi Forum My rPI Shield: 16 PWM + 16 GPIO + 4 16 bit ADC + Extras!
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Raspberry Pi to participate - click to join for free!
Featured Articles
Announcing Pi
Technical Specifications
Raspberry Pi FAQs
Win a Pi
Raspberry Pi Wishlist
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 18 replies
  • Subscribers 675 subscribers
  • Views 3417 views
  • Users 0 members are here
  • raspberry
  • pi
  • gpio
  • pwm
  • custom
  • raspberry_pi
  • ir
  • shield
  • nrf24l01
  • adc
Related

My rPI Shield: 16 PWM + 16 GPIO + 4 16 bit ADC + Extras!

vitormhenrique
vitormhenrique over 11 years ago

Hello everyone,

 

So, recently I started working on a robot project, I own one of those rover 5 robot platform, and wanted to control it with my rPI. The problem is that the controller board utilizes +5V PWM signals, I would need ADC inputs to read the current drawn from the motors, and some +5V enable GPIO for other stuff.

 

I could use one level shifter to do the job, and many other IC chips for each other feature, but I ended up creating one shield for my rPI that had it all, I named it the "tauShield".

 

All the features are:

  • 16 PWM, 12-bit PWM (frequency from 40 Hz to 1000 Hz)
  • 4 16-Bit Analog-to-Digital IO's
  • 16 GPIO'S through an expander IC
  • 8 native rPI GPIO with +5V logic input / output
  • IR emitter / receiver
  • nRF24L01 adaptor (ultra low power 2Mbps RF transceiver for the 2.4GHz , excellent to talk to Arduinos, remote control the robot, etc...)

 

Ordered the PCB from oshpark:

image

 

After 1 hour of hand soldering, the result:

 

image

The shield also has a power jack that power the Raspberry PI with a overcurrent protection. The IC's share a I2C bus, the address of each IC can be changed soldering the jumper pads.

 

This is my first real "board" and I already noticed some stuff that can be improved, but it is working like a charm.

 

I still have extra 2 boards of this revision, and 2 from the first revision (does not have the GPIO expander and utilizes sparkfun's nRF24L01 adaptor), if anybody is interested let me know, I would need to hand solder it and ship to you.

 

So what do you guys think of my shield? suggestions? improvements? what is missing?

 

Couple more pictures:

 

image

image

 

Best regards,

 

Vitor Henrique

  • Sign in to reply
  • Cancel
Parents
  • Problemchild
    Problemchild over 11 years ago

    Nice board there Victor!

    What are you using for the ADC and what does the PWM is that dedicated or an alternate use for the GPIO?

    Have you considered some DAC channels as well?

    If  you moved the NRF socket and the power decoupling a bit  you could offer the connector for the  extra I/O. i know it's not soldered but gives you an option.

     

    Thanks for showing us you board

    John

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Problemchild
    Problemchild over 11 years ago in reply to Problemchild

    PCA9686 for the PWM.. I see it now ..Good one!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • Problemchild
    Problemchild over 11 years ago in reply to Problemchild

    PCA9686 for the PWM.. I see it now ..Good one!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
  • michaelkellett
    michaelkellett over 11 years ago in reply to Problemchild

    Very nice - recently, when I wanted a lot of PWMs (30) I used a Lattice ICE40 series ultra low power FPGA  - more work than 2 PCA9685s (not 9686 !) but similar price and much more flexible.

     

    MK

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Problemchild
    Problemchild over 11 years ago in reply to michaelkellett

    I was wondering about the Chip ID but  Google found it as that so someone else must of made the same mistake image

     

    With the FPGA you could of got rid of the GPIO chip as well saving some real estate!

    The only thing I could say is t hat you would obviously need experience of these chips then, I assume they are FLASH based to save chips etc???

    Also were those the ones with the cool polar bear logo?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • michaelkellett
    michaelkellett over 11 years ago in reply to Problemchild

    The ICE40's are one time prom programmable but any number of times RAM programmable so I keep the code in a serial flash and SPI it into the FPGA on boot up. The processor is a an STM32F100   - if anyone needs the FPGA boot code I'll share.

     

    MK

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube