# Project ideas

#### shortbus

Joined Sep 30, 2009
8,475
But the hardest part would likely be calibrating the actually placer. Pick it up a bit off and it would be out of place. It would be nice to see how the real ones do that.

.
The one they used where I worked used a system they called "Vision". A camera that took a picture and compared it to another picture on a computer. They also used "Vision" to measure terminals being made in a die/press this was done with the press making ~1300 parts per minute. It would shut the press down withing ~10 parts when a problem was found. Don't know if "Vision" was something they bought or came up with themselves.

#### Raymond Genovese

Joined Mar 5, 2016
1,658
Reading these lists brought a smile to my face. I make these lists with some regularity and did so as the New Year approached. Granted, they are not all electronic projects but there are so many entries that I fear I need to invest in longevity drugs to plow through them.

Worse, there is no paucity of new project ideas (a blessing and a curse as Mr. Monk might say). I have always carried around a little notepad to jot them down and received a new pack of, particularly appropriate, pads as a gift.

Along those lines, one of the project ideas is actually a display to present the idea “never run out of ideas”. Basically it is a faucet that appears to be suspended in midair with water gushing out and into a small pool. In reality, there is a Plexiglas tube from the pool to the inside of the faucet. A pump, hidden in the pool, forces the water up the tube until it spills out of the spout. With some aeration and coloring (to hide the clear tube), it should be a looker. I didn’t invent this idea, I saw it once when I was a kid and it intrigued me and I never forgot.

But I digress…and I do so because I have some kind of bug/cold. I know where I caught it as well – had lunch with someone a few days ago. She has a one year old child. A one year old is basically an incubator. Their immune systems are developing and are sampling every stinking bug around….and the mothers are carriers!

Anyways, zoned out from the bacteria/virus, I was watching “This Old House”. Great show, I love watching craftsman – especially when they seem to have little "appreciation" for what things cost

I saw a cool device being advertised (here is a link to the segment/episode) -check out the 32-bit microprocessor board at 17:56.

Basically, it is a device to capture water from the air – a hydropanel . More on the device can be found from the manufacturer's site.

OK, before I get shelled with “you can’t get there from here” – I read a lot of the product's specs - it is incredibly expensive – unless of course, you need water and can’t get it anywhere else.

I also am intrigued by the sponge material. The principle, however, is not novel – anyone who knows about the dew point or has played with a Peltier device, likely knows how to extract water out of air.

The project, that I think would be cool, is to build a small one….a hand-held, if you will. It could make a decent academic project…especially if you could get the price down. I mean, I have seen worse.

Time to go get some lemon and honey….&@&^ kids!

#### philba

Joined Aug 17, 2017
960
Get better soon Raymond. My SIL had the flu and has been down for about a week now.

I don't know about this water extractor but why isn't this just a fancy refrigeration unit with the evaporation coils shaped in a way to direct the condensation into a container. Probably add some sort of air pump on a low duty cycle for aeration (distilled water is kind of blah). Maybe a UV sanitizer light to kill off Legionaires Disease and such. What does the high tech material add to the party?

#### Raymond Genovese

Joined Mar 5, 2016
1,658
Get better soon Raymond. My SIL had the flu and has been down for about a week now.

I don't know about this water extractor but why isn't this just a fancy refrigeration unit with the evaporation coils shaped in a way to direct the condensation into a container. Probably add some sort of air pump on a low duty cycle for aeration (distilled water is kind of blah). Maybe a UV sanitizer light to kill off Legionaires Disease and such. What does the high tech material add to the party?
Well, I'm not sure...I am running this through my head.

I think it is a fancy refrigerator or rather, a specialized refrigerator - one that does what it is supposed to do off of some solar panels. So, that is the first impressive thing to me. What is doing the cooling? I don't see any mention of refrigerant or coolant. The FAQ mentions annual replacement of the "polishing cartridge". Are you saying that it is not a Peltier device for controlled cooling? Watch the first video at about 16:00 in and listen to how the guy says it is not like a window air conditioner - he is suggesting that they are not passing warm air over cold coils...not sure exactly what he is suggesting.

