24 days ago •
It's been 9 months since last project update. I know it is long time, but I'm not abandoning this project just yet!
It's true I didn't do much work since The Sci-Fi Contest, but I hope it will change soon.
The clock generally works, but not without problems. I was working day and night to finish this project on time, so I made errors, and quite a lots of them actually...
There are 4 main issues with current electronics:
- no LED lights for AM/PM markings and the colon between hours and minutes - never managed to make that board work,
- if two loud speakers are connected at the same time to the amplifier, the main circuit won't boot and will keep resetting,
- handmade circuits, especially those on perfboards suffer from cold solder joints and other contact issues, sometimes you have to poke it a bit to start it :)
- each row of displays takes a lot of different PCBs, which require a lot of wiring make it a big mess.
Because of the above I had decided not to continue this iteration of the project.
That doesn't mean it's over. I still want my cool Back to the Future clock!
Ideas for BTTF clock v2
I need to redesign what I have and I want to add some new features as doing the same thing again would simply be boring.
The only way I can think of to fix those issues is to redesign the PCBs as follows:
- each row gets a single PCB,
- redesign and fix lots of little bugs on the main board,
- let go of THT components to fit everything on smaller PCBs
- order the PCBs, hand making them is really a pain, especially two sided...
This should cleanup most of the mess, display rows as single PCB will simplify the case design and hopefully everything will work this time.
Probably the biggest change is my idea to replace the main arduino compatible board with an Olimex iMX233-OLinuXino-MICRO running a plain linux distro. This is because of the numerous pins it breaks out, especially the audio lines. If I manage to confirm it, I can actually feed it with the sound from the FM board and output it passing through ALSA or OSS, I will be able to do lots of cool stuff, like internet radio client, play some sounds from the movie, make an alarm clock or more.
It is true this board lacks network connectivity, but that single USB port seems perfect for a small WiFi dongle!
New board design software
Currently all schematics and PCB designs are made in Eagle CAD. Unfortunately it's free and low cost versions are too restrictive in terms of board size.
The only other open source / free solution I know is KiCad. It seems quite powerful, however it's component library is really poor compared to Eagle.
The third choice I was really hoping on was the Circuit Maker as it announced by Hackaday back in September last year. The announcement made it sound awesome, all free with no limits and big company made me hope for big component library. Sadly it wasn't made available to general public since then.
In the end I started working in KiCad, but I lack motivation to continue with it. I'll wait a bit more for Circuit Maker, hopefully it will be ready someday soon.
I want to make some additional sound sources from mechanical switches of different size as feedback for user actions.
Maybe a flux capacitor on the top of the case?
Next update will come when Circuit Maker is made public or I learn to love KiCad.
10 months ago •
So time is up!
Here is the presentation video:
Currently working features:
- FM radio receiver
- FM frequency adjusting and editing
- setting volume
- RTC time display
- RTC time setting
- 24 7-segment characters and 20 14-segment displays
What didn't make it to the build in time:
- a few more buttons
RDS was really problematic. As explained in the video, I didn't manage to receive any kind of information from Si4703 Arduino library from Sparkfun. It seems it has a very limited support and unfortunatly blocking function calls (like lose keypad responsivness for 15 seconds awaiting for RDS data). I hope I'll be able to add this feature later.
Alarm and more buttons was simply a matter of time, which we run out of. Nothing difficult there, just some additional work. As for the casing, it other than little time we had, we thought it's safer to make the casing (or in this case front panels) out of wood, as it is easyer to work with. We had silver paint to pain it, but we run into lots of hardware bugs while testing all hardware connected together (first time 10 hours before this video recording). A good example is the LED connected to pin 13 of Arduino that prevented the Keypad library to work properly with the pins for the keypad we chose - so we removed it :)
There is ofcourse a lot more we would have wanted to do, but I guess we will need to leave it for later.
The contest was a lot of fun and I hope there will be more!
10 months ago •
We did a lot with bwa since last update. I'm spending a lot of time working on the hardware. I decided to post some pictures.
Those are 7-segment displays for first two rows of the time circuit with the display controller board. Notice the ugly prototype boards driving the displays. It turns out those are very hard to make compared to etching normal PCBs and adding just a few jumper wires. After I made those, I decided it's time to end this prototype madness.
The time was running low, so it was time to speedup and make more PCBs at once. You can see on this photo 2 14-segments display boards and 3 drivers for them.
Routing lots of parallel signals on a single-sided PCB is a nightmare. We tried making double-sided PCBs, but vias and board alignment were very difficult, so all our boards are single-sided. In some eagle files, you'll see wires on top side, in the PCBs we made, they are replaced by normal wires.
Here you can see most of the PCBs we made, most assembled.
Because of time constraints, lack of tools and experience, we've decided to go with a wooden casing. This is a partially cut front panel for one of the rows.
This is how it looks. Not too bad!
I am very disappointed by the Si470x module. We failed to read any RDS from it, might be caused bad reception (I had to pull out a long write from the basement where bwa's workshop is). The main problem is when it is powering up. 9/10 it causes a loud click in the speakers and it reboots the arduino. It looks like power loss of some kind. Large power supplies and capacitors don't help. The strange thing is that it works flawlessly when there is additional power connections from my notebook. I'll have to look into it later.
Other than that, the libraries for arduino don't offer much: seek up / down, set frequency, set volume and read RDS - blocking... I have no idea how to address this issue.
So I have most of the hardware, some untested and a beginning of the casing. I think it's time to code the Time Circuit Board:
There are chances it might work :)