Can the Arduino do this ?

Gooday, I am a newbie to micros, being an old cmos/ttl dinosaur. I have ordered my first Arduino, but there is going to be a lot of learning to do, and I don't really know if my long term project will be possible, thats where I could do with some advice. ( I don't expect this to be my first project ! I will be starting with the flashing LED etc )

My goal is to have 6 outputs of the micro sequentially feeding a demux chip, to switch 64 bcd switches. The 4 binary outputs from each switch ( plus one other spst switch ) to be diode fed back to 5 inputs of the micro. I want the micro to then send this data via a wireless modem. Preferably there should be a handshake, and then it will move on to the next of the 64 switches, and so on.

There will have to be some other minor data such as an address ( software programmed ) for the receiving device ID, and a couple of realtime push buttons to transmit before the sequential data.

The receiving side ( with a matching software programmed address ) would handle the handshaking, address checking, and convert the bcd from the switches into 8 serial bits representing 7 segment display ( displaying the number on the switch ) plus the spst switch status, and pass the data stream along to a series of 595 latches to feed the 7 seg displays. ( plus the spst switch status )

The receiving micro would have to generate the clock and a latch pulse at the end of the last switch data.

My existing dinosaur system runs at only 5 Khz transmission, so hopefully I can speed it up a bit with the micro?

Do-able with Arduinos ?


My existing dinosaur system runs at only 5 Khz transmission, so hopefully I can speed it up a bit with the micro?

Do-able with Arduinos ?

Unfortunately the English language is poor in trying to explain your exact requirements. I'm sure the Arduino can handle the task and at much higher speed if desired. It's just a matter if your Arduino board having has enough I/O pins or not.

Perhaps even a crude block diagram drawing would help explain your application better.


As far as I understand the project there are TWO controllers involved, the BCD reader and the 7-segment-display writer.

Both tasks can of course be handled by Arduinos, and - to repeat RC's question - why should this happen - say - more than 20 times a second??

Another question: How many displays will be involved?

Another remark: Polling 64 switches takes a lot of wiring, you will better arrange this in matrix the addressing of which will best be done via PISOs/SIPOs as well.

Thanks Guys for the comments

The switches all have diodes on them, so there are 4 wires that run through the top of all the switches, and each has a wire from the demultiplexer, and the slow speed I mentioned is the time it takes for all the displays to update. At the moment I only have 32 switches max, so for 64 it would take 3 or 4 seconds ( and there are not enough address pins on the chips I am using now for 64 switches )

There are not always 64 switches and displays, that is the maximum that I want the system to be able to handle.

Generally the transmitter only operates when an update button is pressed, as all the displays are latched. At present I switch the power ( battery ) on only when the update button is pressed, I don't know how fast the Arduino boots up, but I could fit an on/off switch if required. I will attach a sketch if I can figure out how


Hi Richard,

Yes you have it correct.

The system at the moment is using the old Holtek HT12 pair, so its really slow.

When I said wireless modem, I mean any suitable radio link, I am using the Radiometrix 433Mhz simplex modules at the moment, and get about 300m range. ( open ground and a small antenna each end.) I rely on the Holteks system of checking the data 3 times , but a handshake system would be better.

The transmitter is hand held and battery powered, a 9v PP3 lasts a year or 2. Is there a sleep mode on the Arduino or similar?

The display end is generally mains powered, so that can stay on.


Its for sports scoreboards, so the remote might be stuck on a shelf for weeks, or between seasons.

I can fit an on off switch if needed, I didn't on the existing one in case people forget to switch it off.

I could also fit a tilt switch and timer as they always pick up the remote to operate it.


If the use is for scoreboards... then you could set a timer... then you would only have to worry to turn it on... off is a matter o time(r)! probably you could even get the battery stat to make sure you won't get stuck in a middle of a game!