They have some niceties, such as a stage to add minerals (for taste) as well as a reservoir.

As I understand it, the dew point is going to determine how much cooler you have to make an "inside surface", to have the moisture from the outside air condense onto the cooler surface. The mystery material, what I am calling a sponge, may be a way of increasing the surface area and maximizing the condensation....maybe.

The 32-bit microprocessor board may be managing the solar energy produced? I don't know if there is any storage battery at all, but the idea would be to to not over-cool - again, I am just running it through my mind.

So, if you had a one liter bottle with spreadable solar panels on the side that could be brought to an upright position......dunno.

#### nsaspook

Joined Aug 27, 2009
8,279
I was also researching using a hard drive for a POV clock and ran across measuring back EMF to calculate RPM. I have already designed and built an optical tachometer for my engraving machine. It was fun to build and works great but what I don't like about it is the wires for the sensor and sensor itself get in the way. I could eliminate all of that with back EMF.
I loved that hard drive POV clock link. I'm playing with an old hard drive and led strobes. You need a very good index/start of rotation edge for a stable image. I don't think just back EMF will give you that.
Rube Goldberg HD POV edition.

Gear sensor for metal tab on disk platter (painted flat black) hole with white tape indicator line.

PICDEM 4 with 18f1320 at 40MHz fosc driving a green LED strobe with uln2803 drivers.
Two line counter-rotation demo. Poor cell-phone video because of flashing and movement.
Index pulse to strobe pulse timing.
https://github.com/nsaspook/hd_pov.git
It's in C18 (pat.c) because the original source was from an old 18F1320 project.

Last edited:

#### philba

Joined Aug 17, 2017
960
Well, I'm not sure...I am running this through my head.

I think it is a fancy refrigerator or rather, a specialized refrigerator - one that does what it is supposed to do off of some solar panels. So, that is the first impressive thing to me. What is doing the cooling? I don't see any mention of refrigerant or coolant. The FAQ mentions annual replacement of the "polishing cartridge". Are you saying that it is not a Peltier device for controlled cooling? Watch the first video at about 16:00 in and listen to how the guy says it is not like a window air conditioner - he is suggesting that they are not passing warm air over cold coils...not sure exactly what he is suggesting.

They have some niceties, such as a stage to add minerals (for taste) as well as a reservoir.

As I understand it, the dew point is going to determine how much cooler you have to make an "inside surface", to have the moisture from the outside air condense onto the cooler surface. The mystery material, what I am calling a sponge, may be a way of increasing the surface area and maximizing the condensation....maybe.

The 32-bit microprocessor board may be managing the solar energy produced? I don't know if there is any storage battery at all, but the idea would be to to not over-cool - again, I am just running it through my mind.

So, if you had a one liter bottle with spreadable solar panels on the side that could be brought to an upright position......dunno.
After watching the section of the video I think I understand. There may not be any active cooling at all. The device uses the "wings" to heat the air well above ambient and then uses the ambient temp for the cool side. The sponge material probably is used as a buffer to absorb moisture at night and release it when the wings get hot from the sun. They probably run a fan to pull air into the sponge chamber. Clever, semi-passive design.

The solar panel probably just powers the processor, water pump, UV sterilizer and air fan(s). The "32 bit board" looks like a motor controller and probably a solar battery manager.

It think the biggest knock against it is for the size you get "a couple of gallons a day" which means to me maybe a gallon a day. The limiting factor is the amount of sponge surface to absorb air moisture during the off cycle.

Based on the size for a couple of gallons/day, your liter bottle version would have to be maybe 1/4 the size of the big one.

Last edited:

#### atferrari

Joined Jan 6, 2004
4,280
I will create a new thread that won't be closed. I am looking for general project ideas. Perhaps this thread can be dedicated for people that have various ideas or want to use the thread as a resources.

Some of my current ideas for projects are.

Etchent agitator built from a scanner (this is my current project)

A couple of different POV clocks.

