element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • 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 Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • 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
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • 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
NanoRama
  • Challenges & Projects
  • Project14
  • NanoRama
  • More
  • Cancel
NanoRama
Blog DMX diagnostics tool - Hardware, Software and Mechanical updates
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join NanoRama to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: genebren
  • Date Created: 1 May 2020 12:42 AM Date Created
  • Views 889 views
  • Likes 7 likes
  • Comments 3 comments
  • nanoramach
Related
Recommended

DMX diagnostics tool - Hardware, Software and Mechanical updates

genebren
genebren
1 May 2020
image

NanoRama

Enter Your Project for a chance to win a Nano Grand Prize bundle for the most innovative use of Arduino plus a $400 shopping cart!

Submit an EntrySubmit an Entry  Back to homepage image
Project14 Home
Monthly Themes
Monthly Theme Poll

 

In my prior blogs, I shared the code that I used to generate a simple LCD menuing system (DMX diagnostic tool - Getting started ) and the actual DMX transmission and receive function.  Today I am sharing a bunch of new changes to the system, in terms of hardware, software and mechanical designs.

 

Summary of changes and/or new area working:

Hardware:  Change the old 2 x 42 character LCD for a 4 x 20 character LCD.  Prototyped the serial memory (24cw1280 16K bytes of storage).  Integrated the Li-Ion battery pack designed for WalkyII (Walky the Biped Robot - Power pack ).  Completed the schematic and layout of a motherboard (Nano, LCD, Joystick, Li-Ion battery pack and necessary support electronics.

 

Software: Updated menuing software to accommodate the new 4 x 20 character LCD. Added I2C communication in support of the serial memory.

 

Mechanical: Designed (and started fabricating pieces) an enclosure for the hardware.

 

First, after doing my initial sketches of my mechanical enclosure, I was not happy with how things were coming together.  I thought that the old 2 x 24 LCD was just too long to fit into a nice handheld case (~1 1/2" longer), plus I was not in love with the soldered on 14-pin ribbon cable, so I swapped it out for a nice new 4 x 20 LCD with a pair of single row headers on opposite ends of the PCB.  A nice aspect of the new display is that although in is a four line display, the height of the module is only slightly larger than the old two line module. This format allowed me to position the X/Y joystick along side of the display (instead of under it) and keep the enclosure under 5" in width.  (More on this later).

 

Here are a couple of screen images with the new display:

imageimageimageimage

After connecting up the new LCD and modifying the software to change to a new format (minor changes) I moved on to testing out the I2C connection to the serial memory. Here is a code snippet that I used to verify the ability to read and write to the 24CW1280 device:

#include <Wire.h>


const byte EEPROM_ID = 0x50;
byte data;
int Address = 0;

// Inside of the setup() loop 

  Wire.begin();
  // write 0x55 to address 0
  Wire.beginTransmission(EEPROM_ID);
  Wire.write((int)highByte(Address));
  Wire.write((int)lowByte(Address));
  Wire.write((byte)0x55);
  Wire.endTransmission();
  delay(5);
  // read data at address 0
  Wire.beginTransmission(EEPROM_ID);
  Wire.write((int)highByte(Address));
  Wire.write((int)lowByte(Address));
  Wire.endTransmission();
  Wire.requestFrom(EEPROM_ID, (byte)1);
  while(Wire.available() == 0)
    ;
  data = Wire.read(); 

 

With all the major parts of the design tested, I decided to complete the schematic and layout so that I could get PCBs on order.  Here is the schematic and layout of the board:

imageimage

Final size on the motherboard was 2.55" x 4.25".

 

With the PCB designed, I was able to start working on the mechanical/packaging design.  Working from a pretty cool recent post by Phoenix Contact--- (Is there a place for Raspberry Pi and other single board computers within the industrial market place? )  I decided to try a more modular enclosure design.  I wanted something based on a collection of panels (top, bottom, sides), such that I could simplify some of the printing (and re-printing).

 

Here is the top lid:

image

The top panel has an opening for the LCD, Joystick, Pushbutton (small rectangular opening at the bottom that provide access to the power pack below) and three openings for the light pipes that show the charge rate from the power pack.  The bottom of the top panel has slots along the edges to hold in the side panels. The bottom panel is the same as the top panel, but with no openings.  The motherboard sits on the raised, inner most sides of the slots for the side panels (side panels will be flush with the PCB edges).

 

In each of the corners, a corner post is added to draw the top and bottom panels together and to capture the side panels into the slots.  Here are an image of the corner posts:

image

The corner posts have fingers/slots to capture the side panels and top and bottom fingers to hold the PCB to the bottom panel.  Because of the way that sub-assemblies mount to the motherboard, the corners may capture a single thickness of the PCB or potential a stack of multiple PCBs.  The corner posts can be flipped to capture a single thickness of the PCB (0.064") or a multiple thickness with a small space between two PCBs (0.064 + 0.064 + 0.05).  The hollowed out space between the fingers holds a hex standoff (2/56), that accepts screws from both ends to draw the whole assembly together.

 

The side panel come in two sizes, one for the left/right sides and the other for the top/bottom sides.  Here are some images of the side panels:

image

Those parts cover the basic enclosure, wait there is more.  In order to press the power on bottom of the power pack assembly and to see the charge rate indicators, more parts needed to be fabricated. Here are those parts:

imageimage

The two guide assemblies (lightpipe and the power switch) and held captive by the battery holder on the power pack assembly.  The lightpipes and the pushbutton extender both go through the top panel, through appropriate openings.  Here are some pictures of a mock up of the front panel assembly:

 

imageimage

(Note, the power pack does not have the battery holder soldered in place, but is being driven by a power supply, simulating a charged cell being in place)

 

I still have a few more parts to print, but the enclosure seems to be coming along nicely.

 

Once the PCB and the rest of the parts come in I will complete the assembly and upload all of the documentation (code, parts list.etc.)

 

Thanks all for now.  Stay tuned as I bring all the pieces together.

  • Sign in to reply

Top Comments

  • shabaz
    shabaz over 5 years ago +1
    Hi Gene, This is looking great! Also the modular 3D printed enclosure is a really neat idea : ) It seems very handy, because eventually some of the modular components could be cut from sheet plastic, to…
  • Andrew J
    Andrew J over 5 years ago +1
    Llooks really good Gene.
  • garynelson
    garynelson over 5 years ago +1
    Hi Gene, Firstly my thanks for your kind words relating to my blog regarding using Raspberry Pi's in the industrial marketplace as we have been involved in some really innovative and interesting designs…
Parents
  • shabaz
    shabaz over 5 years ago

    Hi Gene,

     

    This is looking great! Also the modular 3D printed enclosure is a really neat idea : ) It seems very handy, because eventually some of the modular components could be cut from sheet plastic, to speed up the enclosure creation time, ie. a hybrid 3D-printed and traditional-machined enclosure : )

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
Comment
  • shabaz
    shabaz over 5 years ago

    Hi Gene,

     

    This is looking great! Also the modular 3D printed enclosure is a really neat idea : ) It seems very handy, because eventually some of the modular components could be cut from sheet plastic, to speed up the enclosure creation time, ie. a hybrid 3D-printed and traditional-machined enclosure : )

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
Children
No Data
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