Introduction: LED Pit Board
This instructable is for a Digital LED Pit Board which we use for Karting. It’s especially useful for indoor and outdoor night races including 24hr races. The board is clear in sunlight and stands out at night. Because of the kart series we partake in, the Kart number could be different at each race and we may have 2 or 3 Karts running in that race so we have to change the number on the board quickly on the fly. This is done via a 16 digit keypad on the rear of the board.
The board is made up of 14 segments with 4 white straw hat LED’s in each segment. The whole thing is controlled via an Arduino Nano (the one with the inbuilt USB port). The board can be dimmed if required and can also flash to further catch a drivers attention.
The front and back are 3mm acrylic sheet with a wooded frame in between. This was then drilled for each individual LED. The overall size is the same as an A4 piece of paper.
Note: This instructable shows exactly what I made, some of the components I already had lying around so I used what I had. There are better solutions to some parts of this build, and I had some learning along the way, I’ll discuss these at the end.
What you need:
1 x Arduino Nano
1 x USB Power Bank (1A, greater than 2200mOhm – preferably without its own switch)
1 x USB Cable
1 x Switch
1 x 16 Digit Keypad
3 x 7K5Ω Resistors (For the Keypad)
3 x 2KΩ Resistors (For the Keypad)
2 x 3mm Acrylic Sheet A4 sized
1 x IRF9530 (P Channel MOSFET)
14 x IRL510 (N Channel MOSFET)
15 x 220Ω resistors (MOSFET Resistors)
15 x 10K Pull Down Resistors
56 x White Straw Hat LED’s 5mm
56 x Suitable resistor for LED’s (220Ω is usually good)
Some wire to connect the LED’s/MOSFET’s etc
Some Strip Board
Some wood for the frame
Black Duct Tape
12 x screws
1 x Drawer Handle
Step 1: Build the Frame
Here I used 18mm x 44mm x 2400mm which was cut into 2 pieces at 261mm and 2 pieces at 210mm so that when assembled together the outer dimension would match the acrylic sheets which I’d bought (A4 paper size in this case). These were simply screwed together using some suitable wood screws. At this point decide which will be the top and mark the centre point on the top piece. From this centre point measure equal amount either side to suit your drawer handle, drill holes to suit the handle screw size. Wrap the outside of the wood with the black duct tape to give a nice finish. Finally mount the drawer handle using the supplied screws.
Step 2: Drill the Led's Holes and Mount the LED's
Mark the acrylic (tape protection still on) with the segment design in this case 2 digits with 7 segments in each digit and 4 LED’s in each segment.
Drill the Acrylic very carefully, I used a small piece of scrap wood to drill into on the back and started with a smaller diameter drill (2.5mm) and finished with a 5mm hole to accept the 5mm LED’s. Acrylic is quite brittle and can chip easily when being drilled so be careful.
Finally (and the painstaking part) mount each LED in each hole using a small amount of superglue. Don’t use too much though in case you need to swap an LED later in testing. If you glue all the way round the only way to remove an LED is by drilling it out. I found a small blob on one side of the LED enough to securely hold it in place and take some abuse as well.
On the rear panel cut out the hole for the keypad and the switch ensuring these align with centre section of the LED’s in the opposite board so you have enough clearance. Mount the keypad and the switch and drill holes for the power bank
Step 3: The Circuit
The circuit has been split into 3 sections as it’s easier for me to describe.
1 - The power side:
Power is delivered to the Arduino, the single IRF9530 and the Keypad via the power switch. The power switch is directly connected to the 5v power bank. The IRF9530 sits in between the 5v power and each of the LED segments. It’s this P channel MOSFET that will be responsible for PWM dimming and flashing the LED segments. It’s connected to digital pin 10 via a 220Ω protection resistor.
2 - The LED Segments:
Each LED segment will then take its power from the IRF9530. The segments are made up of 4 LED’s all wired in parallel each with its own current limiting resistor which should be suitable for the forward current of your LED’s.
The –ve side of the LED’s is then connected to an IRL510 N channel MOSFET (a bit over kill but I had some lying around). Each segment has its own IRL510 as this is the ‘switch’ for each segment. Each IRL510 is connected back to its corresponding Arduino pin via a 220Ω protection resistor and has a 10K pull down resistor to ensure it switches of fully. (the pull down resistors could be omitted as the Arduino will hold low when not on).
3 - The Keypad Wiring:
Because of the number of Arduino pins used to control the segments we can’t use the 8 pin matrix connection method for the keypad so I developed a 1 pin connection method for this project. By adding resistors across the keypad pins we can create a different voltage divider for each button. Connecting this up to an Analog Pin on the Arduino we can then determine which button has been pressed as per the Keypad diagram.
Step 4: Wire the Board
I used stripboard to create a ‘PCB’ for each segment. On each segment PCB is the LED’s x 4, the LED resistors x 4 and an IRL510 MOSFET. Each segment then has a 5v connection from the IRF9530 and a 0v connection (almost like a ring main). The gate from the IRL510 is then connected to the Arduino ‘PCB’ in the centre.
The 220Ω resistors for the IRL510’s are on the central Arduino PCB along with the IRF9530.
Connect the keypad to 5V, 0V and the signal pin to the Arduino.
Finally cut the unwanted end of the USB cable of and thread through the rear panel leaving enough to connect to the power bank. Inside carefully strip the outer case and separate the wires. We need the 5v and 0v lines only. You could use a multimeter here to find which is which. Connect the 5v wire to the switch and the 0v to the Arduino PCB and keypad.
Once all connections are made load the Arduino Sketch via the Arduino’s USB port.
Step 5: Power Up and Operation
Connect a Power Bank which can deliver at least 1A and ideally this should be 2200mAh or greater (this should be enough to run the board at full intensity with all segments lit for about 1.5 hours) and switch the main power on.
Note: Power Banks state a mAh rating but that rating is for the internal battery pack (usually a li-ion 18650 battery) which is nominally 3.7v. The power bank has an internal boost circuit which dc-dc converts the voltage to 5v. This conversion means some mAh are lost. e.g a 2200mAh power bank will really be (2200*3.7)/5=1628mAh at 5v. Unfortunately, this isn’t the end of the storey as most dc-dc converters aren’t 100% efficient (the circuit doing the conversion also need some power) so you can expect to lose another 10% - 15% inside the coverter. So 1628mAh now loses another 162.8mAh at best which means you finally get around 1465.2mAh.
Once the Arduino has started up the right digit will display a zero. At this point any single or double digit number can be keyed in and that number will be displayed on the board. If a single digit number was entered the board will display a zero on the left digit.
Other functions are:
‘*’ key will toggle a flashing display on or off
‘A’ key will display FL on the board (could be used to tell a driver they’ve set fastest lap, or we use it to remind the driver to get Fuel at the next stop).
‘B’ key will add a letter P to the left digit and you can then add any number to the right digit to display race position e’g P4.
‘C’ Increase brightness
‘D’ Reduce brightness.
Step 6: Lessons / Improvements
Step 6 – Improvement / Better solutions
As I stated at the start this board was built using available components rather than buying new ones, however this compromised the design some and led to some over complication. Although the final design works well and looks good here’s some improvements or other ideas to create the same end result.
1 Use 5v LED strips (white LED’s on black strip 60/m) to create each segment instead of building from scratch. These are cheap and available on ebay and can be bonded to the front of the board rather than drilling each LED. The strips are already pre wired and usually include the current resistor too. This can make the design lighter weight and thinner as no so much internal space is required.
2 Similar to above but use strip LED’s which are individually writable like the WS2812B type RGB LED’s and there are library downloads for the Arduino too. You’ll need to consider the available power from the power bank as displaying white could require in excess of 3Amps. But displaying red, blue or green individually would consume similar power to my design. The advantage with individually addressable LED’s is you can remove the IRL510 MOFETS and the big gain is that you would only need 1 Arduino Pin to control all the LED’s. Because this method frees up Arduino pins it makes wiring much simpler and you can use the Matrix Keypad library so you don’t need the resistors on the keypad either. The ability to utilise different colours could also be useful too.
3 A more basic version of the board could be made by removing the keypad and the Arduino and using small slide switches next to each segment and manually switching the board. This is ok if running only one kart and you don’t need to quickly change the number. You would lose the dimming and flashing function as well but it would be a much simpler build. I originally built one like this but found that we didn’t have enough time to swap the numbers between karts in some instances.
4 I did consider using an old laptop screen instead of the LED’s so any text could be displayed but, the screen isn’t bright enough especially in bright sunshine, but even on a rainy evening it was dim from behind a wet visor. Also the driver has only time for a passing glance so reading is difficult so avoid this.