Remote for a tablet PC for volume, maybe even power.

Washer / dryer notifier that would plug into Kodi multimedia application and/ or a cell phone.

Land line caller ID that would plug into Kodi, assuming I still have a land line by the time I get to this.

A Skittle sorter. I really don't like Skittles but seems like a fun project.

A ball launcher. Mentioned in another thread by another member. I don't have a dog or kids but seems like a fun project.

OK so what are your ideas?
Hola sp,

Your idea reminds me the typical recurrent post in many forums where they list good / interesting sites about a certain subject (datasheets, buying components, etc). As the thread progresses along time, it grows longer and longer with more and more post thus having less and less chances that a newcomer would read it completely maybe missing the "right" post with the gem of information he was looking for. Illusory is a dear word for lawyers and quite true for this case.

I do not know if it is feasible but I am sure that, to encourage the reading of the whole list, the OP should be just one, consisting of a sober (surely LONG) list updated every time a contributor brings something new into consideration. And the list should entail only, the mention of each project. (Maybe with a reference to a further post where the project is explained?)

I am not criticizing the conversational part where any of us could say this or that about one project in particular (what is a forum for, if not?) but then, for anyone who comes here trying to dig into potential projects, it would be necessary to read the thread in full. (As you know, people rarely does that). And the certainly inspiring info would end like it not existed at all.

There is a forum where they decided to list, post after post, mentions of magazines or places where to buy things. IIRC there were at a certain moment 50++ posts.

I suggested to make it a long, properly ordered single post but it kept going as started. Last time I checked, it was lying (dying?) ignored.

#### nsaspook

Joined Aug 27, 2009
8,279
Rube Goldberg HD POV edition.
Rube Goldberg HD POV edition V2.
4 position LED flasher.

mplabx 5.10 MCC with XC8 V2.00 C99 mode. Some of the code is leftover from the RGB line flasher version.
Source Code:
https://github.com/nsaspook/25k22_hd_pov

ISR latency and jitter from hall sensor trigger.
Uses a simple SM sequencer to update pattern datas to the HD display line converter SM.
C:
switch (V.s_state) {
case SEQ_STATE_INIT:
V.s_state = SEQ_STATE_SET;
break;
case SEQ_STATE_SET:
V.soft_timer0 = false;
V.s_state = SEQ_STATE_TRIGGER;
break;
case SEQ_STATE_TRIGGER:
if (V.soft_timer0 && scan_update(L_ptr_next, symbol)) {
V.s_state = SEQ_STATE_DONE;
LED6 = ~LED6;
}
break;
case SEQ_STATE_DONE:
symbol++;
if (symbol >= MAX_SYMBOL)
symbol = 0;
V.s_state = SEQ_STATE_SET;
break;
case SEQ_STATE_ERROR:
default:
V.s_state = SEQ_STATE_INIT;
symbol = 0;
break;
}
C:
//from symbol.h file
/*
* disk position to led pattern data for numeric sequence number
*/
const uint8_t s_array[] = {
0b0000,
0b0001,
0b0010,
0b0011,
0b0100,
0b0101,
0b0110,
0b0111,
0b1000,
0b1001,
0b1010,
0b1011,
0b1100,
0b1101,
0b1110,
0b1111,
0b0001,
0b0010,
0b0100,
0b1000,
0b0100,
0b0010,
0b0001,
0b0000,
0b0110,
0b1110,
0b0111,
0b1011,
0b1001,
0b1100,
0b0110,
0b0011,
};

