Introduction
It’s been a while since I posted anything on this project. Progress has been slow because I’ve been really busy working on the house and garden but it has been made. I’ve finally made use of my prize winning from the Project14 Test Instrumentation competition run last year and encased the PCBs and display. There’s also a sneak peak at one of my first two modules, albeit a very simple one.
It’s mostly pictures so an easy read.
EDIT: 16/06/22 - added images of panels produced by JLCPCB at the end of the post.
Project14 Winnings
The majority of my winnings went on two cases for the project.
For the display:
For the ICB PCBs:
Side Note: I had started off with a 4DSystems 4Duino, because I had one on the shelf, but it’s just too memory constrained so I put it back and acquired a 4DSystems Gen4_ULCD_35DCT_CLB. A bit of a mouthful, but it’s a capable device with 6 banks of 32KB memory that can be used. This turns out to be a great architecture for a device that is intended to have different modules plugged in because I can create different applications to run on the screen, each of which can reside on the device, quiesced in its own memory bank. It allows me to share the workload between the UI, running on the display, and the firmware, running on an Arduino Mega 2560.
Marking Up
{gallery}Marking up the Cases |
---|
Instrument Case: Showing the drill holes for the PCBs and the panel cutouts for the various components that will adorn them. |
Display Case: Showing the drill holes and cut out for the display. Just need a D-Sub cutout for the end panel. |
Encasing Everything
{gallery}Installing Everything |
---|
Display installed: Note that the protective film is still in place. |
PCBs Installed: According to the datasheet, I have these installed on the inside, top of the case! Absolutely on purpose: I want to be able to slide the (nominal) base out and leave everything in place if I need to probe the boards in future. Or even just change the RTCC battery. |
All Wired:Pretty neat I'd say. Note the USB lead that's been modded: as usual, there's always a problem and in this case the strain relief of the USB cable wasn't co-operating with the height of the case so I had to knock it into conformance with a Stanley knife. It's still not ideal but the case closes ok now. |
Front Panel: it was the Devil's own job to neatly cut the D-Sub cutout. I have added some indicating LEDs utilising some of the Test Points I built into the PCBs. The Program Mode switch (it's black on black so look carefully!) is for when the Arduino is being programmed - i.e. powered from a USB port. This switch disconnects the 5V from the Control PCB and prevents dual-powering that board. I put it on the front for convenience and to ensure, via the LED, that I know when a USB cable is plugged in around the back. The labels leave a bit to be desired! |
Rear Panel: Yep, D-Sub still a nightmare to cut out. |
All Together Now: It all fits together! |
A fairly neat(-ish) finish, to be improved. The white labels are a bit naff but they’ll do whilst I await some panel PCBs that JLCPCB will make and ship in a week or so.
I’ve worked this so that the display can be positioned independently of the main unit or removed altogether and the main unit driven from a serial (SCPI) interface. It’s set up so that it is possible for the Arduino and the Display to be programmed without having to remove either device from their respective case - the lead in the front of the last image is a programming cable I made up for the display; the Arduino just uses its bog standard USB-A to USB-B cable plugged into the back of the box. Note that one of the D-Sub leads at the box has no shell: turns out that when UK.Farnell or CPC.Farnell report a backorder date, it uses a random date generator to do so; two months late and counting now.
Improved Case Panels
I can do a reasonable-ish job of cutting out panels but some things are difficult - the D-Sub cutouts where a real headache and are a bit of a mess. The major difficulty though is in creating a decent looking set of graphics/labelling. You’d think an inkjet printer and adhesive paper would be of use, and it is a feasible option for light-coloured cases, but it won’t work for dark cases, particularly black, if you want to keep them that colour. I investigated self-adhesive transparent inkjet paper but it turns out the adhesive isn’t really transparent and turns the surface it is stuck to a lighter colour (grey-ish in the case of black); worse, inkjet ink is translucent so the background colour leeches through. No matter how light a grey I used, it was nigh-on invisible against the black background. If anyone has any simple ideas let me know!
I used a label printer for now whilst I await some panels from JLCPCB that I created in Kicad:
{gallery}Case End Panels |
---|
Front Panel:3D view of the designed PCB/Panel |
Rear Panel:3D view of the designed PCB/Panel |
The panels will be black, this is just the colour that Kicad’s 3d viewer renders them. Rather than use silk screen for the “Instrument Control Board” text, I’ve used those letters on the solder mask layer to expose an underlying copper layer. Hopefully this will add a little accent to the panel. The Eagle-eyed will spot that I've shifted some things around a little compared to my initial design - I think it looks a little nicer, that's all.
This follows on from an idea Shabaz had in this post. It’s a PCB with no components, just a board outline, cut-outs for the panel items and silk screen markup. Created as a 1-layer aluminium board with black solder mask, it costs USD9 for a 191mm x 66mm board plus delivery: so approximately £20 for front and rear panels delivered to the UK.
Modules
The idea behind all of this was to be able to plug modules into the ICB to be driven by power and signals from the device. In the last image you can see the first module I’ve created: the ICB Breadboard Module. Well, ok, it’s a breadboard with a PCB bolted to its base so very simple, but I’m expecting it to be useful, not least in testing changes to the device/software itself.
{gallery}ICB Breadboard Module |
---|
Breadboard Module PCB: In future I must remember to get the ordering code printed on the back! It's not actually a reference to a fan to use. |
Populated PCB: I've provisioned male and female headers so that the signals/rails can be easily brought to the breadboard. Choice is good. |
Module in Place: Fits nicely onto the top edge of the breadboards that Element 14 send out in goody bags. Design or serendipity, you decide. |
Plugged Up: Quality work wiring up that D-Sub. |
Next Steps
I already have the ICB Electronic DC Load Module designed and PCBs created so that’s ready for building and testing. First though, I need to create some software, beyond the simple test scripts I have, to drive the ICB features and that’s where I’m concentrating my efforts next. The ICB Breadboard Module is going to come in very handy for that.
Other Posts
Instrument Control Board: Master Index
Edit
I've received panels from JLCPCB and fitted them. Look really good to me (I'll have to run a cloth over them!) - certainly better than the labelled version in the image above. These were easy enough to produce - a few tips:
- Take advantage of the free positioning of the production code that JLCPCB print on everything. Put it on the back, otherwise they'll put it wherever they like on the front! See JLCPCB for instructions on how to do this.
- If you have a solid solder mask, such as that on the back panel, then when uploading the Gerbers, JLCPCB won't correctly manage the solder mask file and assume it is blank/missing. You can either put a tiny element in the solder mask layer which will then be recognised - of course, this element will be apparent on the panel. The alternative is to put some production notes in to say what you want to achieve - i.e. in my case, "These are panels for an enclosure and should have solid black solder mask over the whole board - I have no need to solder anything." Or wait for them to email you with the problem and tell them then. Note that my front panel has the text and logo for the Instrument Control Board in the solder mask layer so the front gerber isn't an issue.
Top Comments