Skip to main content

Casing : the front

The student makerspace opened at my University. I wanted to try it out !

For the case, I found some wooden tissue box that would fit my needs. Actually it's a bit big, but better safe than sorry. The thing is, the cut in the middle is super handy to start cutting with a jigsaw.

So I started working my little front panel for my alarm clock. First, I made a model on Solidworks, just to see what it would look like.

Modelling helps having clear ideas !
For the front panel, there is four cuts, made from the middle cut that was originally present on the box (to let the tissues go out).
  • 2 circular holes for the speakers,
  • 1 big rectangular hole for the LCD screen,
  • 1 smaller rectandular hole for the clock.
Sadly, my 7-segments display never came, I guess it got lost, so I'll have to deal with the seller to try to have them send it again. :(

For the moment, I didn't do any cuts for the buttons, but they will surely be on the top side of the box. This is because, when you want to press a button, you don't want the hold the box to press it. If you put it on top, you will be able to push it normally, simply because the box is put on the opposite side.

So I entered so tiny but nice workshop...

Tools !
I have simple dreams that are easily fulfilled



So, it's small, but there's common tooling, which is nice.

In order to cut the rectangular holes, I first drilled little holes with a drill in the corners, so that I can put the blade of the jigsaw and cut straight. This results in dirty big holes in the corner, but I couldn't figure out how to do otherwise... so I guess I'll live with it !

I did my best to cut circles with a heavy jigsaw if my piece of agglomerate wood... Could have been worse !!!

Looking good !


Then, I put the speakers in the dedicated holes, and I tried to put the screen with clothing pins, just to see how it would look like... and it's rather nice ! I will be able to screw the screen, there's little holes in it, and I have some screws for wood that can definitely do the job.

But what's really nice is the sound ! Definitely, wood is the best !



For next time, I definitely need to figure out how the UI should look like, to define what kind of buttons I need. I already did some coding to rewrite my screen functions, they're much better, as you may see. And I need to implement some flash storage of a few variables, namely the alarm time ! I want it to be preserved between reboots, of course. (For the current time, I don't care, I get it with the Karadio thanks to NTP.)

Next time, I'll probably show more about code !
See you !

Comments

Popular posts from this blog

Flashing an STM32 "Blue Pill"

Flashing this STM32 "Blue Pill" board took me 5 hours. I finally recieved my microcontrollers. I have at disposal : A brand new WeMos D1 Mini (it's a smallish NodeMCU) An Arduino Pro Mini (it acts just like a Leonardo, but it lacks some interesting pins sadly :(  ) An STM32F103C8T6, I'll call this the Blue Pill for short. The Arduino Pro Mini has an Arduino bootloader out-of-the-box, so  I could play with it directly. It's nice ! Still, it lacks the double Serial of the original Leonardo, and most importantly, there's no A4 and A5 pins, so libraries for I2C won't work without modification. But the Blue Pill needs more work. Basically, I followed the instructions on this site : http://wiki.stm32duino.com/index.php?title=Installation Since it's quite complicated, consider the following as a tutorial to set up your Blue Pill. I tried different things, the following has worked for me. Before doing anything software-related, while reading the B

Anti-optimization, hardware crumbling apart, GitHub

Today, short post about deceiving software. Remember when last time, I said I had to do optmizations on my code ? Well I tried. And it went worse than I expected ! First, I tried to gather similar codes in some tasks, but it came out they were too heavy for FreeRTOS to handle them correctly, resulting in heap panic... So trying to enhance my code, I worsen it ! So I hard to roll it back. Then, I tried to implement real mutexes for some resources that are shared among the tasks, in particular the screen (and maybe the UART one day, but I can manage to use it only in one task, if I split it in several functions). When I though I understood it and implemented it correctly, it turned out to make the STM32 crash at bootup, and being non recognizable by my PC anymore ! So again, I had to rollback to the previous version. I'm still trying to figure out how to re-design my code, while keeping it runnable on that picky Blue Pill. You can FINALLY find my code on Github ! I suggest

Buttons and alarm

Now I have my buttons. And it didn't go smooth sailing. Before all, let's try to review what I want and how to do that : I want buttons to control the KaRadio. 6 buttons are enough. We will detail them a bit afterwards. I want my buttons to also set an alarm clock. This should stay visible, and should use the already implemented buttons to be modified and set. I want that any push in a button results in changes that are visible on the LCD screen. If the volume changes, I want to see it. If the station changes, well that's already implemented. First, I went to read the documentation on how to operate the GPIO. I knew I needed only to read digital states of the GPIO. At first, I found this document straight from Maple docs : http://docs.leaflabs.com/static.leaflabs.com/pub/leaflabs/maple-docs/0.0.12/libmaple/api/gpio.html It's quite dense, but there is some information. GPIOs must be initialized with gpio_init(), then you need to set their state to output or in