//from the main program thread, updates the data running in the ISR.
bool scan_update(struct L_data * L, uint8_t symbol)
{
struct L_data *scan = L;
if (V.update_sequence)
return false;
scan->sequence.R = s_array[symbol]&1;
scan++;
scan->sequence.G = s_array[symbol] >> 1 & 1;
scan++;
scan->sequence.B = s_array[symbol] >> 2 & 1;
scan++;
scan->sequence.A = s_array[symbol] >> 3 & 1;
V.update_sequence = true; // flag buffer switch when sequence is complete
return true;
}
The EXT0 interrupt is connected to the HALL sensor.
C:
void INT0_DefaultInterruptHandler(void)
{
LED1 = ~LED1;
LED3 = 1;
LED4 = 1;
if (PIR4bits.CCP4IF) {
LED5 = ~LED5;
PIR4bits.CCP4IF = 0;
}
if (!V.rpm_overflow) {
if (!V.rpm_update) {
V.rpm_counts_prev = V.rpm_counts;
V.rpm_update = true;
}
LED5 = ~LED5;
}
TMR5_WriteTimer(0);
// line rotation sequencer
// Hall effect index signal, start of rotation
if (V.l_state == ISR_STATE_LINE) { // off state too long for full rotation, hall signal while in state
V.l_full += strobe_adjust; // off state lower limit adjustments for smooth strobe rotation
}
V.l_state = ISR_STATE_FLAG; // restart lamp flashing sequence, off time
/* interlock the main program updates and pointer updates at sequence end */
if (V.update_array && V.update_sequence) {
V.update_sequence = false;
V.l_buffer = ~V.l_buffer; // switch line buffer selector
}
V.update_array = false;
switch (V.l_buffer) {
case 0:
L_ptr = &L0[V.line_num]; // select line strobes data 0
L_ptr_next = &L1[0];
break;
default:
L_ptr = &L1[V.line_num]; // select line strobes data 1
L_ptr_next = &L0[0];
break;
}
V.rotations++;
/* limit rotational timer values during offsets */
switch (L_ptr->sequence.down) {
case false:
L_ptr->strobe += L_ptr->sequence.offset;
if (L_ptr->strobe < V.l_full)
L_ptr->strobe = V.l_full; // set to sliding lower limit
break;
default:
L_ptr->strobe -= L_ptr->sequence.offset;
if (L_ptr->strobe < V.l_full)
L_ptr->strobe = strobe_limit_h;
break;
}
V.line_num++;
if (L_ptr->sequence.end || (V.line_num >= strobe_max)) { // rollover for sequence patterns
V.line_num = 0;
V.update_array = true;
V.sequences++;
}
// start line RGB pulsing state machine using current lines pointer
WRITETIMER1(L_ptr->strobe); // strobe positioning during rotation
T1CONbits.TMR1ON = 1;
G_OUT = 0;
R_OUT = 0;
B_OUT = 0;
A_OUT = 0;
V.l_state = ISR_STATE_LINE; // off time after index to start time
V.rpm_overflow = false;
}
Timer1 handles the actual strobe count timing.
C:
void TMR1_DefaultInterruptHandler(void)
{
// or set custom function using TMR1_SetInterruptHandler()
// line RGB pulsing state machine using current lines pointer
switch (V.l_state) {
case ISR_STATE_FLAG:
WRITETIMER1(L_ptr->strobe); // strobe positioning during rotation
T1CONbits.TMR1ON = 1;
G_OUT = 0;
R_OUT = 0;
B_OUT = 0;
A_OUT = 0;
V.l_state = ISR_STATE_LINE; // off time after index to start time
break;
case ISR_STATE_LINE:
WRITETIMER1(V.l_width);
LED3 = false;
if (!L_ptr->sequence.skip) {
if (L_ptr->sequence.R)
R_OUT = 1;
if (L_ptr->sequence.G)
G_OUT = 1;
if (L_ptr->sequence.B)
B_OUT = 1;
if (L_ptr->sequence.A)
A_OUT = 1;
}
V.l_state = ISR_STATE_WAIT; // on start time duration for strobe pulse
break;
case ISR_STATE_WAIT: // waiting for next HALL sensor pulse
case ISR_STATE_DONE:
default:
T1CONbits.TMR1ON = 0; // idle timer
G_OUT = 0; // blank RGB
R_OUT = 0;
B_OUT = 0;
A_OUT = 0;
V.l_state = ISR_STATE_DONE; // on start time duration for strobe pulse
break;
}
}

Last edited: